Ir para conteúdo
  • 0

(luaGetCreatureStorage) Creature not found


Taiger

Pergunta

Boa noite.

Estou com um erro que quando o servidor fecha e o player esta com o poke para fora, quando volta o server e o player loga o pokemon esta morto, e ao clicar nele aparece esta msg.

 

1774649291_erropokemonmorre.png.065ced3e9356ffd0b00012485e23745e.png

 

O player precisa clicar com o direito no icone do poke para poder dar revive.

Resumindo, se o server cair ou fechar e o poke estiver para fora ele morre. Alguem sabe onde poderia ser este erro? Isso acontece usando a distro da source adaptada para pda.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
14 horas atrás, ZoR disse:

poste seu goback

@Taiger

ta ai o goback.



local function sendPokeToDepot(cid, pokemon)
local item = doCreateItemEx(14329)
        doItemSetAttribute(item, "poke", pokemon)
        doItemSetAttribute(item, "hp", 1)
         doItemSetAttribute(item, "morta", "no")
 doItemSetAttribute(item, "Icone", "yes")
 doItemSetAttribute(item, "ball", "Icone")    
 doPlayerSendMailByName(getCreatureNameWithProtect(cid), item, 1)
 return true
end
local EFFECTS = {
    --[OutfitID] = {Effect}
    ["Magmar"] = 35,   
    ["Shiny Magmar"] = 35,  
    ["Jynx"] = 17,          --alterado v1.5
    ["Shiny Jynx"] = 17, 
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,   
}
local isBall = {193, 198, 202, 200, 204, 23, 192, 197, 201, 199, 203, 24}
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 14329 and not getItemAttribute(item.uid, "poke") then
doRemoveItem(item.uid)
sendPokeToDepot(cid, "Shiny Ditto")
doPlayerSendTextMessage(cid, 20, "Your shiny ditto has been sent to depot.")
doRemoveItem(item.uid)
return true
end
sendAllPokemonsBarPoke(cid)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) and getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) and  getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) and getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end
if not isPokeball(item.itemid) then
return true 
end
local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)--getItemAttribute(item.uid, "poke")
local usando = pokeballs[btype].use
-- Smeargle Clean
if ballName == "Smeargle" and not getItemAttribute(item.uid, "sktsfdbg") then
for x=1, 8 do
if getItemAttribute(item.uid, "skt"..x) then
doItemEraseAttribute(item.uid, "skt"..x)
end
end
doItemSetAttribute(item.uid, "sktsfdbg", "true")
end
-----------------
local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end
    
unLock(item.uid) --alterado v1.8
if item.itemid == usando then                           

    if getPlayerStorageValue(cid, 990) and getPlayerStorageValue(cid, 990) == 1 then -- GYM
        doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    return true
    end
    if getPlayerStorageValue(getCreatureSummons(cid)[1],17451) and getPlayerStorageValue(getCreatureSummons(cid)[1],17451) >= 1 then
    return true
    end
    if getPlayerStorageValue(cid, 45765) > 0 then -- GYM
        doPlayerSendCancel(cid, "You can't do it while mewtwo is helping you.")
    return true
    end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end   
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 45376) > 0 then
    UnownBack(cid)
    end
        if #getCreatureSummons(cid) > 0 and getPlayerStorageValue(cid, 45765) > 0 then
    cardReturn(cid)
    setPlayerStorageValue(cid, 45765, -1)
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
    local z = getCreatureSummons(cid)[1]

    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    if ballName:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            ballName = normalPoke
        end
    end    
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end

    local thishp = getItemAttribute(item.uid, "hp")

    if thishp <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end

    local pokemon = getItemAttribute(item.uid, "poke")

    if not pokes[pokemon] then
    return true
    end
    
    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end

----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) and getPlayerStorageValue(cid, 45765) ~= 1 then
   local isInLimit = false
   local lowCount = 0
   
   local dittoCount = 0
   local shinyDittoCount = 0
   
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
   if #balls >= 1 then
      for _, uid in ipairs(balls) do
          local nome = getItemAttribute(uid, "poke")
          
          if getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 1 then
            dittoCount = dittoCount + 1
          elseif getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 2 then
            shinyDittoCount = shinyDittoCount + 1
            
            
          end
          
          if not isInArray(lowPokes, pokemon) and nome == pokemon then
             return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
          else
             if nome == pokemon then
                lowCount = lowCount + 1
             end
          end

      end
   end

if getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 1 then
    if dittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one ditto!")
    end
elseif getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 2 then
    if shinyDittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one shiny ditto!")
    end
end
if lowCount >= 3 then
   return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end   
end
---------------------------------------------------------------------------------------------------------------------------------------------------

    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0

    if getPlayerLevel(cid) < (x.level+boost) then
       doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
       return true
    end
    
    ---------------------------- Sistema pokes de clan --------------------------------------
    local shinysClan = {
    ["Shiny Fearow"] = {4, "Wingeon"},
    ["Shiny Flareon"] = {1, "Volcanic"},
    ["Shiny Vaporeon"] = {2, "Seavel"}, 
    ["Shiny Jolteon"] = {9, "Raibolt"},
    ["Shiny Hypno"] = {7, "Psycraft"},           
    ["Shiny Golem"] = {3, "Orebound"},
    ["Shiny Vileplume"] = {8, "Naturia"},
    ["Shiny Nidoking"] = {5, "Malefic"},
    ["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
    }
    
    if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) and not getItemAttribute(item.uid, "ehditto") then  --alterado v1.9 \/
       if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
          doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
          return true   
       elseif getPlayerClanRank(cid) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
          return true
       end
    end
    --------------------------------------------------------------------------------------
    doSummonMonster(cid, pokemon)

    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
    
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if isCreature(pk) and EFFECTS[getCreatureNameWithProtect(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureNameWithProtect(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------      

    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end

    doCreatureSetLookDir(pk, 2)

        adjustStatus(pk, item.uid, true, true, true)
    doRegenerateWithY(getCreatureMaster(pk), pk)
    doAddPokemonInOwnList(cid, pokemon)
setPlayerStorageValue(pk, 17451, 0)
    doTransformItem(item.uid, pokeballs[btype].use)

    local pokename = getPokeName(pk) --alterado v1.7 

    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_MONSTER)
    
    doSendMagicEffect(getCreaturePosition(pk), effect)
    
    if useOTClient then
       doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end
    
else

    doPlayerSendCancel(cid, "This pokemon is fainted.")

end

    if useKpdoDlls then
        doUpdateMoves(cid)
end
                   if useOTClient then
onPokeHealthChange(cid)
    end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0
Spoiler

local function sendPokeToDepot(cid, pokemon)
local item = doCreateItemEx(14329)
        doItemSetAttribute(item, "poke", pokemon)
        doItemSetAttribute(item, "hp", 1)
         doItemSetAttribute(item, "morta", "no")
 doItemSetAttribute(item, "Icone", "yes")
 doItemSetAttribute(item, "ball", "Icone")    
 doPlayerSendMailByName(getCreatureNameWithProtect(cid), item, 1)
 return true
end
local EFFECTS = {
    --[OutfitID] = {Effect}
    ["Magmar"] = 35,   
    ["Shiny Magmar"] = 35,  
    ["Jynx"] = 17,          --alterado v1.5
    ["Shiny Jynx"] = 17, 
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,   
}
local isBall = {193, 198, 202, 200, 204, 23, 192, 197, 201, 199, 203, 24}
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 14329 and not getItemAttribute(item.uid, "poke") then
doRemoveItem(item.uid)
sendPokeToDepot(cid, "Shiny Ditto")
doPlayerSendTextMessage(cid, 20, "Your shiny ditto has been sent to depot.")
doRemoveItem(item.uid)
return true
end
sendAllPokemonsBarPoke(cid)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then 
	return true 
end 

if getPlayerStorageValue(cid, 17000) or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) and  getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) and getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end
if not isPokeball(item.itemid) then
return true 
end
local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)--getItemAttribute(item.uid, "poke")
local usando = pokeballs[btype].use
-- Smeargle Clean
if ballName == "Smeargle" and not getItemAttribute(item.uid, "sktsfdbg") then
for x=1, 8 do
if getItemAttribute(item.uid, "skt"..x) then
doItemEraseAttribute(item.uid, "skt"..x)
end
end
doItemSetAttribute(item.uid, "sktsfdbg", "true")
end
-----------------
local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end
    
