Ir para conteúdo

Addon System [PDE]


Refe

Posts Recomendados

                if look = 0 then
                                doSetItemAttribute(pb,"addon",0) 

                end
                if look > 1 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

deixa assim:

                if look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

ceetros, deu esse erro agr, e os pokes ainda continua n saindo da ball.

post-381687-0-03812100-1454176094_thumb.png

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

ceetros, deu esse erro agr, e os pokes ainda continua n saindo da ball.

                if look > 0 then
				local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                                doSetCreatureOutfit(pk, {lookType = getItemAttribute(pb,"addon")}, -1)

                end

Deixa assim.

Link para o comentário
Compartilhar em outros sites

                if look > 0 then
				local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                                doSetCreatureOutfit(pk, {lookType = getItemAttribute(pb,"addon")}, -1)

                end

Deixa assim.

 

kk, continua dando o mesmo erro a cima, e os pokes ainda n saem da ball.

Link para o comentário
Compartilhar em outros sites


local pk = getCreatureSummons(cid)

local pb = getPlayerSlotItem(cid, 8).uid

local look = getItemAttribute(pb, "addon")

if not look then

doSetItemAttribute(pb, "addon", 0)

end

if look > 1 then

doSetCreatureOutfit(pk, {lookType = look}, -1)

 

end

 

Link para o comentário
Compartilhar em outros sites

	            local pk = getCreatureSummons(cid)
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb, "addon")
                if not look then
                                doSetItemAttribute(pb, "addon", 0) 
								end
                if look > 1 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

ainda ta dando erro e os pokes n saem da ball.

 

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
		doCreatureSetNick(getCreatureSummons(cid)[1], name)
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], nick)
	end
	
	 local pk = getCreatureSummons(cid)
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb, "addon")
                if not look then
                                doSetItemAttribute(pb, "addon", 0) 
								end
                if look > 1 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end
else
	
	if useOTClient then
	   doPlayerSendCancel(cid, '12//,show') --alterado v2.7
    end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end

 

 

post-381687-0-37920700-1454177273_thumb.png

Link para o comentário
Compartilhar em outros sites


local EFFECTS = {

--[OutfitID] = {Effect}

["Magmar"] = 35,

["Magmortar"] = 35,

["Shiny Magmar"] = 35,

["Jynx"] = 17, --alterado v2.5

["Shiny Jynx"] = 17,

["Mamoswine"] = 205,

["Piloswine"] = 205, --alterado v2.8

["Swinub"] = 205,

}

 

function onUse(cid, item, frompos, item2, topos)

 

 

if getPlayerStorageValue(cid,130130) >= 1 then

doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")

return true

end

 

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

 

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1

or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1 then --alterado v2.9 <<

return true

end

 

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

local btype = getPokeballType(item.itemid)

local usando = pokeballs[btype].use

 

local effect = pokeballs[btype].effect

if not effect then

effect = 21

end

 

unLock(item.uid) --alterado v2.8

if item.itemid == usando then

--if getPlayerGroupId == 8 then

--doPlayerSendTextMessage(cid, 19, "TESTS 1!")

--setPlayerGroupId(cid,1)

--return true

--end

 

 

 

if getPlayerStorageValue(cid, 990) == 1 then -- GYM

doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")

return true

end

 

if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v2.6

if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then

BackTeam(cid)

end

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 v2.5

end

 

if #getCreatureSummons(cid) <= 0 then

if isInArray(pokeballs[btype].all, item.itemid) then

doTransformItem(item.uid, pokeballs[btype].on)

doItemSetAttribute(item.uid, "hp", 1)

--setPlayerGroupId(cid,1)

doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")

doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")

doSendMagicEffect(getThingPos(cid), 29)

doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255))

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

doReturnPokemon(cid, z, item, effect)

elseif item.itemid == pokeballs[btype].on then

--doPlayerSendTextMessage(cid, 19, "TESTS 3!")

--setPlayerGroupId(cid,8)

 

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

 

----------------------- 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)) then --alterado v2.9 \/

local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)

local low = {}

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 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

table.insert(low, nome)

end

end

end

end

if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

 

if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then

doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")

return true

end

doSummonMonster(cid, pokemon)

 

local pk = getCreatureSummons(cid)[1]

if not isCreature(pk) then return true end

------------------------passiva hitmonchan------------------------------

if isSummon(pk) then --alterado v2.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 EFFECTS[getCreatureName(pk)] then

markPosEff(pk, getThingPos(pk))

sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5

end

--------------------------------------------------------------------------

 

if getCreatureName(pk) == "Ditto" then

 

local left = getItemAttribute(item.uid, "transLeft")

local name = getItemAttribute(item.uid, "transName")

 

if left and left > 0 then

setPlayerStorageValue(pk, 1010, name)

doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)

addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))

doItemSetAttribute(item.uid, "transBegin", os.clock())

else

setPlayerStorageValue(pk, 1010, "Ditto")

end

end

 

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

 

doCreatureSetLookDir(pk, 2)

 

adjustStatus(pk, item.uid, true, false, true)

doAddPokemonInOwnList(cid, pokemon)

 

doTransformItem(item.uid, item.itemid+1)

 

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

 

local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)

doCreatureSay(cid, mgo, TALKTYPE_SAY)

doSendMagicEffect(getCreaturePosition(pk), effect)

 

local nick = getItemAttribute(item.uid, "nick")

if not nick then

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

doCreatureSetNick(getCreatureSummons(cid)[1], name)

else

local level = getItemAttribute(item.uid, "level")

doCreatureSetNick(getCreatureSummons(cid)[1], nick)

end

 

local pk = getCreatureSummons(cid)[1]

local pb = getPlayerSlotItem(cid, 8).uid

local look = getItemAttribute(pb,"addon")

if not look then

doSetItemAttribute(pb,"addon",0)

 

end

if look > 0 then

doSetCreatureOutfit(pk, {lookType = look}, -1)

 

