Ir para conteúdo

Featured Replies

Postado

Bom, estou com um erro no meu distro. Toda vez que eu tento usar o pokemon dentro do DP aparece só o nome "Go, charmander" e da o seguinte erro:

 

[29/03/2016 20:00:11] [Error - Action Interface]

[29/03/2016 20:00:11] data/actions/scripts/goback.lua:onUse

[29/03/2016 20:00:11] Description:

[29/03/2016 20:00:11] (luaDoCreatureAddHealth) Creature not Found

 

Spoiler

Golback Script:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
function getPokemonMaxLife(name)
        local file = io.open('data/monster/monsters.xml','r')
        local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
        file:close()
        local data = io.open('data/monster/'..(arquivo or ''),'r')
        if not data then
            return 100
        end
        local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
        data:close()
        return maximo
end
----- Config -----
local MaximoSummon = 1
local nome = getItemName(item.uid)
local poke_name = nome:match('(.-) Pokeball')
local summons = getCreatureSummons(cid)
local action_id = getItemAttribute(item.uid, "aid")
----- Config -----
    if getItemAttribute(item.uid, "aid") == -1 then
    return doPlayerSendCancel(cid, "Seu pokemon está morto.")
    end    

    if getPlayerStorageValue(cid, 25000) == 5 then       
    return doPlayerSendCancel(cid, "Você está montando.")
    end
    if getPlayerStorageValue(cid, 23000) == 5 then
    return doPlayerSendCancel(cid, "Você está voando.")
    end
local summons = getCreatureSummons(cid)
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "Para Soltar seus pokemons, coloque-os no slot da pokeball.")
return TRUE
end
if(table.maxn(summons) < MaximoSummon) then -- no summons
creature = doSummonCreature(poke_name, getCreaturePosition(cid))
doConvinceCreature(cid, creature)
registerCreatureEvent(creature, "DiePoke")
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(cid, "LogoutPoke")
doPlayerSay(cid, "Go,"..poke_name.."!!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getCreaturePosition(creature), 188)
doTransformItem(getPlayerSlotItem(cid,8).uid, 2531, 1)
doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")
        if action_id ~= 0 then
doCreatureAddHealth(creature, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))
        else
        doCreatureAddHealth(creature, getPokemonMaxLife(poke_name))
        end
else
for _, pid in ipairs(summons) do
if (table.maxn(summons) >= 1) then
doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1]))
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 188)
doPlayerSay(cid, "Back,"..poke_name..".", TALKTYPE_ORANGE_1)
doRemoveCreature(pid)
doTransformItem(getPlayerSlotItem(cid,8).uid, 2532, 1)
doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")
end
end
end
return true
end

 

 

Resolvido por LLossavaro

Ir para solução
Postado
  • Solução

tente assim

function onUse(cid, item, fromPosition, itemEx, toPosition)
function getPokemonMaxLife(name)
        local file = io.open('data/monster/monsters.xml','r')
        local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
        file:close()
        local data = io.open('data/monster/'..(arquivo or ''),'r')
        if not data then
            return 100
        end
        local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
        data:close()
        return maximo
end
----- Config -----
local MaximoSummon = 1
local nome = getItemName(item.uid)
local poke_name = nome:match('(.-) Pokeball')
local summons = getCreatureSummons(cid)
local action_id = getItemAttribute(item.uid, "aid")
----- Config -----
    if getItemAttribute(item.uid, "aid") == -1 then
    return doPlayerSendCancel(cid, "Seu pokemon está morto.")
    end    
    if getPlayerStorageValue(cid, 25000) == 5 then       
    return doPlayerSendCancel(cid, "Você está montando.")
    end
    if getPlayerStorageValue(cid, 23000) == 5 then
    return doPlayerSendCancel(cid, "Você está voando.")
    end
local summons = getCreatureSummons(cid)
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "Para Soltar seus pokemons, coloque-os no slot da pokeball.")
return TRUE
end
if(table.maxn(summons) < MaximoSummon) then -- no summons
creature = doSummonCreature(poke_name, getCreaturePosition(cid))
doConvinceCreature(cid, creature)
registerCreatureEvent(creature, "DiePoke")
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(cid, "LogoutPoke")
doPlayerSay(cid, "Go,"..poke_name.."!!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getCreaturePosition(creature), 188)
doTransformItem(getPlayerSlotItem(cid,8).uid, 2531, 1)
doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")
doCreatureAddHealth(creature, getPokemonMaxLife(poke_name))
else
for _, pid in ipairs(summons) do
if (table.maxn(summons) >= 1) then
doItemSetAttribute(item.uid, "aid", getCreatureHealth(summons[1]))
doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 188)
doPlayerSay(cid, "Back,"..poke_name..".", TALKTYPE_ORANGE_1)
doRemoveCreature(pid)
doTransformItem(getPlayerSlotItem(cid,8).uid, 2532, 1)
doItemSetAttribute(getPlayerSlotItem(cid,8).uid,"name", poke_name .." Pokeball")
end
end
end
return true
end

Projeto Pokémon Mysterion:

Clique no link e veja o tópico, comente oque achou.

http://www.tibiaking.com/forum/forums/topic/69218-trabalhe-conosco-pok%C3%A9mon-mysterion2hs5kqp.png

 

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo