DE
pedido

Chamar uma função ao soltar determinado pokemon da ball

Por Developer Berg, 17 de mar. de 2016 em Scripts

resolvido
script
23
4.2k
Developer BergD
17 de março de 2016 às 15:54

Olá gente, queria pedir a vcs o seguinte, tipo, queria que ao soltar tal pokemon da ball chamasse essa função aqui especificamente para esse pokemon.

sendScreanSound(cid, "Nome Do Som.mp3")

tipo, essa função é de uma script de som, que ela faz com que determinada script solte um som.

 

e é desse jeito que eu quero. tipo queria que ao soltar o pokemon Bulbasaur, ativasse essa função

sendScreanSound(cid, "Bulbasaur.mp3")

ai se eu soltasse um Alakazam, ativasse essa.

sendScreanSound(cid, "Alakazam.mp3")

e assim por diante, eu conseguir ativar essa função na goback, para ativa um som quando solta a ball, e quando volta o pokemon para ball, mas n funciona desse jeito ai que pedi, pq ele só toca o som para a ball, e n para um determinado pokemon.

 

desculpa se n ficou muito bem explicado, se n intenderam eu posso tentar explicar de outra forma.

 

agradeço desde já :D do rep+ quem me ajudar ^^

DeadpoolD
17 de março de 2016 às 18:10

Tem que fazer uma tabela na lib, pra cada Pokémon. Com um som. Daí verifica o nome e executa o som. Pêra, vou ver se faço pelo cell.

Developer BergD
19 de março de 2016 às 12:01

Tem que fazer uma tabela na lib, pra cada Pokémon. Com um som. Daí verifica o nome e executa o som. Pêra, vou ver se faço pelo cell.

já desconfiava que era algo relacionado a uma tabela e a lib kk, ok overllord :D estou esperando ^^

Up

Up

Up

Up

RefeR
19 de março de 2016 às 17:36

Posta seu goback.lua e assim q acabar o filme aqui eu adapto

Voce queria o goback mais o som do pokemon?

Developer BergD
19 de março de 2016 às 17:47

Posta seu goback.lua e assim q acabar o filme aqui eu adapto

Voce queria o goback mais o som do pokemon?

ss, tipo eu tenho a voz dos pokemons aqui, ai para cada pokemon, queria que ele falasse a voz dele quando saísse da ball, exemplo eu soltava o bulbasaur da ball ai chamaria essa função aqui " sendScreanSound(cid, "Bulbasaur.mp3") " se eu soltasse um charmander da ball ai ativava essa função aqui " sendScreanSound(cid, "Charmander.mp3") " e assim vai para cada pokemon.

 

olha a goback da action.

 

 

 

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)
	sendScreanSound(cid, "Back Poke.mp3")
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)
	sendScreanSound(cid, "Go Poke.mp3")
	
	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
				
--if useOTClient then -- para aticar bar spell
	 --  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

 

 

 

a goback da creaturescript.

 

 

 