end

 

else

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

end

 

if useKpdoDlls then

doUpdateMoves(cid)

end

return true

end

 

Link para o comentário
Compartilhar em outros sites

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
		doCreatureSetNick(getCreatureSummons(cid)[1], name)
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], nick)
	end
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 

                end
                if look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end

ceetros, saiu o erro, mas tipo ta dando outro agr, tipo se eu ligo o server, ai eu entro, e tipo meu poke da ball summonando ele, da esse erro ai na distro, mas se eu voltar ele pra ball e summonar ele denovo, o erro n acontece.

post-381687-0-15211200-1454178184_thumb.png

Link para o comentário
Compartilhar em outros sites

ceetros, saiu o erro, mas tipo ta dando outro agr, tipo se eu ligo o server, ai eu entro, e tipo meu poke da ball summonando ele, da esse erro ai na distro, mas se eu voltar ele pra ball e summonar ele denovo, o erro n acontece.

 

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..name.." ["..level.."]")
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..nick.." ["..level.."]")
	end
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

Link para o comentário
Compartilhar em outros sites

 

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..name.." ["..level.."]")
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..nick.." ["..level.."]")
	end
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

deu esse erro agr, toda vez que tira o poke da ball da esse erro.

post-381687-0-77506200-1454179320_thumb.png

Link para o comentário
Compartilhar em outros sites

deu esse erro agr, toda vez que tira o poke da ball da esse erro.

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
			local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..name.." ["..level.."]")
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..nick.." ["..level.."]")
	end
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

meu actions está tudo certo mesmo assim o addon no fly fica mais quando sai do fly perde o addon completo

actions/scripts/order.lua

 

 

local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}

local txt = {
["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},
["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},
["move"] = {"move!", "move there!", "go there!", "walk there!"},
["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},
["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},
["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},
["portal"] = {"teleport there!", "dark portal!", "teleport!"},
["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},
["fly"] = {"let's fly!", "let me get on you!"},
["levitate"] = {"let's levitate!"},
["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},
["headbutt"] = {"headbutt on tree", "headbutt that tree!", "headbutt it off"}, --alterado v1.6
}

function onUse(cid, item, frompos, item2, topos)
	local checkpos = topos
	checkpos.stackpos = 0

	if getTileThingByPos(checkpos).uid <= 0 then return true end

--------END FLY/RIDE --------
if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then

	if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
        return true
    end

	local item = getPlayerSlotItem(cid, 8)
	local pokemon = getItemAttribute(item.uid, "poke")
	local x = pokes[pokemon]

        if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
        doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
        return true
        end

	doSummonMonster(cid, pokemon)

	local pk = getCreatureSummons(cid)[1]

		if not isCreature(pk) then
			pk = doCreateMonster(pokemon, backupPos)
			if not isCreature(pk) then
				doPlayerSendCancel(cid, "You can't stop flying/riding here.")
			return true
			end
			doConvinceCreature(cid, pk)
		end

	doTeleportThing(pk, getThingPos(cid), false)
	doCreatureSetLookDir(pk, getCreatureLookDir(cid))

	adjustStatus(pk, item.uid, true, false, true)

	doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)
	
    doRegainSpeed(cid)  --alterado v1.7
    
	doRemoveCondition(cid, CONDITION_OUTFIT)
	setPlayerStorageValue(cid, 17000, -1)
	setPlayerStorageValue(cid, 17001, -1)
		local pkjg = getCreatureSummons(cid)[1]
	                local pkza = getPlayerSlotItem(cid, 8).uid
                local pkxd = getItemAttribute(pkjg,"addon")
                if not pkxd then
                                doSetItemAttribute(pkza,"addon",0) 

                end
                if pkxd > 0 then
                                doSetCreatureOutfit(pkjg, {lookType = pkza}, -1)
								end


return true
end
-----------------------------
-------- DUEL SYSTEM ------------------------
if isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) <= -1 and getPlayerStorageValue(item2.uid, 52480) <= -1 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---                         
if getPlayerStorageValue(cid, 52480) >= 1 then    --alterado v1.6.1
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages[s]) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
--- 
local player = getRecorderPlayer(topos)   --alterado v1.6.1
   doPlayerSetVocation(cid, 8) 
   openChannelDialog(cid)   
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(cid, 6598754, 5)                                 
   setPlayerStorageValue(cid, 52482, getCreatureName(player)) --alterado v1.6.1
   setPlayerStorageValue(cid, 52483, 0)
   doCreatureSetSkullType(cid, 2)
   return true
   
elseif isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) == 5 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---
if getPlayerStorageValue(cid, 52481) <= -1 then
return true      --alterado v1.6.1
end
if getPlayerStorageValue(cid, 52480) >= 1 then 
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages[s]) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
---  --alterado v1.6.1 funçao agora em lib/some function.lua

local player = getRecorderPlayer(topos)   --alterado v1.6.1 
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(player, 52483, 1)   --alterado v1.6.1
   doCreatureSetSkullType(cid, 1)
   doCreatureSetSkullType(player, 1)      --alterado v1.6.1
   doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)
   beginDuel(cid, player, 6)   --alterado v1.6.1
   return true
end
------------------------------------------------------------------------------------

if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end
if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end
markLP(getCreatureSummons(cid)[1], -1)

if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y then
return true
end

local unfix = {x = 1, y = 1, z = 1}
local thisball = getPlayerSlotItem(cid, 8)
local mysum = getCreatureSummons(cid)[1]
local sid = mysum or cid
local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1

	markPos(mysum, topos)
	markOwnerPos(mysum, getThingPos(cid))

-------- ROCK SMASH ---------
if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then
   local pos = getThingPos(uid)

		doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_MONSTER)
		markPos(sid, {x=1,y=1,z=7})
		doFaceCreature(sid, pos)
		doSendMagicEffect(getThingPos(item2.uid), 118)
		doTransformItem(item2.uid, 3610)
			local function growRock()
			doTransformItem(getTileItemById(pos, 3610).uid, 1285)
			end
		addEvent(growRock, intervalToRegrowBushAndStones * 1000)

