Algum erro na distro?
- Fórum
- OTServ
- Suporte
- Resolvidos
- Clonando Pokemons ao soltar da ball DXP
Clonando Pokemons ao soltar da ball DXP
Por Oween, 24 de set. de 2016 em Resolvidos
info
Grupo: Visconde
Registrado: 20/03/14
Posts: 367
Reputação: +219
Gênero: Masculino

1 minuto atrás, Drakopoulos disse:Algum erro na distro?
Obrigado por responder acho que tem haver com a velocidade que é solta a poke ball
info
Grupo: Visconde
Registrado: 02/01/14
Posts: 304
Reputação: +149
Gênero: Outro
Char no Tibia: Psy Skyline

28 minutos atrás, Oween disse:Alguém sabe como resolver os clones do Pokemon ao soltá-los da ball ?
lá vai uma dica!!!!
Pokémon que se multiplicam, provavelmente eles não estão configurados corretamente, você tem que verificar Letras maiúsculas e minusculas, verificar a VIDA ver se está corretamente igual em monsters/pokes se esse for o caminho, verificar se o corpo está realmente certo, etc... verificar totalmente alguma diferença no pokemon!
Editado Setembro 24 por Alexy Brocanello
info
Grupo: Visconde
Registrado: 20/03/14
Posts: 367
Reputação: +219
Gênero: Masculino

3 minutos atrás, Oween disse:Obrigado por responder acho que tem haver com a velocidade que é solta a poke ball
Verifique se está dando algum erro na distro quando sumona o poke, pois se n for no server provável que seja no client
4 minutos atrás, Alexy Brocanello disse:lá vai uma dica!!!!
Pokémon que se multiplicam, provavelmente eles não estão configurados corretamente, você tem que verificar Letras maiúsculas e minusculas, verificar a VIDA ver se está corretamente igual em monsters/pokes se esse for o caminho, verificar se o corpo está realmente certo, etc... verificar totalmente alguma diferença no pokemon!
Obrigado pela dica vou ficar atento quanto a isso!
6 minutos atrás, Drakopoulos disse:Verifique se está dando algum erro na distro quando sumona o poke, pois se n for no server provável que seja no client
ok vou verificar, você sabe aonde eu modifico a velocidade de tirar o pokemon da ball tipo colocar um exausted de 3 segundos ?
info
Grupo: Visconde
Registrado: 20/03/14
Posts: 367
Reputação: +219
Gênero: Masculino

17 minutos atrás, Oween disse:Obrigado pela dica vou ficar atento quanto a isso!
ok vou verificar, você sabe aonde eu modifico a velocidade de tirar o pokemon da ball tipo colocar um exausted de 3 segundos ?
Vc pode por um exausted no goback do actions
19 minutos atrás, Drakopoulos disse:Vc pode por um exausted no goback do actions
poderia me explicar como coloco o exausted ?
Editado Setembro 24 por Oween
Olha cara, eu não recomendo colocar um exhausted porque as vezes o jogador precisa trocar rapidamente de poke, ou dar revive, e vai dar ruim ;x
1 minuto atrás, eryrrel disse:Olha cara, eu não recomendo colocar um exhausted porque as vezes o jogador precisa trocar rapidamente de poke, ou dar revive, e vai dar ruim ;x
porem está abusivo a velocidade de recolher o pokemon e soltar ele 1 segundo acho que já seria suficiente
Editado Setembro 24 por Oween
info
Grupo: Visconde
Registrado: 20/03/14
Posts: 367
Reputação: +219
Gênero: Masculino

