Ir para conteúdo

Erro Npc Heal PDA


Taiger

Posts Recomendados

Ola amigos, nao sei o que pode estar causando este erro na distro lagando muito o servidor, só acontece as veses, servidor PDA.

 

[24/05/2015 19:30:12] [Error - Npc interface]
[24/05/2015 19:30:12] data/npc/scripts/heal.lua:onCreatureSay
[24/05/2015 19:30:13] Description:
[24/05/2015 19:30:13] (luaGetItemAttribute) Item not found
Alguem tem ideia do que possa ser?
Link para o comentário
Compartilhar em outros sites

Desculpe esqueci de postar.

 

 

 

local posis = { --[storage da city] = {pos da nurse na city},
[897530] = {x = 1054, y = 1050, z = 7}, --saffron --alterado v1.9 \/
[897531] = {x = 1061, y = 900, z = 7}, --cerulean
[897532] = {x = 1203, y = 1040, z = 7}, --lavender
[897533] = {x = 1213, y = 1321, z = 7}, --fuchsia
[897534] = {x = 860, y = 1094, z = 6}, --celadon
[897535] = {x = 706, y = 1083, z = 7}, --viridian
[897536] = {x = 1073, y = 1233, z = 7}, --vermilion
[897537] = {x = 723, y = 844, z = 7}, --pewter
[897538] = {x = 848, y = 1394, z = 7}, --cinnabar
[897539] = {x = 1429, y = 1597, z = 6}, --snow
[897540] = {x = 258, y = 429, z = 7}, --golden
[897541] = {x = 243, y = 1028, z = 7}, -- Hammlin
[897542] = {x = 268, y = 1163, z = 7}, -- Shamouti
[897543] = {x = 252, y = 1260, z = 6}, -- Ascordbia
[897544] = {x = 2612, y = 985, z = 7}, -- Vip 1
[897545] = {x = 2680, y = 675, z = 7}, -- Vip 2
[897546] = {x = 2559, y = 444, z = 5}, -- Vip 3
[897547] = {x = 2559, y = 444, z = 5}, -- Pallet
[897548] = {x = 652, y = 1171, z = 7}, -- Coliseum
[897549] = {x = 1163, y = 1450, z = 13}, -- Outland north
[897550] = {x = 1509, y = 1290, z = 13}, -- outland west
[897551] = {x = 1152, y = 1068, z = 13} -- outland sul
}
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye sir!')
focus = 0
talk_start = 0
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
for a, b in pairs(gobackmsgs) do
local gm = string.gsub(b.go, "doka!", "")
local bm = string.gsub(b.back, "doka!", "")
if string.find(string.lower(msg), string.lower(gm)) or string.find(string.lower(msg), string.lower(bm)) then
return true
end
end
if((msgcontains(msg, 'hi') or msgcontains(msg, 'heal') or msgcontains(msg, 'help')) and (getDistanceToCreature(cid) <= 3)) then
if exhaustion.get(cid, 9211) then
selfSay('Por Favor espere um momento para eu por curar novamente seus Pokemons!')
return true
end
if not getTileInfo(getThingPos(cid)).protection and nurseHealsOnlyInPZ then
selfSay("Por Favor, entre no Centro Pokemon para eu poder curar seus Pokemons!")
return true
end
if getPlayerStorageValue(cid, 52480) >= 1 then
selfSay("Não posso curar seus Pokemons enquanto você está em Duel!") --alterado v1.6.1
return true
end
exhaustion.set(cid, 9211, 1)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
doCureStatus(cid, "all", true)
doSendMagicEffect(getThingPos(cid), 103)
local mypb = getPlayerSlotItem(cid, 8)
if #getCreatureSummons(cid) >= 1 then
if not nurseHealsPokemonOut then
selfSay("Please, return your pokemon to his ball!")
return true
end
local s = getCreatureSummons(cid)[1]
doCreatureAddHealth(s, getCreatureMaxHealth(s))
doSendMagicEffect(getThingPos(s), 13)
doCureStatus(s, "all", false)
if getPlayerStorageValue(s, 1008) < baseNurseryHappiness then
setPlayerStorageValue(s, 1008, baseNurseryHappiness)
end
if getPlayerStorageValue(s, 1009) > baseNurseryHunger then
setPlayerStorageValue(s, 1009, baseNurseryHunger)
end
else
if mypb.uid ~= 0 and isPokeball(mypb.itemid) then --alterado v1.3
doItemSetAttribute(mypb.uid, "hp", 1)
if getItemAttribute(mypb.uid, "hunger") and getItemAttribute(mypb.uid, "hunger") > baseNurseryHunger then
doItemSetAttribute(mypb.uid, "hunger", baseNurseryHunger)
end
for c = 1, 15 do
local str = "move"..c
setCD(mypb.uid, str, 0)
end
if getItemAttribute(mypb.uid, "happy") and getItemAttribute(mypb.uid, "happy") < baseNurseryHappiness then
doItemSetAttribute(mypb.uid, "happy", baseNurseryHappiness)
end
if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then
for a, b in pairs (pokeballs) do
if isInArray(b.all, mypb.itemid) then
doTransformItem(mypb.uid, b.on)
end
end
end
end
end
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
local balls = getPokeballsInContainer(bp.uid)
if #balls >= 1 then
for _, uid in ipairs(balls) do
doItemSetAttribute(uid, "hp", 1)
for c = 1, 15 do
local str = "move"..c
setCD(uid, str, 0)
end
if getItemAttribute(uid, "hunger") and getItemAttribute(uid, "hunger") > baseNurseryHunger then
doItemSetAttribute(uid, "hunger", baseNurseryHunger)
end
if getItemAttribute(uid, "happy") and getItemAttribute(uid, "happy") < baseNurseryHappiness then
doItemSetAttribute(uid, "happy", baseNurseryHappiness)
end
local this = getThing(uid)
for a, b in pairs (pokeballs) do
if isInArray(b.all, this.itemid) then
doTransformItem(uid, b.on)
end
end
end
end
selfSay('Todos os seus Pokemons foram curados, Boa Sorte em sua jornada!')
if useKpdoDlls then --alterado v1.7
doUpdateMoves(cid)
end
local outs = {897549, 897550, 897551}
for x=1, #outs do
if isPosEqualPos(getCreaturePosition(getNpcCid()), posis[outs[x]]) then
setPlayerStorageValue(cid, INOUTLAND, 1)
break
else
setPlayerStorageValue(cid, INOUTLAND, -1)
break
end
end
if useOTClient then
onPokeHealthChange(cid) --alterei aki
end
end
end