return true
end
-----------------------------

-------- HEADBUTT -----------
if item2.itemid == 2703 and isInArray(skills["headbutt"], getPokemonName(mysum)) then  --alterado v1.6
                  --id do item  arvore normal
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)
addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------

-------- CUT ----------------
if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then
   local pos = getThingPos(uid)
		local item = getTileItemById(pos, 2767)
		doCreatureSay(sid, "CUT!", TALKTYPE_MONSTER)
		markPos(sid, {x=1,y=1,z=7})
		doFaceCreature(sid, pos)
		doSendMagicEffect(getThingPos(item2.uid), 141)
		doTransformItem(item2.uid, 6216)
			local function growBush()
			doTransformItem(getTileItemById(pos, 6216).uid, 2767)
			end
		addEvent(growBush, intervalToRegrowBushAndStones * 1000)


return true
end
-----------------------------

-------- TRANSFORM ----------                                                                                  --alterado v1.7
if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then
	if item2.uid == mysum then                                                                 --edited
		if isTransformed(mysum) then
			deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))
			markPos(mysum, unfix)
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)
		return true
		end
	doPlayerSendCancel(cid, "Your ditto is not transformed.")
	markPos(mysum, unfix)
	return true
	end

	if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then    --edited transform for shiny ditto
		doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
		markPos(mysum, unfix)
	return true
	end

	if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then
		doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")
		markPos(mysum, unfix)
	return true
	end
	if getCreatureName(item2.uid) == "Smeargle" then
		doPlayerSendCancel(cid, "Your ditto can't copy a smeargle.")
		markPos(mysum, unfix)
		return true
	end
	if isOutlanderPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a outlander pokemon.")
		markPos(mysum, unfix)
		return true
	end
		
	if isLegendaryPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a legendary pokemon.")
		markPos(mysum, unfix)
		return true
	end
	if isMegaPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a mega pokemon.")
		markPos(mysum, unfix)
		return true
	end
	if isShiny(item2.uid) then
		boost = getItemAttribute(thisball.uid, "boost") or 0
		if boost < 50 then
			doPlayerSendCancel(cid, "Your ditto can't copy a shiny pokemon.")
			markPos(mysum, unfix)
		return true
		end
	end
	if isInArray(dittoShinyCopy, getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a shiny of a clan.")
		markPos(mysum, unfix)
		return true
	end
	if getCreatureCondition(getCreatureMaster(mysum), CONDITION_INFIGHT) then
		doPlayerSendCancel(cid, "You ditto can't copy during fight.")
		markPos(mysum, unfix)
	return true
	end
	if isSummon(item2.uid) and getPlayerGroupId(getCreatureMaster(item2.uid)) >= 3 then
		doPlayerSendCancel(cid, "You can't copy a pokemon of a staff member!")
		markPos(mysum, unfix)
	return true
	end
	if pokes[getCreatureName(item2.uid)] then
		if pokes[getCreatureName(item2.uid)].level > getPlayerLevel(cid) then
			doPlayerSendCancel(cid, "You need level "..pokes[getCreatureName(item2.uid)].level.." to transform in this pokemon.")
			markPos(mysum, unfix)
		return true
		end
	end
			
		

	local cd = getCD(thisball.uid, "trans", 30)

	if cd > 0 then
	doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")
	markPos(mysum, unfix)
	return true
	end

	if getHappiness(mysum) <= 50 then
		doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)
		markPos(mysum, unfix)
	return true
	end
	if isTransformed(mysum) then
		doPlayerSendTextMessage(cid, 27, "Your ditto already transformed.")
		markPos(mysum, unfix)
	return true
	end

	local turn = getItemAttribute(thisball.uid, "transTurn")

		if not turn or turn > 10 then
			doItemSetAttribute(thisball.uid, "transTurn", 0)
		else
			doItemSetAttribute(thisball.uid, "transTurn",  turn + 1)
		end

	local time = 10800

	turn = getItemAttribute(thisball.uid, "transTurn")

	markPos(mysum, unfix)
	setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))
	doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1)
	addEvent(deTransform, time * 1000, mysum, turn)
	doSendMagicEffect(getThingPos(mysum), 184)
	doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)
	local name = getCreatureName(item2.uid)
	setCD(thisball.uid, "trans", 40)
	doItemSetAttribute(thisball.uid, "transBegin", os.clock())
	doSetItemAttribute(thisball.uid, "transLeft", time)
	doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType)
	doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))
	doFaceCreature(mysum, getThingPos(item2.uid))
	doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)
	
    if useKpdoDlls then
		doUpdateMoves(cid)  --alterado v1.6
	end

if dittoCopiesStatusToo then
	adjustStatus(mysum, thisball.uid, true, false)
end

return true
end
-----------------------------

-------- LIGHT --------------
if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then

	markPos(mysum, unfix)

	if not isInArray(skills["light"], getPokemonName(item2.uid)) then
	doPlayerSendCancel(cid, "Your pokemon can't use flash.")
	return true
	end
	
	local cd = getCD(thisball.uid, "light", 30)

	if cd > 0 then
	doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")
	return true
	end

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)
	doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)
	doSendMagicEffect(getThingPos(mysum), 28)

	local size = 5
		size = size + math.floor(getSpecialAttack(mysum) / 60)
		size = size + math.ceil(getPokemonLevel(mysum) / 60)

		if size > 11 then
			size = 11
		end

	doSetCreatureLight(mysum, size, 215, 600*1000)

	local delay = math.floor(30 - getPokemonLevel(mysum) / 4)
		if delay > 0 then
		setCD(thisball.uid, "light", delay)
		end

return true
end  
-----------------------------


-------- DIG ----------------
if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)
	addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------


