Faala pessoal do XTibia! Hoje venho aqui postar a primeira função que eu fiz, adicionei na lib e deu certo HAHA. Eu não encontrei nenhum erro, então vai lá a explicação:
Utilidade: A função summona um monstro (que não ataca o jogador) e remove o monstro depois de tantos segundos.
Foi bem fácil, em data/lib abre o arquivo functions e cola isto no final, ou em algum lugar dele:
function doRemoveSummon(cid, name, time) if isMonster(getCreatureByName(name)) then if (type(time) == "number" and time) > 0 then doSummonMonster(cid, name) for _, monsters in ipairs(getCreatureSummons(cid)) do addEvent(doRemoveCreature, time*1000, monsters) end return TRUE end return error("Time must be a number higher than 0!") end return error("Creature not found!") end
Então, bem fácil certo? Vamos aos exemplos de uso:
Talkaction:
function onSay(cid, words, param) if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return TRUE end return doRemoveSummon(cid, param, 10) end
Action:
function onUse(cid, item) local sec = 30 local mon = 'demon' if getPlayerStorageValue(cid, 15692) - os.time() <= 0 then doRemoveSummon(cid, mon, sec) doSendAnimatedText(getPlayerPosition(cid), "Your pet will die in "..sec.." seconds.", TEXTCOLOR_ORANGE) setPlayerStorageValue(cid, 15692, sec + os.time()) end return TRUE end
É isso, bem simples mesmo, espero que ainda não exista algo assim, e lembrando que vai remover todos os summons, porque a função que eu usei é getPlayerSummons. Valeu.