Err, pra que serve essa função
Seria bem util se ela checasse a magia e em vez de amostrar o nome, fizer a magia, serei uma revolução em sentido de m1~m12 de poketibia
Caso fizer me mande PM OK? Rep++ ![]()
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

Err, pra que serve essa função
Seria bem util se ela checasse a magia e em vez de amostrar o nome, fizer a magia, serei uma revolução em sentido de m1~m12 de poketibia
Caso fizer me mande PM OK? Rep++ ![]()
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Se você conseguisse pensar grande em lua poderia entender a utilidade da função.
info
Grupo: Cavaleiro
Registrado: 23/04/11
Posts: 161
Reputação: +23
Char no Tibia: Daknia

Ou ao invés de voltar a Spell, poderia ter uma chance de Ativar um Buff
Exemplo: Spell = "Exevo mas San" Chance de voltar buff de almentar skill.
Só uma idéia ![]()
Err, pra que serve essa função
Seria bem util se ela checasse a magia e em vez de amostrar o nome, fizer a magia, serei uma revolução em sentido de m1~m12 de poketibia
Caso fizer me mande PM OK? Rep++
o sistema de m1 a m10 que fiz por enquanto é tudo baseado nas spells, eu checo a posição do summon e executo a partir dela, so q n fiz em lua. e essa funcao q ele fez é perfeita, nao so codigo, mais o q ela pode fazer em todas as areas se vc souber um pouquinho de programacao
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder
Faaaaala galera! Tranquilo? Mas uma função feita à pedidos, que eu pude fazer hoje a tarde e vou apresentá-los a ela.
Como funciona: O parâmetro usado deve ser as palavras necessárias para ativar a spell. O script vai retornar o nome da spell referente aquelas palavras. Se não existir, simplesmente irá dar erro.
Função
function getSpellName(spellwords) local info = io.open("data/spells/spells.xml", "r") local spell = info:read("*all") local line = nil local d = nil local finish = nil local start = nil for s, st in pairs(lines(spell)) do if string.find(st, spellwords) and string.sub(st, string.find(st, spellwords) + #spellwords, string.find(st, spellwords) + #spellwords) == '"' and string.find(st, "words", string.find(st, spellwords) + #spellwords) == nil then line = lines(spell)[s] break end end if line == nil then return error("Spell not found") end for i = 1, #line do if string.sub(line, i, i +3) == "name" then d = 1 end if string.sub(line, i, i) == '"' then if d == 1 then start = i + 1 d = 2 elseif d == 2 then finish = i - 1 d = 3 end end end return string.sub(line, start, finish) end function lines(str) local t = {} local j = {} local c = nil for i = 1, #str do if i == 1 then table.insert(t, 1) elseif string.byte(string.sub(str, i, i)) == 10 then table.insert(t, i) end end for i = 1, #t do c = t[i+1] and t[i+1] -1 table.insert(j, string.sub(str, t[i], c)) end return j endExemplo:
getSpellName("exevo mas san") retorna Divine CalderaEntão é isso galera, acho que não há nenhum bug. Eu precisei usar uma outra função que eu criei, portanto, não retirem ela.
Aproveitem, e até a próxima.