function onLogout(cid)
    
	local thisitem = getPlayerSlotItem(cid, 8)
	
	if thisitem.uid <= 0 then return true end
	
	local ballName = getItemAttribute(thisitem.uid, "poke")
	
	--------------------------------------------------------
    btype = getPokeballType(thisitem.itemid)
    ---------------------------------------------------------------
    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 not isCreature(cid) then return true end
    if getPlayerStorageValue(cid, 52480) >= 1 or getPlayerStorageValue(cid, 52481) >= 0 then 
       local sid = getPlayerByName(getPlayerStorageValue(cid, 52482))
       local sendLose = true
       if isCreature(sid) then
          if getPlayerStorageValue(sid, 52482) == getCreatureName(cid) then
             addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(sid), "WIN", COLOR_ELECTRIC)
             setPlayerStorageValue(sid, 52480, -1)
             setPlayerStorageValue(sid, 52481, -1)
             setPlayerStorageValue(sid, 52482, -1)
             setPlayerStorageValue(sid, 52483, -1)           --alterado v2.6.1
             setPlayerStorageValue(sid, 6598754, -1)
             doCreatureSetSkullType(sid, 0)
          else
             sendLose = false
          end
       end
       if sendLose then
          addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(cid), "LOSE", COLOR_BURN)
       end
       setPlayerStorageValue(cid, 52480, -1)
       setPlayerStorageValue(cid, 52481, -1)
       setPlayerStorageValue(cid, 52482, -1)
       setPlayerStorageValue(cid, 52483, -1)
       setPlayerStorageValue(cid, 6598754, -1)
       doCreatureSetSkullType(cid, 0)
    end
    --////////////////////////////////////////////////////////////////////////////////////////--
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       local cmed2 = getCreatureSummons(cid)[1]
	   local poscmed = getThingPos(cmed2)
	   local cmeddir = getCreatureLookDir(cmed2)
	   local namecmed = getCreatureName(cmed2)
	   local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
	   local gender = getPokemonGender(cmed2) 
	   local level = getWildPokemonLevel(cmed2)
       doRemoveCreature(getCreatureSummons(cid)[1])
	   local back = doCreateMonster(namecmed, poscmed)
	   addEvent(doCreatureSetSkullType, 150, back, gender)
	   addEvent(setWildPokemonLevel, 150, back, level)
	   doCreatureSetLookDir(back, cmeddir)
	   addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
                                                                            --alterado v2.5  control mind
       -- pokemon controlador	
       local ball2 = getPlayerSlotItem(cid, 8)
       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 v2.7
       cleanCMcds(ball2.uid)
       doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
       registerCreatureEvent(pk2, "SummonDeath")    --alterado v2.6
    end
    
    -------------------------------------------------------------------------------------
    local summon = getCreatureSummons(cid)[1]
     
	if #getCreatureSummons(cid) >= 1 and thisitem.uid > 1 then
		if getPlayerStorageValue(cid, 212124) <= 0 then
		   doItemSetAttribute(thisitem.uid, "hp", (getCreatureHealth(summon) / getCreatureMaxHealth(summon)))
        end                                                          --alterado v2.5
        setPlayerStorageValue(cid, 212124, 0)
        doTransformItem(thisitem.uid, pokeballs[btype].on)
		doSendMagicEffect(getThingPos(summon), pokeballs[btype].effect)
		doRemoveCreature(summon)
	end

	if getCreatureOutfit(cid).lookType == 814 then
		doPlayerStopWatching(cid)
	end

	if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then  --alterado v2.6
		markFlyingPos(cid, getThingPos(cid))
	end
	
	if getPlayerStorageValue(cid, 22545) == 1 then     --alterado v2.4
	   setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)
	   if getGlobalStorageValue(22550) <= 0 then
          endGoldenArena()          --alterado v2.7
       end 
    end

return TRUE
end

local deathtexts = {"Oh no! POKENAME, come back!", "Come back, POKENAME!", "That's enough, POKENAME!", "You did well, POKENAME!",
		    "You need to rest, POKENAME!", "Nice job, POKENAME!", "POKENAME, you are too hurt!"}

function onDeath(cid, deathList)

	local owner = getCreatureMaster(cid)

        if getPlayerStorageValue(cid, 637500) >= 1 then
           doSendMagicEffect(getThingPos(cid), 211)
           doRemoveCreature(cid)
           return true
        end
        
        if getPlayerStorageValue(cid, 212123) >= 1 then --alterado v2.5
           return true
        end
        
        --////////////////////////////////////////////////////////////////////////////////////////--
        checkDuel(owner)                                                                          --alterado v2.6 duel system
        --////////////////////////////////////////////////////////////////////////////////////////--
        
	local thisball = getPlayerSlotItem(owner, 8)
	local ballName = getItemAttribute(thisball.uid, "poke")
	
    btype = getPokeballType(thisball.itemid)

        if #getCreatureSummons(owner) > 1 then
           BackTeam(owner, getCreatureSummons(owner))      
        end

		doSendMagicEffect(getThingPos(cid), pokeballs[btype].effect)
        doTransformItem(thisball.uid, pokeballs[btype].off)

		doPlayerSendTextMessage(owner, 22, "Your pokemon fainted.")
		sendScreanSound(cid, "Back Poke.mp3")

	local say = deathtexts[math.random(#deathtexts)]
		say = string.gsub(say, "POKENAME", getCreatureName(cid))

	if getPlayerStorageValue(cid, 33) <= 0 then
		doCreatureSay(owner, say, TALKTYPE_SAY)
	end

	doItemSetAttribute(thisball.uid, "hp", 0)
	doItemSetAttribute(thisball.uid, "happy", getPlayerStorageValue(cid, 1008) - happyLostOnDeath)
	doItemSetAttribute(thisball.uid, "hunger", getPlayerStorageValue(cid, 1009))

    if useOTClient then
       doPlayerSendCancel(owner, '12//,hide')      --alterado v2.7
    end
    
	doRemoveCreature(cid)

return false
end

 

 

RefeR
19 de março de 2016 às 18:14

Já fiz aqui.

Developer BergD
19 de março de 2016 às 18:17

Já fiz aqui.

ok, to aguardando :D

RefeR
19 de março de 2016 às 18:19

Passar do caderno para o pc

Developer BergD
19 de março de 2016 às 18:22

Passar do caderno para o pc

ok :D

RefeR
19 de março de 2016 às 18:34

Uma pergunta, o som muda com os addon?

Developer BergD
19 de março de 2016 às 18:45

Uma pergunta, o som muda com os addon?

nn, se ele tiver addon, continua com o mesmo som.

RefeR
19 de março de 2016 às 19:27

goback.lua actions

 

 

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)
	sendScreanSound(cid, "Back Poke.mp3")
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)
	sendScreanSound(cid, "Go Poke.mp3")
	
	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
				
