SK

getData(arc, data[,s = "="])

Por Skymagnum, 11 de nov. de 2013 em Mods, funções e outros

4
878
SkymagnumS
11 de novembro de 2013 às 00:53
function getData(arc, data, s)
 
    local function explode(e, sep)
        local result = {}    e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end)
        return result
    end
 
    local file = io.open(arc, "r")
    for lines in file:lines() do
        local val = explode(lines, s or "=")
        if val[1] == tostring(data) then
            return val[2]
        end
    end
 
    return nil
end

100000 linhas = 3.062

1000000 linhas = 29.906

 

Até que funciona bem, pois é muito raro alguém usar 100000 linhas de "storages".

Editado Novembro 11 por Skymagnum

VodkartV
11 de novembro de 2013 às 10:14

me da um exemplo no uso dessa função

AlexclusiveA
11 de novembro de 2013 às 10:20

Tambem historia de ver um exemplo.

Sendo assim, todos irão entender a funcionalidade dessa função.

 

Abraço

SkymagnumS
11 de novembro de 2013 às 21:39
local dir = "C:/Documents and Settings/joao/Meus documentos/CSX/test"
 
print(getData(dir .. ".txt", 3213, "="))

>> 1

 

Oque tem no arquivo:

8213=5
3213=1
Você pode salvar com nome de jogadores, ou pela USGN(no caso do cs2d).

Editado Novembro 11 por Skymagnum