Link para o comentário
Compartilhar em outros sites

Teste esse:

 

 

 

local posis = {   --[storage da city] = {pos da nurse na city},
[897530] = {x = 1054, y = 1050, z = 7},   --saffron                   --alterado v1.9 \/
[897531] = {x = 1061, y = 900, z = 7},    --cerulean
[897532] = {x = 1203, y = 1040, z = 7},    --lavender
[897533] = {x = 1213, y = 1321, z = 7},    --fuchsia
[897534] = {x = 860, y = 1094, z = 6},    --celadon
[897535] = {x = 706, y = 1083, z = 7},    --viridian
[897536] = {x = 1073, y = 1233, z = 7},    --vermilion
[897537] = {x = 723, y = 844, z = 7},    --pewter
[897538] = {x = 848, y = 1394, z = 7},    --cinnabar
[897539] = {x = 1429, y = 1597, z = 6},    --snow
[897540] = {x = 258, y = 429, z = 7},    --golden
 
[897541] = {x = 243, y = 1028, z = 7}, -- Hammlin
[897542] = {x = 268, y = 1163, z = 7}, -- Shamouti
[897543] = {x = 252, y = 1260, z = 6}, -- Ascordbia
[897544] = {x = 2612, y = 985, z = 7}, -- Vip 1
[897545] = {x = 2680, y = 675, z = 7}, -- Vip 2
[897546] = {x = 2559, y = 444, z = 5}, -- Vip 3
 
[897547] = {x = 2559, y = 444, z = 5}, -- Pallet
[897548] = {x = 652, y = 1171, z = 7}, -- Coliseum
 
[897549] = {x = 1163, y = 1450, z = 13}, -- Outland north
[897550] = {x = 1509, y = 1290, z = 13}, -- outland west
[897551] = {x = 1152, y = 1068, z = 13} -- outland sul
}
function onThingMove(creature, thing, oldpos, oldstackpos)
end
 
function onCreatureAppear(creature)
end
 
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Adeus!')
focus = 0
talk_start = 0
end
end
 
