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.
Chamar uma função ao soltar determinado pokemon da ball
Por Developer Berg, 17 de mar. de 2016 em Scripts
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

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
estou esperando ^^
Up
Up
Up
Up
Posta seu goback.lua e assim q acabar o filme aqui eu adapto
Voce queria o goback mais o som do pokemon?
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

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
Já fiz aqui.
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Já fiz aqui.
ok, to aguardando ![]()
Passar do caderno para o pc
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Passar do caderno para o pc
ok ![]()
Uma pergunta, o som muda com os addon?
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Uma pergunta, o som muda com os addon?
nn, se ele tiver addon, continua com o mesmo som.
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
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

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
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
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Não mexe em nada, ele já detecta
local pokenamesom = getItemAttribute(item.uid, "poke") sendScreanSound(cid, ""pokenamesom".mp3") elseEle pega o nome do pokémon e reproduz o arquivo
nomedopokemon.mp3
surgiu o seguinte erro na distro.

por isso pensei em modificar kk.


info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg
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.
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
ai se eu soltasse um Alakazam, ativasse essa.
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á
do rep+ quem me ajudar ^^