Ir para conteúdo

[NEW] Spells Info


Roksas

Posts Recomendados

Spells Info!

 

 

divisor.png

 

Iaaae galerinha, tudo bãao? Criei este código bem legal e vim trazer para vocês, ele mostra as informações das spells (Level, mana, nome, words, etc)

 

 

Instalação

 

 

divisor.png

Vá em data/talkactions/scripts, copie algum arquivo da pasta e cole, renomeie para spells_info.lua e adicione dentro:

 

 

function onSay(cid, words, param)

if param == "" or not param then
doPlayerSendTextMessage(cid, 27, "This command requires a parameter.") return true end

if not info then
doPlayerSendTextMessage(cid, 27, "This spell not exists.") return true end

local infos = {
["exori"] = {name = "Berserk", mana = getInstantSpellInfo(cid, "Berserk").mana, level = getInstantSpellInfo(cid, "Berserk").level, words = getInstantSpellInfo(cid, "Berserk").words},
["exori gran"] = {name = "Fierce Berserk", mana = getInstantSpellInfo(cid, "Fierce Berserk").mana, level = getInstantSpellInfo(cid, "Fierce Berserk").level, words = getInstantSpellInfo(cid, "Fierce Berserk").words},
["exura"] = {name = "Light Healing", mana = getInstantSpellInfo(cid, "Light Healing").mana, level = getInstantSpellInfo(cid, "Light Healing").level, words = getInstantSpellInfo(cid, "Light Healing").words},
["utani hur"] = {name = "Haste", mana = getInstantSpellInfo(cid, "Haste").mana, level = getInstantSpellInfo(cid, "Haste").level, words =  getInstantSpellInfo(cid, "Haste").words},
["exori mort"] = {name = "Death Strike", mana = getInstantSpellInfo(cid, "Death Strike").mana, level = getInstantSpellInfo(cid, "Death Strike").level, words =  getInstantSpellInfo(cid, "Death Strike").words},
["exori flam"] = {name = "Flame Strike", mana = getInstantSpellInfo(cid, "Flame Strike").mana, level = getInstantSpellInfo(cid, "Flame Strike").level, words =  getInstantSpellInfo(cid, "Flame Strike").words},
["exori vis"] = {name = "Energy Strike", mana = getInstantSpellInfo(cid, "Energy Strike").mana, level = getInstantSpellInfo(cid, "Energy Strike").level, words =  getInstantSpellInfo(cid, "Energy Strike").words},
["exori hur"] = {name = "Whirlwind Throw", mana = getInstantSpellInfo(cid, "Whirlwind Throw").mana, level = getInstantSpellInfo(cid, "Whirlwind Throw").level, words =  getInstantSpellInfo(cid, "Whirlwind Throw").words},
["exevo gran mas frigo"] = {name = "Eternal Winter", mana = getInstantSpellInfo(cid, "Eternal Winter").mana, level = getInstantSpellInfo(cid, "Eternal Winter").level, words =  getInstantSpellInfo(cid, "Eternal Winter").words},
["exevo gran mas tera"] = {name = "Wrath of Nature", mana = getInstantSpellInfo(cid, "Wrath of Nature").mana, level = getInstantSpellInfo(cid, "Wrath of Nature").level, words =  getInstantSpellInfo(cid, "Wrath of Nature").words},
["exori frigo"] = {name = "Ice Strike", mana = getInstantSpellInfo(cid, "Ice Strike").mana, level = getInstantSpellInfo(cid, "Ice Strike").level, words =  getInstantSpellInfo(cid, "Ice Strike").words},
["exori tera"] = {name = "Terra Strike", mana = getInstantSpellInfo(cid, "Terra Strike").mana, level = getInstantSpellInfo(cid, "Terra Strike").level, words =  getInstantSpellInfo(cid, "Terra Strike").words},
["exevo tera hur"] = {name = "Terra Wave", mana = getInstantSpellInfo(cid, "Terra Wave").mana, level = getInstantSpellInfo(cid, "Terra Wave").level, words =  getInstantSpellInfo(cid, "Terra Wave").words},
["exevo mas san"] = {name = "Divine Caldera", mana = getInstantSpellInfo(cid, "Divine Caldera").mana, level = getInstantSpellInfo(cid, "Divine Caldera").level, words =  getInstantSpellInfo(cid, "Divine Caldera").words},
["exevo gran mas flam"] = {name = "Hells Core", mana = getInstantSpellInfo(cid, "Hells Core").mana, level = getInstantSpellInfo(cid, "Hells Core").level, words =  getInstantSpellInfo(cid, "Hells Core").words},

}  

local info = infos[param]

doShowTextDialog(cid, 8983, "### -->	   Informations		  <-- ###\n\nName: "..info.name.."\nMana: "..info.mana.."\nLevel: "..info.level.."\nWords: "..info.words.."\n")
return true
end

 

 

Em talkactions.xml adicione a tag:

 

<talkaction log="yes" words="!spell" event="script" value="spells_info.lua"/>

 

Configuração

 

 

divisor.png

Já foram adicionadas 15 spells nesse comando, para adicionar mais, debaixo da:

 

["exevo gran mas flam"] = {name = "Hells Core", mana = getInstantSpellInfo(cid, "Hells Core").mana, level = getInstantSpellInfo(cid, "Hells Core").level, words =  getInstantSpellInfo(cid, "Hells Core").words},

 

Você adiciona outra linha igualzinha, com vírgula no final, apenas edita os nomes nela. Muda o exevo gran mas flam para as palavras da magia que quer e Hells Core muda para o nome da spell, que fica em spells.xml.

 

 

Demonstração

 

 

divisor.png

2i7wpbp.jpg

 

Usando o !spell exori

 

 

Finalizações

 

 