-------- BLINK / MOVE -------
if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then

	local cd = getCD(thisball.uid, "blink", 30)
    
    if getPlayerStorageValue(mysum, 2365487) ==  1 then
	return true                  --alterado v1.4
	end
	
	if getTileInfo(topos).protection and getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid, 27, "You can't move your pokemon to a protection zone during fight.")
	return true
	end
	if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then
		if isInArray(darkPortalList, getPokeName(mysum)) then
			frase = "Dark Portal"
		else
			frase = "Blink"
		end
		doPlayerSendCancel(cid, frase.." cooldown: ("..getStringmytempo(cd)..")")
		doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
		addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)

	return true
	end

	local CD = isShinyName(getCreatureName(mysum)) and 20 or 30   --edited blink

	markPos(mysum, topos)
	markOwnerPos(mysum, getThingPos(cid))
	setCD(thisball.uid, "blink", CD)
	if isInArray(darkPortalList, getPokeName(mysum)) then
		pos = {x = getThingPos(mysum).x + 1, y = getThingPos(mysum).y + 1, z = getThingPos(mysum).z}
		doSendMagicEffect(pos, 94)
		doDisapear(mysum)
		doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["portal"][math.random(1, #txt["portal"])].."", 1)
		
		pos2 = {x = topos.x + 1, y = topos.y + 1, z = topos.z}
		addEvent(doSendMagicEffect, 500, pos2, 94)
		addEvent(doAppear, 500, mysum)
		addEvent(doTeleportThing, 500, mysum, topos, false)
		addEvent(doCreatureSay, 500, mysum, "DARK PORTAL!", TALKTYPE_MONSTER)
		addEvent(goThere, 500, mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink
	return true
	end
	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)
	doSendDistanceShoot(getThingPos(mysum), topos, 39)
	doSendMagicEffect(getThingPos(mysum), 211)
	doTeleportThing(mysum, topos, false)
	doSendMagicEffect(topos, 134)
	doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)
	goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink

return true
end
-----------------------------


----START FLYorRIDE ---------
if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or isInArray(skills["ride"], getPokemonName(mysum))) then

	--if not isPremium(cid) then
	--doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.")
	--return true
	--end
	if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then 
	   return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
    end
	
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v1.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end
    
    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
    end   

    if getPlayerStorageValue(cid, 5700) == 1 then
       doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") --edited proteçao pra bike
       return true
    end
    
    if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem")) then       --alterado v1.4
       return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
    end
	if getPlayerStorageValue(cid, 31040) >= 1 then
		doPlayerSendCancel(cid, "You can't use this on a Outland.")
	return true
	end
    
	local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
	doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)

	if isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") then
		if isInArray(levitateFlyList, getPokemonName(mysum)) then
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate"][math.random(1, #txt["levitate"])].."", 1)
		else
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)
			
		end
	addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
	else
	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)
	addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))
	end

return true
end
-----------------------------
----------------------------------Control Mind--------------------------------------------   alterado v1.5
if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then
   if not isCreature(item2.uid) then
   return true
   end

   if isSleeping(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon is sleeping.")
   end

   if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then
      return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")
   end
  
   if #getCreatureSummons(cid) == 2 then
      return doPlayerSendCancel(cid, "You only can control one Pokemon!")
   end

   local cd = getCD(thisball.uid, "control", 120)
   
   if cd > 0 then
      doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")
      return true
   end
   
   if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) or isLegendaryPokemon(getCreatureName(item2.uid)) or isShiny(item2.uid) then
      return doPlayerSendCancel(cid, "Your pokemon can't control this mind!")
   end
   
   if getPlayerStorageValue(cid, 22545) >= 1 then       --alterado v1.7
      return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
   end
   
local cmed = item2.uid
setCD(thisball.uid, "control", 120) 
local gender = getPokemonGender(cmed)
doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)
--------------
setPlayerStorageValue(cid, 212124, 1)
doConvinceCreature(cid, cmed) 
setPlayerStorageValue(cmed, 212123, 1) 
doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)

local cmname = getCreatureName(mysum)
local cmpos = getThingPos(mysum)
local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))
doItemSetAttribute(thisball.uid, "hp", pokelife)
doRemoveCreature(mysum)
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
if useKpdoDlls then
   doUpdateMoves(cid)
end

local function check(cid, controled, rod)
if isCreature(cid) then
ball2 = getPlayerSlotItem(cid, 8)
   if getPlayerStorageValue(cid, 888) <= 0 then
   return true
   end
   if not isCreature(controled) then
      setPlayerStorageValue(cid, 212124, 0)
      local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] 
      local pkcmpos = getThingPos(sum)
      doRemoveCreature(sum)
      local item = getPlayerSlotItem(cid, 8)
      local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)
      doConvinceCreature(cid, pk)
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)
      setPlayerStorageValue(cid, 888, -1)  --alterado v1.7
      cleanCMcds(item.uid)
      registerCreatureEvent(pk, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
      return true
   end
   
   if rod <= 0 then
      --Pokemon controlado
      local cmed2 = getCreatureSummons(cid)[1]
	  local poscmed = getThingPos(cmed2)
	  local cmeddir = getCreatureLookDir(cmed2)
	  local namecmed = getCreatureName(cmed2)
	  local gender = getPokemonGender(cmed2)
	  local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
	  doRemoveCreature(getCreatureSummons(cid)[1])
	  local back = doCreateMonster(namecmed, poscmed)
	  addEvent(doCreatureSetSkullType, 150, back, gender)
      doWildAttackPlayer(back, cid)
	  doCreatureSetLookDir(back, cmeddir)
	  addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
	
	  -- pokemon controlador	
      local mynewpos = getThingPos(getCreatureSummons(cid)[1])
      doRemoveCreature(getCreatureSummons(cid)[1])
      local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) 
      doConvinceCreature(cid, pk2)
      addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)
      setPlayerStorageValue(cid, 888, -1) --alterado v1.7
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      setPlayerStorageValue(cid, 212124, 0)
      cleanCMcds(ball2.uid)
      registerCreatureEvent(pk2, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
   else
       if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)
       else 
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
       end
   end
