Ir para conteúdo

[TalkAction] Spell informations


Skymagnum

Posts Recomendados

Tipo: Talkaction.

Autor:Eu e o Maxwelden(não sei escreve nome dele heuheeuhe).


Vá em /data/talkactions/scripts, crie um arquivo .lua e renomeie para spellinfo, e adicione isso dentro:

 

 

function getSpellAttribute(name, att)
       local file = io.open("data/spells/spells.xml", "r")
       for info in string.gmatch(file:read("*a"), "<instant(.-)</instant>") do
               if tostring(info:match("name=\"(.-)\"")):lower() == name:lower() then
                       local att = info:match(att .. "=\"(.-)\"")
                       return tonumber(att) or tostring(att)
               end
       end
       file:close()

       return nil
end

function getSpellAttributes(name)
       local atts = {"instantName", "words", "lvl", "mana", "prem", "exhaustion", "groups", "icon", "needlearn", "vocations",}
       local att = {}
       for _, v in pairs(atts) do
               att[v] = getSpellAttribute(name, v)
       end

       return att
end

function onSay(cid, words, param, channel)

local file = io.open("data/spells/spells.xml", "r")
local openFile = file:read("*a")

   local names = {}
   local str = ""

   for i in openFile:gmatch('<instant(.-)</instant>') do
       local name = tostring(i:match('name="(.-)"'))
       table.insert(names, name)
   end

   if not isInArray(names, param) then
      doPlayerSendCancel(cid, "Essa magia não existe.") return true
   end

   for k, v in in pairs(getSpellAttributes(param)) do
       str = str .. k .. " = " .. v
   end

   doShowTextDialog(cid, 2160, str)
   return true
end

 

em talkactions.xml adicione essa linha:

<talkaction log="yes" words="/spell" script="spellinfo.lua"/>


Qualquer erro comente e eu arrumarei.

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

×
×
  • Criar Novo...