divisor.png

É isso galerinha, espero que tenham gostado, qualquer dúvida só perguntar, não se intimidem :)

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

Seria mais interessante você ter usado a função de abrir os arquivos e pesquisar..

 

imagina um servidor ter 200 mágias e você ter que fazer 200 vezes, seria mais interessante fazer uma função que leia todos os arquivos xml das pastas spells e separar as informações ..

Link para o comentário
Compartilhar em outros sites

Vou procurar fazer isso na V2 :)

Olha cara, nessa versão são poucas informações (Level, name, words, mana)

 

Depois vou abrir as sources e ver a tabela que retorna a função getInstantSpellInfo, só achei essas mesmo!

Obrigado :)

Link para o comentário
Compartilhar em outros sites

Atualiza isso ai, faz uma função que retorna io.open(C://Arquivos de Programa, blablabla)

Talvez ficaria assim, to com preguiça de tentar fazer algo direitin.

 

local a = io.open(C://Arquivos de Programa/Baiak 8.6/Data/Spells/spells.xml)
function getSpellList(cid, spell, name, mana)
return a
end
doPlayerPopupFyi(cid, a)
end

 

Ai o resto tu faz ai direitin.

Editado por Gears
Link para o comentário
Compartilhar em outros sites

Tava lagando muito quando usei isso aki ai então mudei assim ai agora ficou melhorhappy.png

 

function onSay(cid, words, param)

 

if param == "" or not param then

doPlayerSendTextMessage(cid, 27, "This command requires a parameter.") return true end

 

if not info then

doPlayerSendTextMessage(cid, 27, "This spell not exists.") return true end

 

local infos = {

["exori"] = {name = "Berserk", mana = getInstantSpellInfo(cid, "Berserk").mana, level = getInstantSpellInfo(cid, "Berserk").level, words = getInstantSpellInfo(cid, "Berserk").words},

["exori gran"] = {name = "Fierce Berserk", mana = getInstantSpellInfo(cid, "Fierce Berserk").mana, level = getInstantSpellInfo(cid, "Fierce Berserk").level, words = getInstantSpellInfo(cid, "Fierce Berserk").words},

["exura"] = {name = "Light Healing", mana = getInstantSpellInfo(cid, "Light Healing").mana, level = getInstantSpellInfo(cid, "Light Healing").level, words = getInstantSpellInfo(cid, "Light Healing").words},

["utani hur"] = {name = "Haste", mana = getInstantSpellInfo(cid, "Haste").mana, level = getInstantSpellInfo(cid, "Haste").level, words = getInstantSpellInfo(cid, "Haste").words},

["exori mort"] = {name = "Death Strike", mana = getInstantSpellInfo(cid, "Death Strike").mana, level = getInstantSpellInfo(cid, "Death Strike").level, words = getInstantSpellInfo(cid, "Death Strike").words},

["exori flam"] = {name = "Flame Strike", mana = getInstantSpellInfo(cid, "Flame Strike").mana, level = getInstantSpellInfo(cid, "Flame Strike").level, words = getInstantSpellInfo(cid, "Flame Strike").words},

["exori vis"] = {name = "Energy Strike", mana = getInstantSpellInfo(cid, "Energy Strike").mana, level = getInstantSpellInfo(cid, "Energy Strike").level, words = getInstantSpellInfo(cid, "Energy Strike").words},

["exori hur"] = {name = "Whirlwind Throw", mana = getInstantSpellInfo(cid, "Whirlwind Throw").mana, level = getInstantSpellInfo(cid, "Whirlwind Throw").level, words = getInstantSpellInfo(cid, "Whirlwind Throw").words},

["exevo gran mas frigo"] = {name = "Eternal Winter", mana = getInstantSpellInfo(cid, "Eternal Winter").mana, level = getInstantSpellInfo(cid, "Eternal Winter").level, words = getInstantSpellInfo(cid, "Eternal Winter").words},

["exevo gran mas tera"] = {name = "Wrath of Nature", mana = getInstantSpellInfo(cid, "Wrath of Nature").mana, level = getInstantSpellInfo(cid, "Wrath of Nature").level, words = getInstantSpellInfo(cid, "Wrath of Nature").words},

["exori frigo"] = {name = "Ice Strike", mana = getInstantSpellInfo(cid, "Ice Strike").mana, level = getInstantSpellInfo(cid, "Ice Strike").level, words = getInstantSpellInfo(cid, "Ice Strike").words},

["exori tera"] = {name = "Terra Strike", mana = getInstantSpellInfo(cid, "Terra Strike").mana, level = getInstantSpellInfo(cid, "Terra Strike").level, words = getInstantSpellInfo(cid, "Terra Strike").words},

["exevo tera hur"] = {name = "Terra Wave", mana = getInstantSpellInfo(cid, "Terra Wave").mana, level = getInstantSpellInfo(cid, "Terra Wave").level, words = getInstantSpellInfo(cid, "Terra Wave").words},

["exevo mas san"] = {name = "Divine Caldera", mana = getInstantSpellInfo(cid, "Divine Caldera").mana, level = getInstantSpellInfo(cid, "Divine Caldera").level, words = getInstantSpellInfo(cid, "Divine Caldera").words},

["exevo gran mas flam"] = {name = "Hells Core", mana = getInstantSpellInfo(cid, "Hells Core").mana, level = getInstantSpellInfo(cid, "Hells Core").level, words = getInstantSpellInfo(cid, "Hells Core").words},

 

}

 

local info = infos[param]

 

doShowTextDialog(cid, 8984, "### --> Informations <-- ###\n\nName: "..info.name.."\nMana: "..info.mana.."\nLevel: "..info.level.."\nWords: "..info.words.."\n")

return true

 

end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...