unLock(item.uid) --alterado v1.8
if item.itemid == usando then                            

    if getPlayerStorageValue(cid, 990) and getPlayerStorageValue(cid, 990) == 1 then -- GYM
        doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    return true
    end
    if getPlayerStorageValue(getCreatureSummons(cid)[1],17451) and getPlayerStorageValue(getCreatureSummons(cid)[1],17451) >= 1 then
    return true
    end
    if getPlayerStorageValue(cid, 45765) > 0 then -- GYM
        doPlayerSendCancel(cid, "You can't do it while mewtwo is helping you.")
    return true
    end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end   
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 45376) > 0 then
    UnownBack(cid)
    end
        if #getCreatureSummons(cid) > 0 and getPlayerStorageValue(cid, 45765) > 0 then
    cardReturn(cid)
    setPlayerStorageValue(cid, 45765, -1)
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end 

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
    local z = getCreatureSummons(cid)[1] 

    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    if ballName:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            ballName = normalPoke
        end
    end    
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then 

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end 

    local thishp = getItemAttribute(item.uid, "hp") 

    if thishp <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end 

    local pokemon = getItemAttribute(item.uid, "poke") 

    if not pokes[pokemon] then
    return true
    end
    
    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end 

----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) and getPlayerStorageValue(cid, 45765) ~= 1 then
   local isInLimit = false
   local lowCount = 0
   
   local dittoCount = 0
   local shinyDittoCount = 0
   
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
   if #balls >= 1 then
      for _, uid in ipairs(balls) do
          local nome = getItemAttribute(uid, "poke")
          
          if getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 1 then
            dittoCount = dittoCount + 1
          elseif getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 2 then
            shinyDittoCount = shinyDittoCount + 1
            
            
          end
          
          if not isInArray(lowPokes, pokemon) and nome == pokemon then
             return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
          else
             if nome == pokemon then
                lowCount = lowCount + 1
             end
          end 

      end
   end 

if getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 1 then
    if dittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one ditto!")
    end
elseif getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 2 then
    if shinyDittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one shiny ditto!")
    end
end
if lowCount >= 3 then
   return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end   
end
--------------------------------------------------------------------------------------------------------------------------------------------------- 

    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0 

    if getPlayerLevel(cid) < (x.level+boost) then
       doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
       return true
    end
    
    ---------------------------- Sistema pokes de clan --------------------------------------
    local shinysClan = {
    ["Shiny Fearow"] = {4, "Wingeon"},
    ["Shiny Flareon"] = {1, "Volcanic"},
    ["Shiny Vaporeon"] = {2, "Seavel"}, 
    ["Shiny Jolteon"] = {9, "Raibolt"},
    ["Shiny Hypno"] = {7, "Psycraft"},           
    ["Shiny Golem"] = {3, "Orebound"},
    ["Shiny Vileplume"] = {8, "Naturia"},
    ["Shiny Nidoking"] = {5, "Malefic"},
    ["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
    }
    
    if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) and not getItemAttribute(item.uid, "ehditto") then  --alterado v1.9 \/
       if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
          doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
          return true   
       elseif getPlayerClanRank(cid) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
          return true
       end
    end
    --------------------------------------------------------------------------------------
    doSummonMonster(cid, pokemon) 

    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
    
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if isCreature(pk) and EFFECTS[getCreatureNameWithProtect(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureNameWithProtect(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------       

    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end 

    doCreatureSetLookDir(pk, 2) 

        adjustStatus(pk, item.uid, true, true, true)
    doRegenerateWithY(getCreatureMaster(pk), pk)
    doAddPokemonInOwnList(cid, pokemon)
setPlayerStorageValue(pk, 17451, 0)
    doTransformItem(item.uid, pokeballs[btype].use) 

    local pokename = getPokeName(pk) --alterado v1.7  

    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_MONSTER)
    
    doSendMagicEffect(getCreaturePosition(pk), effect)
    
    if useOTClient then
       doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end
    
else 

    doPlayerSendCancel(cid, "This pokemon is fainted.") 

end 

    if useKpdoDlls then
        doUpdateMoves(cid)
end
if useOTClient then
onPokeHealthChange(cid)
    end
return true
end

 

@Taiger

Link para o comentário
Compartilhar em outros sites

  • 0
4 minutos atrás, ZoR disse:
  Mostrar conteúdo oculto


local function sendPokeToDepot(cid, pokemon)
local item = doCreateItemEx(14329)
        doItemSetAttribute(item, "poke", pokemon)
        doItemSetAttribute(item, "hp", 1)
         doItemSetAttribute(item, "morta", "no")
 doItemSetAttribute(item, "Icone", "yes")
 doItemSetAttribute(item, "ball", "Icone")    
 doPlayerSendMailByName(getCreatureNameWithProtect(cid), item, 1)
 return true
end
local EFFECTS = {
    --[OutfitID] = {Effect}
    ["Magmar"] = 35,   
    ["Shiny Magmar"] = 35,  
    ["Jynx"] = 17,          --alterado v1.5
    ["Shiny Jynx"] = 17, 
    ["Piloswine"] = 205,  --alterado v1.8
    ["Swinub"] = 205,   
}
local isBall = {193, 198, 202, 200, 204, 23, 192, 197, 201, 199, 203, 24}
function onUse(cid, item, frompos, item2, topos)
if item.itemid == 14329 and not getItemAttribute(item.uid, "poke") then
doRemoveItem(item.uid)
sendPokeToDepot(cid, "Shiny Ditto")
doPlayerSendTextMessage(cid, 20, "Your shiny ditto has been sent to depot.")
doRemoveItem(item.uid)
return true
end
sendAllPokemonsBarPoke(cid)
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then 
	return true 
end 

if getPlayerStorageValue(cid, 17000) or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) and  getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) and getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v1.9 <<
   return true                                                                                                                        