end
addEvent(check, 500, cid, controled, rod-1)
end

check(cid, cmed, 40) 
return true
end
---------------------------------------------------------------------
-------- MOVE / END ---------
    
	local onlyWater = false

	if isWater(getTileThingByPos(checkpos).itemid) then
		onlyWater = true
		for checkwater = 0, 7 do
			if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then
				onlyWater = false
			end
		end
	end

	if onlyWater then
		doPlayerSendCancel(cid, "Destination is not reachable.")
	return true
	end

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", TALKTYPE_MONSTER)
	
	if isCreature(getCreatureTarget(cid)) then
	   goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)           
	else
       addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)                 
	end	
-----------------------------

return true
end 

 

 

Link para o comentário
Compartilhar em outros sites

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local nick = getItemAttribute(item.uid, "nick")
	if not nick then
		local name = getItemAttribute(item.uid, "poke")
			local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..name.." ["..level.."]")
		else
	local level = getItemAttribute(item.uid, "level")
	doCreatureSetNick(getCreatureSummons(cid)[1], ""..nick.." ["..level.."]")
	end
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

actions/scripts/order.lua

 

 

local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}

local txt = {
["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},
["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},
["move"] = {"move!", "move there!", "go there!", "walk there!"},
["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},
["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},
["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},
["portal"] = {"teleport there!", "dark portal!", "teleport!"},
["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},
["fly"] = {"let's fly!", "let me get on you!"},
["levitate"] = {"let's levitate!"},
["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},
["headbutt"] = {"headbutt on tree", "headbutt that tree!", "headbutt it off"}, --alterado v1.6
}

function onUse(cid, item, frompos, item2, topos)
	local checkpos = topos
	checkpos.stackpos = 0

	if getTileThingByPos(checkpos).uid <= 0 then return true end

--------END FLY/RIDE --------
if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then

	if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
        return true
    end

	local item = getPlayerSlotItem(cid, 8)
	local pokemon = getItemAttribute(item.uid, "poke")
	local x = pokes[pokemon]

        if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
        doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
        return true
        end

	doSummonMonster(cid, pokemon)

	local pk = getCreatureSummons(cid)[1]

		if not isCreature(pk) then
			pk = doCreateMonster(pokemon, backupPos)
			if not isCreature(pk) then
				doPlayerSendCancel(cid, "You can't stop flying/riding here.")
			return true
			end
			doConvinceCreature(cid, pk)
		end

	doTeleportThing(pk, getThingPos(cid), false)
	doCreatureSetLookDir(pk, getCreatureLookDir(cid))

	adjustStatus(pk, item.uid, true, false, true)

	doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)
	
    doRegainSpeed(cid)  --alterado v1.7
    
	doRemoveCondition(cid, CONDITION_OUTFIT)
	setPlayerStorageValue(cid, 17000, -1)
	setPlayerStorageValue(cid, 17001, -1)
		local pkjg = getCreatureSummons(cid)[1]
	                local pkza = getPlayerSlotItem(cid, 8).uid
                local pkxd = getItemAttribute(pkjg,"addon")
                if not pkxd then
                                doSetItemAttribute(pkza,"addon",0) 

                end
                if pkxd > 0 then
                                doSetCreatureOutfit(pkjg, {lookType = pkza}, -1)
								end


return true
end
-----------------------------
-------- DUEL SYSTEM ------------------------
if isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) <= -1 and getPlayerStorageValue(item2.uid, 52480) <= -1 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---                         
if getPlayerStorageValue(cid, 52480) >= 1 then    --alterado v1.6.1
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages[s]) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
--- 
local player = getRecorderPlayer(topos)   --alterado v1.6.1
   doPlayerSetVocation(cid, 8) 
   openChannelDialog(cid)   
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(cid, 6598754, 5)                                 
   setPlayerStorageValue(cid, 52482, getCreatureName(player)) --alterado v1.6.1
   setPlayerStorageValue(cid, 52483, 0)
   doCreatureSetSkullType(cid, 2)
   return true
   
elseif isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) == 5 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---
if getPlayerStorageValue(cid, 52481) <= -1 then
return true      --alterado v1.6.1
end
if getPlayerStorageValue(cid, 52480) >= 1 then 
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages[s]) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
---  --alterado v1.6.1 funçao agora em lib/some function.lua

local player = getRecorderPlayer(topos)   --alterado v1.6.1 
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(player, 52483, 1)   --alterado v1.6.1
   doCreatureSetSkullType(cid, 1)
   doCreatureSetSkullType(player, 1)      --alterado v1.6.1
   doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)
   beginDuel(cid, player, 6)   --alterado v1.6.1
   return true
end
------------------------------------------------------------------------------------

if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end
if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end
markLP(getCreatureSummons(cid)[1], -1)

if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y then
return true
end

local unfix = {x = 1, y = 1, z = 1}
local thisball = getPlayerSlotItem(cid, 8)
local mysum = getCreatureSummons(cid)[1]
local sid = mysum or cid
local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1

	markPos(mysum, topos)
	markOwnerPos(mysum, getThingPos(cid))

-------- ROCK SMASH ---------
if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then
   local pos = getThingPos(uid)

		doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_MONSTER)
		markPos(sid, {x=1,y=1,z=7})
		doFaceCreature(sid, pos)
		doSendMagicEffect(getThingPos(item2.uid), 118)
		doTransformItem(item2.uid, 3610)
			local function growRock()
			doTransformItem(getTileItemById(pos, 3610).uid, 1285)
			end
		addEvent(growRock, intervalToRegrowBushAndStones * 1000)

return true
end
-----------------------------