function onCreatureTurn(creature)
end
 
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
 
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
for a, b in pairs(gobackmsgs) do
local gm = string.gsub(b.go, "doka!", "")
local bm = string.gsub(b.back, "doka!", "")
if string.find(string.lower(msg), string.lower(gm)) or string.find(string.lower(msg), string.lower(bm)) then
return true
end
end
 
if((msgcontains(msg, 'hi') or msgcontains(msg, 'heal') or msgcontains(msg, 'help')) and (getDistanceToCreature(cid) <= 3)) then
 
  if exhaustion.get(cid, 9211) then
selfSay('Por favor, aguarde alguns instante antes de me pedir para curar seus pokemons novamente!')
return true
    end
 
if not getTileInfo(getThingPos(cid)).protection and nurseHealsOnlyInPZ then
selfSay("Por favor, entrar no centro pokemon? para curar seus pokemons!")
return true
end
 
if getPlayerStorageValue(cid, 52480) >= 1 then
  selfSay("Você não pode fazer isso enquanto estiver em um duelo!")   --alterado v1.6.1
    return true 
    end
    
    for e, f in pairs(posis) do
        local pos = getThingPos(getNpcCid())
        if isPosEqual(pos, f) then
           if getPlayerStorageValue(cid, e) <= -1 then           --alterado v1.7
              setPlayerStorageValue(cid, e, 1)
           end
        end
    end 
 
exhaustion.set(cid, 9211, 5)
 
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
doCureStatus(cid, "all", true)
doSendMagicEffect(getThingPos(cid), 132)
 
local mypb = getPlayerSlotItem(cid, 8)
 
if #getCreatureSummons(cid) >= 1 then
 
if not nurseHealsPokemonOut then
selfSay("Por favor, devolva o seu pokemon para sua ball!")
return true
end
 
local s = getCreatureSummons(cid)[1]
doCreatureAddHealth(s, getCreatureMaxHealth(s))
doSendMagicEffect(getThingPos(s), 13)
doCureStatus(s, "all", false)
if getPlayerStorageValue(s, 1008) < baseNurseryHappiness then
setPlayerStorageValue(s, 1008, baseNurseryHappiness)
end
if getPlayerStorageValue(s, 1009) > baseNurseryHunger then
setPlayerStorageValue(s, 1009, baseNurseryHunger)
end
else
if mypb.itemid ~= 0 and isPokeball(mypb.itemid) then  --alterado v1.3
   doItemSetAttribute(mypb.uid, "hp", 1)
if getItemAttribute(mypb.uid, "hunger") and getItemAttribute(mypb.uid, "hunger") > baseNurseryHunger then
doItemSetAttribute(mypb.uid, "hunger", baseNurseryHunger)
end
for c = 1, 15 do
local str = "move"..c
setCD(mypb.uid, str, 0)
end
if getItemAttribute(mypb.uid, "happy") and getItemAttribute(mypb.uid, "happy") < baseNurseryHappiness then
doItemSetAttribute(mypb.uid, "happy", baseNurseryHappiness)
end
if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then
for a, b in pairs (pokeballs) do
if isInArray(b.all, mypb.itemid) then
  doTransformItem(mypb.uid, b.on)
end
end
end
end
end
 
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
 
    local balls = getPokeballsInContainer(bp.uid)
    if #balls >= 1 then
       for _, uid in ipairs(balls) do
           doItemSetAttribute(uid, "hp", 1)
           for c = 1, 15 do
               local str = "move"..c
               setCD(uid, str, 0)   
           end
           if getItemAttribute(uid, "hunger") and getItemAttribute(uid, "hunger") > baseNurseryHunger then
              doItemSetAttribute(uid, "hunger", baseNurseryHunger)
           end
           if getItemAttribute(uid, "happy") and getItemAttribute(uid, "happy") < baseNurseryHappiness then
              doItemSetAttribute(uid, "happy", baseNurseryHappiness)
           end
           local this = getThing(uid)
           for a, b in pairs (pokeballs) do
      if isInArray(b.all, this.itemid) then
             doTransformItem(uid, b.on)
               end
           end
        end
    end
    selfSay('Lá vai! Você e seus pokemons são saudáveis novamente.')
    if useKpdoDlls then  --alterado v1.7
       doUpdateMoves(cid)
    end
end
if useOTClient then
onPokeHealthChange(cid) --alterei aki
end
end

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...