end
if not isPokeball(item.itemid) then
return true 
end
local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)--getItemAttribute(item.uid, "poke")
local usando = pokeballs[btype].use
-- Smeargle Clean
if ballName == "Smeargle" and not getItemAttribute(item.uid, "sktsfdbg") then
for x=1, 8 do
if getItemAttribute(item.uid, "skt"..x) then
doItemEraseAttribute(item.uid, "skt"..x)
end
end
doItemSetAttribute(item.uid, "sktsfdbg", "true")
end
-----------------
local effect = pokeballs[btype].effect
    if not effect then
        effect = 21
    end
    
unLock(item.uid) --alterado v1.8
if item.itemid == usando then                            

    if getPlayerStorageValue(cid, 990) and getPlayerStorageValue(cid, 990) == 1 then -- GYM
        doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
    return true
    end
    if getPlayerStorageValue(getCreatureSummons(cid)[1],17451) and getPlayerStorageValue(getCreatureSummons(cid)[1],17451) >= 1 then
    return true
    end
    if getPlayerStorageValue(cid, 45765) > 0 then -- GYM
        doPlayerSendCancel(cid, "You can't do it while mewtwo is helping you.")
    return true
    end
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v1.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    end   
    if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 45376) > 0 then
    UnownBack(cid)
    end
        if #getCreatureSummons(cid) > 0 and getPlayerStorageValue(cid, 45765) > 0 then
    cardReturn(cid)
    setPlayerStorageValue(cid, 45765, -1)
    end
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    if #getCreatureSummons(cid) <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end 

    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
    local z = getCreatureSummons(cid)[1] 

    if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
       return true
    end
    if ballName:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            ballName = normalPoke
        end
    end    
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then 

    if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
        doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
    return TRUE
    end 

    local thishp = getItemAttribute(item.uid, "hp") 

    if thishp <= 0 then
        if isInArray(pokeballs[btype].all, item.itemid) then
            doTransformItem(item.uid, pokeballs[btype].off)
            doItemSetAttribute(item.uid, "hp", 0)
            doPlayerSendCancel(cid, "This pokemon is fainted.")
            return true
        end
    end 

    local pokemon = getItemAttribute(item.uid, "poke") 

    if not pokes[pokemon] then
    return true
    end
    
    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end    if pokemon:find("Mega ") then
        local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1]
        if normalPoke then
            doItemSetAttribute(item.uid, "poke", normalPoke)
            pokemon = normalPoke
        end
    end 