-------- HEADBUTT -----------
if item2.itemid == 2703 and isInArray(skills["headbutt"], getPokemonName(mysum)) then  --alterado v1.6
                  --id do item  arvore normal
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)
addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------

-------- CUT ----------------
if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then
   local pos = getThingPos(uid)
		local item = getTileItemById(pos, 2767)
		doCreatureSay(sid, "CUT!", TALKTYPE_MONSTER)
		markPos(sid, {x=1,y=1,z=7})
		doFaceCreature(sid, pos)
		doSendMagicEffect(getThingPos(item2.uid), 141)
		doTransformItem(item2.uid, 6216)
			local function growBush()
			doTransformItem(getTileItemById(pos, 6216).uid, 2767)
			end
		addEvent(growBush, intervalToRegrowBushAndStones * 1000)


return true
end
-----------------------------

-------- TRANSFORM ----------                                                                                  --alterado v1.7
if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then
	if item2.uid == mysum then                                                                 --edited
		if isTransformed(mysum) then
			deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))
			markPos(mysum, unfix)
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)
		return true
		end
	doPlayerSendCancel(cid, "Your ditto is not transformed.")
	markPos(mysum, unfix)
	return true
	end

	if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then    --edited transform for shiny ditto
		doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
		markPos(mysum, unfix)
	return true
	end

	if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then
		doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")
		markPos(mysum, unfix)
	return true
	end
	if getCreatureName(item2.uid) == "Smeargle" then
		doPlayerSendCancel(cid, "Your ditto can't copy a smeargle.")
		markPos(mysum, unfix)
		return true
	end
	if isOutlanderPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a outlander pokemon.")
		markPos(mysum, unfix)
		return true
	end
		
	if isLegendaryPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a legendary pokemon.")
		markPos(mysum, unfix)
		return true
	end
	if isMegaPokemon(getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a mega pokemon.")
		markPos(mysum, unfix)
		return true
	end
	if isShiny(item2.uid) then
		boost = getItemAttribute(thisball.uid, "boost") or 0
		if boost < 50 then
			doPlayerSendCancel(cid, "Your ditto can't copy a shiny pokemon.")
			markPos(mysum, unfix)
		return true
		end
	end
	if isInArray(dittoShinyCopy, getCreatureName(item2.uid)) then
		doPlayerSendCancel(cid, "Your ditto can't copy a shiny of a clan.")
		markPos(mysum, unfix)
		return true
	end
	if getCreatureCondition(getCreatureMaster(mysum), CONDITION_INFIGHT) then
		doPlayerSendCancel(cid, "You ditto can't copy during fight.")
		markPos(mysum, unfix)
	return true
	end
	if isSummon(item2.uid) and getPlayerGroupId(getCreatureMaster(item2.uid)) >= 3 then
		doPlayerSendCancel(cid, "You can't copy a pokemon of a staff member!")
		markPos(mysum, unfix)
	return true
	end
	if pokes[getCreatureName(item2.uid)] then
		if pokes[getCreatureName(item2.uid)].level > getPlayerLevel(cid) then
			doPlayerSendCancel(cid, "You need level "..pokes[getCreatureName(item2.uid)].level.." to transform in this pokemon.")
			markPos(mysum, unfix)
		return true
		end
	end
			
		

	local cd = getCD(thisball.uid, "trans", 30)

	if cd > 0 then
	doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")
	markPos(mysum, unfix)
	return true
	end

	if getHappiness(mysum) <= 50 then
		doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)
		markPos(mysum, unfix)
	return true
	end
	if isTransformed(mysum) then
		doPlayerSendTextMessage(cid, 27, "Your ditto already transformed.")
		markPos(mysum, unfix)
	return true
	end

	local turn = getItemAttribute(thisball.uid, "transTurn")

		if not turn or turn > 10 then
			doItemSetAttribute(thisball.uid, "transTurn", 0)
		else
			doItemSetAttribute(thisball.uid, "transTurn",  turn + 1)
		end

	local time = 10800

	turn = getItemAttribute(thisball.uid, "transTurn")

	markPos(mysum, unfix)
	setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))
	doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1)
	addEvent(deTransform, time * 1000, mysum, turn)
	doSendMagicEffect(getThingPos(mysum), 184)
	doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)
	local name = getCreatureName(item2.uid)
	setCD(thisball.uid, "trans", 40)
	doItemSetAttribute(thisball.uid, "transBegin", os.clock())
	doSetItemAttribute(thisball.uid, "transLeft", time)
	doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType)
	doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))
	doFaceCreature(mysum, getThingPos(item2.uid))
	doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)
	
    if useKpdoDlls then
		doUpdateMoves(cid)  --alterado v1.6
	end

if dittoCopiesStatusToo then
	adjustStatus(mysum, thisball.uid, true, false)
end

return true
end
-----------------------------

-------- LIGHT --------------
if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then

	markPos(mysum, unfix)

	if not isInArray(skills["light"], getPokemonName(item2.uid)) then
	doPlayerSendCancel(cid, "Your pokemon can't use flash.")
	return true
	end
	
	local cd = getCD(thisball.uid, "light", 30)

	if cd > 0 then
	doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")
	return true
	end

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)
	doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)
	doSendMagicEffect(getThingPos(mysum), 28)

	local size = 5
		size = size + math.floor(getSpecialAttack(mysum) / 60)
		size = size + math.ceil(getPokemonLevel(mysum) / 60)

		if size > 11 then
			size = 11
		end

	doSetCreatureLight(mysum, size, 215, 600*1000)

	local delay = math.floor(30 - getPokemonLevel(mysum) / 4)
		if delay > 0 then
		setCD(thisball.uid, "light", delay)
		end

return true
end  
-----------------------------


-------- DIG ----------------
if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)
	addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))

return true
end
-----------------------------