13 minutos atrás, Oween disse:poderia me explicar como coloco o exausted ?
local EFFECTS = { --[OutfitID] = {Effect} ["Magmar"] = 35, ["Shiny Magmar"] = 35, ["Shiny Magmortar"] = 35, ["Shiny Electivire"] = 48, ["Magmortar"] = 35, ["Electivire"] = 48, ["Jynx"] = 17, --alterado v1.5 ["Shiny Jynx"] = 17, ["Piloswine"] = 205, --alterado v1.8 ["Swinub"] = 205, }local exausted = 3 --Tempo em seg local sto_exa = 892213 --Storage da exaustedfunction onUse(cid, item, frompos, item2, topos)if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true endif isRiderOrFlyOrSurf(cid) then return true endif 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 v1.9 << return true endlocal ballName = getItemAttribute(item.uid, "poke")local btype = getPokeballType(item.itemid)local usando = pokeballs[btype].uselocal effect = pokeballs[btype].effect if not effect then effect = 21 end unLock(item.uid) --alterado v1.8if item.itemid == usando and #getCreatureSummons(cid) > 0 then local summon = getCreatureSummons(cid)[1] if getPlayerStorageValue(summon, 9658783) == 1 and isInArray({"Aggron", "Sudowoodo", "Mega Aggron"}, getCreatureName(summon)) then doKillWildPoke(getCreatureSummons(cid)[1], getCreatureSummons(cid)[1]) doPlayerSendCancel(cid, "This pokemon is fainted.") if isInDuel(cid) then doRemoveCountPokemon(cid) end 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 v1.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 v1.5 end if #getCreatureSummons(cid) <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end end local cd = getCD(item.uid, "blink", 30) if cd > 0 then setCD(item.uid, "blink", 0) end local z = getCreatureSummons(cid)[1] if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then return true end if isInDuel(cid) then doRemoveCountPokemon(cid) end checkGiveUp(cid) setPlayerStorageValue(cid, sto_exa, os.time() + exausted) doReturnPokemon(cid, z, item, effect) doPlayerSendCancel(cid, '12//,hide') --alterado v1.7 doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_DITTO_MEMORY, "sair") -- ditto memory system elseif item.itemid == pokeballs[btype].on then if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE end -- rever a seguranca do pokemon ser sumanado com 0 de hp local pokemon = getItemAttribute(item.uid, "poke") if getPlayerStorageValue(cid, sto_exa) > os.time() then return doPlayerSendCancel(cid, string.format("You're exausted. (%d second%s)", getPlayerStorageValue(cid, sto_exa) - os.time(), (getPlayerStorageValue(cid, sto_exa) - os.time()) > 1 and "s" or "")) end 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 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 and not isGod(cid) 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 endif #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 boost = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) < (x.level+boost) then doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.") return true end ---------------------------- Sistema pokes de clan -------------------------------------- local shinysClan = { ["Shiny Fearow"] = {4, "Wingeon"}, ["Shiny Flareon"] = {1, "Volcanic"}, ["Shiny Vaporeon"] = {2, "Seavel"}, ["Shiny Jolteon"] = {9, "Raibolt"}, ["Shiny Hypno"] = {7, "Psycraft"}, ["Shiny Golem"] = {3, "Orebound"}, ["Shiny Vileplume"] = {8, "Naturia"}, ["Shiny Nidoking"] = {5, "Malefic"}, ["Shiny Hitmontop"] = {6, "Gardestrike"}, --alterado v1.4 } if shinysClan[pokemon] and getPlayerGroupId(cid) < 4 then --alterado v1.9 \/ if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!") return true elseif getPlayerClanRank(cid) ~= 5 then doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!") return true end end -------------------------------------------------------------------------------------- local isNicked, nick, pokemonRealName = false, pokemon, pokemon local pokeSourceCode = "sim" if getItemAttribute(item.uid, "copyName") then -- ditto system pokemon = getItemAttribute(item.uid, "copyName") pokemonRealName = getItemAttribute(item.uid, "poke") end if getItemAttribute(item.uid, "nick") and getItemAttribute(item.uid, "nick") ~= "" then isNicked = true nick = getItemAttribute(item.uid, "nick") pokeSourceCode = doCreateMonsterNick(cid, pokemon, getItemAttribute(item.uid, "nick"), getThingPos(cid), true) else pokeSourceCode = doCreateMonsterNick(cid, pokemon, retireShinyName(pokemonRealName), getThingPos(cid), true) -- chama o pokemon com nome verdadeiro, mas se for shiny ja tera seu nome alterado end if pokeSourceCode == "Nao" then doSendMsg(cid, "Não há espaço para seu pokemon.") return true end local pk = getCreatureSummons(cid)[1] setMoveSummon(cid, true) if not isCreature(pk) then return true end ------------------------passiva hitmonchan------------------------------ if isSummon(pk) then --alterado v1.8 \/ if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then if not getItemAttribute(item.uid, "hands") then doSetItemAttribute(item.uid, "hands", 0) end local hands = getItemAttribute(item.uid, "hands") doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1) end end ------------------------------------------------------------------------- ---------movement magmar, jynx------------- if EFFECTS[getCreatureName(pk)] then markPosEff(pk, getThingPos(pk)) sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) end -------------------------------------------------------------------------- doCreatureSetLookDir(pk, 2) adjustStatus(pk, item.uid, true, true, true) doRegenerateWithY(getCreatureMaster(pk), pk) doCureWithY(getCreatureMaster(pk), pk) doTransformItem(item.uid, pokeballs[btype].use) local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", (isNicked and nick or retireShinyName(pokemon))) doCreatureSay(cid, mgo, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(pk), effect) doSendParticleAura(pk, 81) doPlayerSendCancel(cid, '12//,show') doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_BATTLE_POKEMON, tostring(pk)) setPokemonGhost(pk) if getCreatureName(pk):find("Smeargle") then local id = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "SmeargleID") setPlayerStorageValue(pk, storages.SmeargleID, "Smeargle " .. id) end else doPlayerSendCancel(cid, "This pokemon is fainted.")end -- otclient life doSendLifePokeToOTC(cid) doUpdateMoves(cid) -- otclient life return trueend
Agora, Drakopoulos disse:local EFFECTS = { --[OutfitID] = {Effect} ["Magmar"] = 35, ["Shiny Magmar"] = 35, ["Shiny Magmortar"] = 35, ["Shiny Electivire"] = 48, ["Magmortar"] = 35, ["Electivire"] = 48, ["Jynx"] = 17, --alterado v1.5 ["Shiny Jynx"] = 17, ["Piloswine"] = 205, --alterado v1.8 ["Swinub"] = 205, }local exausted = 3 --Tempo em seg local sto_exa = 892213 --Storage da exaustedfunction onUse(cid, item, frompos, item2, topos)if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true endif isRiderOrFlyOrSurf(cid) then return true endif 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 v1.9 << return true endlocal ballName = getItemAttribute(item.uid, "poke")local btype = getPokeballType(item.itemid)local usando = pokeballs[btype].uselocal effect = pokeballs[btype].effect if not effect then effect = 21 end unLock(item.uid) --alterado v1.8if item.itemid == usando and #getCreatureSummons(cid) > 0 then local summon = getCreatureSummons(cid)[1] if getPlayerStorageValue(summon, 9658783) == 1 and isInArray({"Aggron", "Sudowoodo", "Mega Aggron"}, getCreatureName(summon)) then doKillWildPoke(getCreatureSummons(cid)[1], getCreatureSummons(cid)[1]) doPlayerSendCancel(cid, "This pokemon is fainted.") if isInDuel(cid) then doRemoveCountPokemon(cid) end 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 v1.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 v1.5 end if #getCreatureSummons(cid) <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end end local cd = getCD(item.uid, "blink", 30) if cd > 0 then setCD(item.uid, "blink", 0) end local z = getCreatureSummons(cid)[1] if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then return true end if isInDuel(cid) then doRemoveCountPokemon(cid) end checkGiveUp(cid) setPlayerStorageValue(cid, sto_exa, os.time() + exausted) doReturnPokemon(cid, z, item, effect) doPlayerSendCancel(cid, '12//,hide') --alterado v1.7 doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_DITTO_MEMORY, "sair") -- ditto memory system elseif item.itemid == pokeballs[btype].on then if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE end -- rever a seguranca do pokemon ser sumanado com 0 de hp local pokemon = getItemAttribute(item.uid, "poke") if getPlayerStorageValue(cid, sto_exa) > os.time() then return doPlayerSendCancel(cid, string.format("You're exausted. (%d second%s)", getPlayerStorageValue(cid, sto_exa) - os.time(), (getPlayerStorageValue(cid, sto_exa) - os.time()) > 1 and "s" or "")) end 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 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 and not isGod(cid) 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 endif #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 boost = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) < (x.level+boost) then doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.") return true end ---------------------------- Sistema pokes de clan -------------------------------------- local shinysClan = { ["Shiny Fearow"] = {4, "Wingeon"}, ["Shiny Flareon"] = {1, "Volcanic"}, ["Shiny Vaporeon"] = {2, "Seavel"}, ["Shiny Jolteon"] = {9, "Raibolt"}, ["Shiny Hypno"] = {7, "Psycraft"}, ["Shiny Golem"] = {3, "Orebound"}, ["Shiny Vileplume"] = {8, "Naturia"}, ["Shiny Nidoking"] = {5, "Malefic"}, ["Shiny Hitmontop"] = {6, "Gardestrike"}, --alterado v1.4 } if shinysClan[pokemon] and getPlayerGroupId(cid) < 4 then --alterado v1.9 \/ if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!") return true elseif getPlayerClanRank(cid) ~= 5 then doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!") return true end end -------------------------------------------------------------------------------------- local isNicked, nick, pokemonRealName = false, pokemon, pokemon local pokeSourceCode = "sim" if getItemAttribute(item.uid, "copyName") then -- ditto system pokemon = getItemAttribute(item.uid, "copyName") pokemonRealName = getItemAttribute(item.uid, "poke") end if getItemAttribute(item.uid, "nick") and getItemAttribute(item.uid, "nick") ~= "" then isNicked = true nick = getItemAttribute(item.uid, "nick") pokeSourceCode = doCreateMonsterNick(cid, pokemon, getItemAttribute(item.uid, "nick"), getThingPos(cid), true) else pokeSourceCode = doCreateMonsterNick(cid, pokemon, retireShinyName(pokemonRealName), getThingPos(cid), true) -- chama o pokemon com nome verdadeiro, mas se for shiny ja tera seu nome alterado end if pokeSourceCode == "Nao" then doSendMsg(cid, "Não há espaço para seu pokemon.") return true end local pk = getCreatureSummons(cid)[1] setMoveSummon(cid, true) if not isCreature(pk) then return true end ------------------------passiva hitmonchan------------------------------ if isSummon(pk) then --alterado v1.8 \/ if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then if not getItemAttribute(item.uid, "hands") then doSetItemAttribute(item.uid, "hands", 0) end local hands = getItemAttribute(item.uid, "hands") doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1) end end ------------------------------------------------------------------------- ---------movement magmar, jynx------------- if EFFECTS[getCreatureName(pk)] then markPosEff(pk, getThingPos(pk)) sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) end -------------------------------------------------------------------------- doCreatureSetLookDir(pk, 2) adjustStatus(pk, item.uid, true, true, true) doRegenerateWithY(getCreatureMaster(pk), pk) doCureWithY(getCreatureMaster(pk), pk) doTransformItem(item.uid, pokeballs[btype].use) local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", (isNicked and nick or retireShinyName(pokemon))) doCreatureSay(cid, mgo, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(pk), effect) doSendParticleAura(pk, 81) doPlayerSendCancel(cid, '12//,show') doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_BATTLE_POKEMON, tostring(pk)) setPokemonGhost(pk) if getCreatureName(pk):find("Smeargle") then local id = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "SmeargleID") setPlayerStorageValue(pk, storages.SmeargleID, "Smeargle " .. id) end else doPlayerSendCancel(cid, "This pokemon is fainted.")end -- otclient life doSendLifePokeToOTC(cid) doUpdateMoves(cid) -- otclient life return trueend
vou testar
Bom, você que sabe, mas as vezes 1 segundo é muito tempo pra morrer
2 minutos atrás, eryrrel disse:Bom, você que sabe, mas as vezes 1 segundo é muito tempo pra morrer
realmente!
4 minutos atrás, Drakopoulos disse:local EFFECTS = { --[OutfitID] = {Effect} ["Magmar"] = 35, ["Shiny Magmar"] = 35, ["Shiny Magmortar"] = 35, ["Shiny Electivire"] = 48, ["Magmortar"] = 35, ["Electivire"] = 48, ["Jynx"] = 17, --alterado v1.5 ["Shiny Jynx"] = 17, ["Piloswine"] = 205, --alterado v1.8 ["Swinub"] = 205, }local exausted = 3 --Tempo em seg local sto_exa = 892213 --Storage da exaustedfunction onUse(cid, item, frompos, item2, topos)if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true endif isRiderOrFlyOrSurf(cid) then return true endif 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 v1.9 << return true endlocal ballName = getItemAttribute(item.uid, "poke")local btype = getPokeballType(item.itemid)local usando = pokeballs[btype].uselocal effect = pokeballs[btype].effect if not effect then effect = 21 end unLock(item.uid) --alterado v1.8if item.itemid == usando and #getCreatureSummons(cid) > 0 then local summon = getCreatureSummons(cid)[1] if getPlayerStorageValue(summon, 9658783) == 1 and isInArray({"Aggron", "Sudowoodo", "Mega Aggron"}, getCreatureName(summon)) then doKillWildPoke(getCreatureSummons(cid)[1], getCreatureSummons(cid)[1]) doPlayerSendCancel(cid, "This pokemon is fainted.") if isInDuel(cid) then doRemoveCountPokemon(cid) end 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 v1.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 v1.5 end if #getCreatureSummons(cid) <= 0 then if isInArray(pokeballs[btype].all, item.itemid) then doTransformItem(item.uid, pokeballs[btype].off) doItemSetAttribute(item.uid, "hp", 0) doPlayerSendCancel(cid, "This pokemon is fainted.") return true end end local cd = getCD(item.uid, "blink", 30) if cd > 0 then setCD(item.uid, "blink", 0) end local z = getCreatureSummons(cid)[1] if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then return true end if isInDuel(cid) then doRemoveCountPokemon(cid) end checkGiveUp(cid) setPlayerStorageValue(cid, sto_exa, os.time() + exausted) doReturnPokemon(cid, z, item, effect) doPlayerSendCancel(cid, '12//,hide') --alterado v1.7 doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_DITTO_MEMORY, "sair") -- ditto memory system elseif item.itemid == pokeballs[btype].on then if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then doPlayerSendCancel(cid, "You must put your pokeball in the correct place!") return TRUE end -- rever a seguranca do pokemon ser sumanado com 0 de hp local pokemon = getItemAttribute(item.uid, "poke") if getPlayerStorageValue(cid, sto_exa) > os.time() then return doPlayerSendCancel(cid, string.format("You're exausted. (%d second%s)", getPlayerStorageValue(cid, sto_exa) - os.time(), (getPlayerStorageValue(cid, sto_exa) - os.time()) > 1 and "s" or "")) end 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 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 and not isGod(cid) 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 endif #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 boost = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) < (x.level+boost) then doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.") return true end ---------------------------- Sistema pokes de clan -------------------------------------- local shinysClan = { ["Shiny Fearow"] = {4, "Wingeon"}, ["Shiny Flareon"] = {1, "Volcanic"}, ["Shiny Vaporeon"] = {2, "Seavel"}, ["Shiny Jolteon"] = {9, "Raibolt"}, ["Shiny Hypno"] = {7, "Psycraft"}, ["Shiny Golem"] = {3, "Orebound"}, ["Shiny Vileplume"] = {8, "Naturia"}, ["Shiny Nidoking"] = {5, "Malefic"}, ["Shiny Hitmontop"] = {6, "Gardestrike"}, --alterado v1.4 } if shinysClan[pokemon] and getPlayerGroupId(cid) < 4 then --alterado v1.9 \/ if getPlayerClanNum(cid) ~= shinysClan[pokemon][1] then doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!") return true elseif getPlayerClanRank(cid) ~= 5 then doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!") return true end end -------------------------------------------------------------------------------------- local isNicked, nick, pokemonRealName = false, pokemon, pokemon local pokeSourceCode = "sim" if getItemAttribute(item.uid, "copyName") then -- ditto system pokemon = getItemAttribute(item.uid, "copyName") pokemonRealName = getItemAttribute(item.uid, "poke") end if getItemAttribute(item.uid, "nick") and getItemAttribute(item.uid, "nick") ~= "" then isNicked = true nick = getItemAttribute(item.uid, "nick") pokeSourceCode = doCreateMonsterNick(cid, pokemon, getItemAttribute(item.uid, "nick"), getThingPos(cid), true) else pokeSourceCode = doCreateMonsterNick(cid, pokemon, retireShinyName(pokemonRealName), getThingPos(cid), true) -- chama o pokemon com nome verdadeiro, mas se for shiny ja tera seu nome alterado end if pokeSourceCode == "Nao" then doSendMsg(cid, "Não há espaço para seu pokemon.") return true end local pk = getCreatureSummons(cid)[1] setMoveSummon(cid, true) if not isCreature(pk) then return true end ------------------------passiva hitmonchan------------------------------ if isSummon(pk) then --alterado v1.8 \/ if pokemon == "Shiny Hitmonchan" or pokemon == "Hitmonchan" then if not getItemAttribute(item.uid, "hands") then doSetItemAttribute(item.uid, "hands", 0) end local hands = getItemAttribute(item.uid, "hands") doSetCreatureOutfit(pk, {lookType = hitmonchans[pokemon][hands].out}, -1) end end ------------------------------------------------------------------------- ---------movement magmar, jynx------------- if EFFECTS[getCreatureName(pk)] then markPosEff(pk, getThingPos(pk)) sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk)) end -------------------------------------------------------------------------- doCreatureSetLookDir(pk, 2) adjustStatus(pk, item.uid, true, true, true) doRegenerateWithY(getCreatureMaster(pk), pk) doCureWithY(getCreatureMaster(pk), pk) doTransformItem(item.uid, pokeballs[btype].use) local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", (isNicked and nick or retireShinyName(pokemon))) doCreatureSay(cid, mgo, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(pk), effect) doSendParticleAura(pk, 81) doPlayerSendCancel(cid, '12//,show') doSendPlayerExtendedOpcode(cid, opcodes.OPCODE_BATTLE_POKEMON, tostring(pk)) setPokemonGhost(pk) if getCreatureName(pk):find("Smeargle") then local id = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "SmeargleID") setPlayerStorageValue(pk, storages.SmeargleID, "Smeargle " .. id) end else doPlayerSendCancel(cid, "This pokemon is fainted.")end -- otclient life doSendLifePokeToOTC(cid) doUpdateMoves(cid) -- otclient life return trueend
Obrigado Melhorou agora! <3
Editado Setembro 24 por Oween







info
Grupo: Campones
Registrado: 13/07/15
Posts: 77
Reputação: +2
Alguém sabe como resolver os clones do Pokemon ao soltá-los da ball ?