----------------------- Sistema de nao poder carregar mais que 3 pokes lvl baixo e + q 1 poke de lvl medio/alto ---------------------------------
if not isInArray({5, 6}, getPlayerGroupId(cid)) and getPlayerStorageValue(cid, 45765) ~= 1 then
   local isInLimit = false
   local lowCount = 0
   
   local dittoCount = 0
   local shinyDittoCount = 0
   
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local lowPokes = {"Rattata", "Caterpie", "Weedle", "Oddish", "Pidgey", "Paras", "Poliwag", "Bellsprout", "Magikarp", "Hoppip", "Sunkern"}
   if #balls >= 1 then
      for _, uid in ipairs(balls) do
          local nome = getItemAttribute(uid, "poke")
          
          if getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 1 then
            dittoCount = dittoCount + 1
          elseif getItemAttribute(uid, "ehditto") and getItemAttribute(uid, "ehditto") == 2 then
            shinyDittoCount = shinyDittoCount + 1
            
            
          end
          
          if not isInArray(lowPokes, pokemon) and nome == pokemon then
             return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry two pokemons equals!")
          else
             if nome == pokemon then
                lowCount = lowCount + 1
             end
          end 

      end
   end 

if getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 1 then
    if dittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one ditto!")
    end
elseif getItemAttribute(item.uid, "ehditto") and getItemAttribute(item.uid, "ehditto") == 2 then
    if shinyDittoCount > 1 then
        return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than one shiny ditto!")
    end
end
if lowCount >= 3 then
   return doPlayerSendTextMessage(cid, 27, "Sorry, but you can't carry more than three pokemons equals of low level!")
end   
end
--------------------------------------------------------------------------------------------------------------------------------------------------- 

    local x = pokes[pokemon]
    local boost = getItemAttribute(item.uid, "boost") or 0 

    if getPlayerLevel(cid) < (x.level+boost) then
       doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
       return true
    end
    
    ---------------------------- Sistema pokes de clan --------------------------------------
    local shinysClan = {
    ["Shiny Fearow"] = {4, "Wingeon"},
    ["Shiny Flareon"] = {1, "Volcanic"},
    ["Shiny Vaporeon"] = {2, "Seavel"}, 
    ["Shiny Jolteon"] = {9, "Raibolt"},
    ["Shiny Hypno"] = {7, "Psycraft"},           
    ["Shiny Golem"] = {3, "Orebound"},
    ["Shiny Vileplume"] = {8, "Naturia"},
    ["Shiny Nidoking"] = {5, "Malefic"},
    ["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
    }
    
    if shinysClan[pokemon] and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) and not getItemAttribute(item.uid, "ehditto") then  --alterado v1.9 \/
       if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then
          doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
          return true   
       elseif getPlayerClanRank(cid) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
          return true
       end
    end
    --------------------------------------------------------------------------------------
    doSummonMonster(cid, pokemon) 

    local pk = getCreatureSummons(cid)[1]
    if not isCreature(pk) then return true end
    
    ------------------------passiva hitmonchan------------------------------
    if isSummon(pk) then                                                  --alterado v1.8 \/
       if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then
          if not getItemAttribute(item.uid, "hands") then
             doSetItemAttribute(item.uid, "hands", 0)
          end
          local hands = getItemAttribute(item.uid, "hands")
          doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1)
       end
    end
    -------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if isCreature(pk) and EFFECTS[getCreatureNameWithProtect(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureNameWithProtect(pk)], getThingPos(pk))  
    end
    --------------------------------------------------------------------------       

    if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end 

    doCreatureSetLookDir(pk, 2) 

        adjustStatus(pk, item.uid, true, true, true)
    doRegenerateWithY(getCreatureMaster(pk), pk)
    doAddPokemonInOwnList(cid, pokemon)
setPlayerStorageValue(pk, 17451, 0)
    doTransformItem(item.uid, pokeballs[btype].use) 

    local pokename = getPokeName(pk) --alterado v1.7  

    local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
    doCreatureSay(cid, mgo, TALKTYPE_MONSTER)
    
    doSendMagicEffect(getCreaturePosition(pk), effect)
    
    if useOTClient then
       doPlayerSendCancel(cid, '12//,show') --alterado v1.7
    end
    
else 

    doPlayerSendCancel(cid, "This pokemon is fainted.") 

end 

    if useKpdoDlls then
        doUpdateMoves(cid)
end
if useOTClient then
onPokeHealthChange(cid)
    end
return true
end

 

@Taiger

oi?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...