-------- BLINK / MOVE -------
if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then

	local cd = getCD(thisball.uid, "blink", 30)
    
    if getPlayerStorageValue(mysum, 2365487) ==  1 then
	return true                  --alterado v1.4
	end
	
	if getTileInfo(topos).protection and getCreatureCondition(getCreatureMaster(cid), CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid, 27, "You can't move your pokemon to a protection zone during fight.")
	return true
	end
	if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then
		if isInArray(darkPortalList, getPokeName(mysum)) then
			frase = "Dark Portal"
		else
			frase = "Blink"
		end
		doPlayerSendCancel(cid, frase.." cooldown: ("..getStringmytempo(cd)..")")
		doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
		addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)

	return true
	end

	local CD = isShinyName(getCreatureName(mysum)) and 20 or 30   --edited blink

	markPos(mysum, topos)
	markOwnerPos(mysum, getThingPos(cid))
	setCD(thisball.uid, "blink", CD)
	if isInArray(darkPortalList, getPokeName(mysum)) then
		pos = {x = getThingPos(mysum).x + 1, y = getThingPos(mysum).y + 1, z = getThingPos(mysum).z}
		doSendMagicEffect(pos, 94)
		doDisapear(mysum)
		doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["portal"][math.random(1, #txt["portal"])].."", 1)
		
		pos2 = {x = topos.x + 1, y = topos.y + 1, z = topos.z}
		addEvent(doSendMagicEffect, 500, pos2, 94)
		addEvent(doAppear, 500, mysum)
		addEvent(doTeleportThing, 500, mysum, topos, false)
		addEvent(doCreatureSay, 500, mysum, "DARK PORTAL!", TALKTYPE_MONSTER)
		addEvent(goThere, 500, mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink
	return true
	end
	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)
	doSendDistanceShoot(getThingPos(mysum), topos, 39)
	doSendMagicEffect(getThingPos(mysum), 211)
	doTeleportThing(mysum, topos, false)
	doSendMagicEffect(topos, 134)
	doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)
	goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink

return true
end
-----------------------------


----START FLYorRIDE ---------
if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or isInArray(skills["ride"], getPokemonName(mysum))) then

	--if not isPremium(cid) then
	--doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.")
	--return true
	--end
	if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then 
	   return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!")   --alterado v1.7
    end
	
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v1.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end
    
    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
    end   

    if getPlayerStorageValue(cid, 5700) == 1 then
       doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") --edited proteçao pra bike
       return true
    end
    
    if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem")) then       --alterado v1.4
       return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
    end
	if getPlayerStorageValue(cid, 31040) >= 1 then
		doPlayerSendCancel(cid, "You can't use this on a Outland.")
	return true
	end
    
	local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
	doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)

	if isInArray(skills["fly"], getPokemonName(mysum)) or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") or getItemAttribute(getPlayerSlotItem(cid, 8).uid, "flyItem") then
		if isInArray(levitateFlyList, getPokemonName(mysum)) then
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate"][math.random(1, #txt["levitate"])].."", 1)
		else
			doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)
			
		end
	addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
	else
	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)
	addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))
	end

return true
end
-----------------------------
----------------------------------Control Mind--------------------------------------------   alterado v1.5
if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then
   if not isCreature(item2.uid) then
   return true
   end

   if isSleeping(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon is sleeping.")
   end

   if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then
      return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")
   end
  
   if #getCreatureSummons(cid) == 2 then
      return doPlayerSendCancel(cid, "You only can control one Pokemon!")
   end

   local cd = getCD(thisball.uid, "control", 120)
   
   if cd > 0 then
      doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")
      return true
   end
   
   if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) or isLegendaryPokemon(getCreatureName(item2.uid)) or isShiny(item2.uid) then
      return doPlayerSendCancel(cid, "Your pokemon can't control this mind!")
   end
   
   if getPlayerStorageValue(cid, 22545) >= 1 then       --alterado v1.7
      return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
   end
   
local cmed = item2.uid
setCD(thisball.uid, "control", 120) 
local gender = getPokemonGender(cmed)
doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)
--------------
setPlayerStorageValue(cid, 212124, 1)
doConvinceCreature(cid, cmed) 
setPlayerStorageValue(cmed, 212123, 1) 
doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)

local cmname = getCreatureName(mysum)
local cmpos = getThingPos(mysum)
local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))
doItemSetAttribute(thisball.uid, "hp", pokelife)
doRemoveCreature(mysum)
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
if useKpdoDlls then
   doUpdateMoves(cid)
end

local function check(cid, controled, rod)
if isCreature(cid) then
ball2 = getPlayerSlotItem(cid, 8)
   if getPlayerStorageValue(cid, 888) <= 0 then
   return true
   end
   if not isCreature(controled) then
      setPlayerStorageValue(cid, 212124, 0)
      local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] 
      local pkcmpos = getThingPos(sum)
      doRemoveCreature(sum)
      local item = getPlayerSlotItem(cid, 8)
      local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)
      doConvinceCreature(cid, pk)
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)
      setPlayerStorageValue(cid, 888, -1)  --alterado v1.7
      cleanCMcds(item.uid)
      registerCreatureEvent(pk, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
      return true
   end
   
   if rod <= 0 then
      --Pokemon controlado
      local cmed2 = getCreatureSummons(cid)[1]
	  local poscmed = getThingPos(cmed2)
	  local cmeddir = getCreatureLookDir(cmed2)
	  local namecmed = getCreatureName(cmed2)
	  local gender = getPokemonGender(cmed2)
	  local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
	  doRemoveCreature(getCreatureSummons(cid)[1])
	  local back = doCreateMonster(namecmed, poscmed)
	  addEvent(doCreatureSetSkullType, 150, back, gender)
      doWildAttackPlayer(back, cid)
	  doCreatureSetLookDir(back, cmeddir)
	  addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
	
	  -- pokemon controlador	
      local mynewpos = getThingPos(getCreatureSummons(cid)[1])
      doRemoveCreature(getCreatureSummons(cid)[1])
      local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) 
      doConvinceCreature(cid, pk2)
      addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)
      setPlayerStorageValue(cid, 888, -1) --alterado v1.7
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      setPlayerStorageValue(cid, 212124, 0)
      cleanCMcds(ball2.uid)
      registerCreatureEvent(pk2, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
   else
       if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)
       else 
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
       end
   end
