Boa ideia Roksas!
Parabéns.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Boa ideia Roksas!
Parabéns.
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 ..
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

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 ![]()
info
Grupo: Banidos
Registrado: 11/01/13
Posts: 576
Reputação: +109
Char no Tibia: Darashia del Shee

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 Abril 23 por Gears
info
Grupo: Campones
Registrado: 05/09/11
Posts: 32
Reputação: -1
Char no Tibia: Lord Horkremo

Tava lagando muito quando usei isso aki ai então mudei assim ai agora ficou melhor![]()
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
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino
Spells Info!
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
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 endEm talkactions.xml adicione a tag:
Configuração
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
Usando o !spell exori
Finalizações
É isso galerinha, espero que tenham gostado, qualquer dúvida só perguntar, não se intimidem
Editado Abril 23 por Roksas