--if useOTClient then -- para aticar bar spell
	 --  doPlayerSendCancel(cid, '12//,show') --alterado v2.7
  --  end
-- 	 local pk = getCreatureSummons(cid)[1]
	local pokenamesom = getItemAttribute(item.uid, "poke")
	sendScreanSound(cid, ""pokenamesom".mp3")
else
    doPlayerSendCancel(cid, "This pokemon is fainted.")
end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end

 

 

Nome do arquivo:

nomedopokemon.mp3

Developer BergD
19 de março de 2016 às 19:48

goback.lua actions

 

 

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)
	sendScreanSound(cid, "Back Poke.mp3")
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)
	sendScreanSound(cid, "Go Poke.mp3")
	
	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
				
--if useOTClient then -- para aticar bar spell
	 --  doPlayerSendCancel(cid, '12//,show') --alterado v2.7
  --  end
-- 	 local pk = getCreatureSummons(cid)[1]
	local pokenamesom = getItemAttribute(item.uid, "poke")
	sendScreanSound(cid, ""pokenamesom".mp3")
else
    doPlayerSendCancel(cid, "This pokemon is fainted.")
end

	if useKpdoDlls then
		doUpdateMoves(cid)
	end
return true
end

 

 

Nome do arquivo:

nomedopokemon.mp3

ceetros, pegou normal, mas no caso pegou só 1 som, se eu colocar mais que um som, vai ficar sempre saindo o ultimo, tipo assim.

	local pokenamesom = getItemAttribute(item.uid, "poke")
	sendScreanSound(cid, "bulbasaur.mp3")
	sendScreanSound(cid, "chansey.mp3")

se eu colocar desse jeito, vai ficar saindo o som do " chansey " para todos os pokes quando sairem da ball :/

Editado Março 19 por ricardoberg

RefeR
19 de março de 2016 às 20:27

ceetros, pegou normal, mas no caso pegou só 1 som, se eu colocar mais que um som, vai ficar sempre saindo o ultimo, tipo assim.

	local pokenamesom = getItemAttribute(item.uid, "poke")
	sendScreanSound(cid, "bulbasaur.mp3")
	sendScreanSound(cid, "chansey.mp3")

se eu colocar desse jeito, vai ficar saindo o som do " chansey " para todos os pokes quando sairem da ball :/

 

Não mexe em nada, ele já detecta

local pokenamesom = getItemAttribute(item.uid, "poke")
sendScreanSound(cid, ""pokenamesom".mp3")
else

Ele pega o nome do pokémon e reproduz o arquivo

nomedopokemon.mp3
Developer BergD
19 de março de 2016 às 20:33

 

 

Não mexe em nada, ele já detecta

local pokenamesom = getItemAttribute(item.uid, "poke")
sendScreanSound(cid, ""pokenamesom".mp3")
else

Ele pega o nome do pokémon e reproduz o arquivo

nomedopokemon.mp3

surgiu o seguinte erro na distro.

 

5jnuJfT.png

 

por isso pensei em modificar kk.