end
addEvent(check, 500, cid, controled, rod-1)
end

check(cid, cmed, 40) 
return true
end
---------------------------------------------------------------------
-------- MOVE / END ---------
    
	local onlyWater = false

	if isWater(getTileThingByPos(checkpos).itemid) then
		onlyWater = true
		for checkwater = 0, 7 do
			if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then
				onlyWater = false
			end
		end
	end

	if onlyWater then
		doPlayerSendCancel(cid, "Destination is not reachable.")
	return true
	end

	doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", TALKTYPE_MONSTER)
	
	if isCreature(getCreatureTarget(cid)) then
	   goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)           
	else
       addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)                 
	end	
-----------------------------

return true
end 

 

 

o erro sumiu, mas agr deu um bug estranho kk, as sprites de alguns pokes n estão mais aparecendo, ou tem pokes que eu tiro da ball, e eles estão normais, mas quando eu volto ele pra ball e depois tiro denovo da ball, a sprite dele some, e n ta dando erro na distro.

Link para o comentário
Compartilhar em outros sites

o erro sumiu, mas agr deu um bug estranho kk, as sprites de alguns pokes n estão mais aparecendo, ou tem pokes que eu tiro da ball, e eles estão normais, mas quando eu volto ele pra ball e depois tiro denovo da ball, a sprite dele some, e n ta dando erro na distro.

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

Link para o comentário
Compartilhar em outros sites

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                else
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

ta dando a mesma coisa rs kkk

Link para o comentário
Compartilhar em outros sites

ta dando a mesma coisa rs kkk

 

 

local EFFECTS = {
	--[OutfitID] = {Effect}
	["Magmar"] = 35,   
	["Magmortar"] = 35,   
	["Shiny Magmar"] = 35,
	["Jynx"] = 17,          --alterado v2.5
	["Shiny Jynx"] = 17,  
   ["Mamoswine"] = 205,  
   ["Piloswine"] = 205,  --alterado v2.8
   ["Swinub"] = 205,  
}

function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,130130) >= 1 then 
doPlayerSendTextMessage(cid, 19, "Nao Pode Dar Goback Nessa Area.")
return true
end

if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end

if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 
or getPlayerStorageValue(cid, 75846) >= 1 or getPlayerStorageValue(cid, 5700) >= 1  then    --alterado v2.9 <<
   return true                                                                                                                        
end

local ballName = getItemAttribute(item.uid, "poke")
local btype = getPokeballType(item.itemid)
local usando = pokeballs[btype].use

local effect = pokeballs[btype].effect
	if not effect then
		effect = 21
	end
	
unLock(item.uid) --alterado v2.8
if item.itemid == usando then
--if getPlayerGroupId == 8 then
--doPlayerSendTextMessage(cid, 19, "TESTS 1!")
--setPlayerGroupId(cid,1) 
--return true
--end  


                          
   if getPlayerStorageValue(cid, 990) == 1 then -- GYM
		doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
	   return true
	end
	
	if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then     --alterado v2.6
       if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then  
          BackTeam(cid)       
       end
    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 v2.5
    end
    
	 if #getCreatureSummons(cid) <= 0 then
	    if isInArray(pokeballs[btype].all, item.itemid) then
		    doTransformItem(item.uid, pokeballs[btype].on)
			 doItemSetAttribute(item.uid, "hp", 1)
			 --setPlayerGroupId(cid,1)
			 doPlayerSendCancel(cid, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			 doPlayerSendTextMessage(cid, 21, "[Ball-Desbloqueado] Balls Desbloqueado com Sucesso!")
			            doSendMagicEffect(getThingPos(cid), 29)
           doSendAnimatedText(getCreaturePosition(cid),"Unlock",math.random(1,255)) 
		    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
    doReturnPokemon(cid, z, item, effect)
elseif item.itemid == pokeballs[btype].on then
--doPlayerSendTextMessage(cid, 19, "TESTS 3!")
--setPlayerGroupId(cid,8) 

	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
	
----------------------- 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)) then                          --alterado v2.9 \/
   local balls = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)
   local low = {}
   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 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
                table.insert(low, nome)
             end
          end
      end
   end
if #low >= 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 boosts = getItemAttribute(item.uid, "boost") or 0

	if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then
	   doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.")
	   return true
    end
    doSummonMonster(cid, pokemon)

	 local pk = getCreatureSummons(cid)[1]
	 if not isCreature(pk) then return true end
	 ------------------------passiva hitmonchan------------------------------
	 if isSummon(pk) then                                                  --alterado v2.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 EFFECTS[getCreatureName(pk)] then             
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) --alterado v2.5
    end
    --------------------------------------------------------------------------      

	 if getCreatureName(pk) == "Ditto" then

		local left = getItemAttribute(item.uid, "transLeft")
		local name = getItemAttribute(item.uid, "transName")

		if left and left > 0 then
			setPlayerStorageValue(pk, 1010, name)
			doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
			addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
			doItemSetAttribute(item.uid, "transBegin", os.clock())
		else
			setPlayerStorageValue(pk, 1010, "Ditto")
		end
	end

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

	doCreatureSetLookDir(pk, 2)

	adjustStatus(pk, item.uid, true, false, true)
	doAddPokemonInOwnList(cid, pokemon)

	doTransformItem(item.uid, item.itemid+1)

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

	local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
	doCreatureSay(cid, mgo, TALKTYPE_SAY)
	doSendMagicEffect(getCreaturePosition(pk), effect)
	
	local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0) 
                elseif look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)

                end

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

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end 

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...