Muita coragem... huehuehue
Muito difícil conflitar storages, só aconteceu uma vez comigo...
Muita coragem... huehuehue
Muito difícil conflitar storages, só aconteceu uma vez comigo...
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Muita coragem... huehuehue
Muito difícil conflitar storages, só aconteceu uma vez comigo...
E nunca aconteceu isso comigo.
Mais se alguém quiser testar algo mais fundo.
Tinha insertar todos os valores numa table e verificar se não tem repetição.
Editado Junho 9 por caotic
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

require( "ex" )
local t = {os.currentdir()}
function SearchFiles(path, result)
for e in assert(os.dir(path)) do
if e.type == 'directory' then
table.insert(t, e.name)
SearchFiles(table.concat(t, "\\"), result)
elseif string.find(e.name, ".lua") then
local file = io.open(table.concat(t, "\\").."\\"..(e.name), 'r')
if file then
local txt = file:read("*all")
for i in string.gmatch(txt, "setPlayerStorageValue%(%a*, (%d+), %d*%)") do
result:write(i.."\t\t"..table.concat(t,"\\").."\\"..e.name.."\n")
end
for i in string.gmatch(txt, "sto = (%d+)") do
result:write(i.."\t\t"..table.concat(t,"\\").."\\"..e.name.."\n")
end
for i in string.gmatch(txt, "storage = (%d+)") do
result:write(i.."\t\t"..table.concat(t,"\\").."\\"..e.name.."\n")
end
file:close()
end
end
end
if #t > 1 then table.remove(t) end
end
local result = io.open("results.txt", "a+")
SearchFiles('.', result)
result:close()
eh eh, nao fico la um codigo muito bonito kk' mas n ta levando nem 2seg para rodar a pasta toda... o problema eh q muitas vezes o cara usa outras variaveis para por a storage... dai eh complicado... ;p
Editado Junho 27 por Slicer
pow vê se eu intendi...
isso é um script que procura e te mostra todas as storages usadas em jogo? (se for nossa muito perfeito pra mim, tava precisando disso)
e como que instala este script?
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

como flei, ele n da TODASSSSSS as storages... ja q tu pode ta usando alguma variavel diferente para storage em alguns scripts... mais concerteza lhe dara boa parte...
eh soh baixar isso...
http://code.google.com/p/luaforwindows/downloads/list
dai instala... depois vai em C:\Program Files\Lua\5.1\SciTE\ e abre o SciTE.exe ... dai cola esse codigo la no editor, salva com a extensao .lua ... dai pega o arquivo, .lua, q foi criado, e coloca na pasta data/ do teu serv... dai abre esse arquivo denovo com o SciTE.exe e aperta F5... dai vai ser criado um arquivo chamado results.txt com as storages e o arquivo aonde essa storage foi chamada...
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Da pra pegar todas checando se aquela variável esta sendo usada em uma função de storage, se fazer bem feito roda em até 3.5 segs.
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Bem..
Tava conversando com o eventide sobre um verificador de storages para otserv.
Basicamente ele rodaria todo seu otserv em busca de storages e te desse o valor delas.
Antes de realizar o programa tem que fazer sua estrutura.
Então fiz a função que iria buscar os valores e as storages:
local str = "setPlayerStorageValue(cid, 23232, 1+2)\nsetPlayerStorageValue(cid, 211, 8)\n x(x, y)\n setPlayerStorageValue(cid, 2322, 1)\n" function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result end function findStr(str, x) _ = "" for i in str:gmatch("setPlayerStorageValue(.-)\n") do explode = string.explode(i, ",") value = string.sub(explode[3], 1, #explode[3]-1) if x then y = loadstring('return (' .. value .. ')')() end _ = _.." \n" s = _..explode[2] _ = s.." Value = "..y or 'Not Value'.."" end return _ end print(findStr(str, true))Já penso roda isto no seu otserv todo.
Melhor ficarem so com a função e se quiserem usar no seu otserv.
Recomendo a blibioteca lua file system e coragem.
Abs
Editado Junho 6 por caotic