Oween 2 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 Alguém sabe como resolver os clones do Pokemon ao soltá-los da ball ? Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/ Compartilhar em outros sites More sharing options...
0 Drakopoulos 219 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 Algum erro na distro? Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704677 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704678 Compartilhar em outros sites More sharing options...
0 L3K0T 149 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 (editado) 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, 2016 por Alexy Brocanello Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704679 Compartilhar em outros sites More sharing options...
0 Drakopoulos 219 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704680 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 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 ? Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704681 Compartilhar em outros sites More sharing options...
0 Drakopoulos 219 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704683 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 (editado) 19 minutos atrás, Drakopoulos disse: Vc pode por um exausted no goback do actions poderia me explicar como coloco o exausted ? goback.lua goback.lua Editado Setembro 24, 2016 por Oween Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704684 Compartilhar em outros sites More sharing options...
0 IvanAppel 87 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704688 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 (editado) 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, 2016 por Oween Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704689 Compartilhar em outros sites More sharing options...
0 Drakopoulos 219 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 13 minutos atrás, Oween disse: poderia me explicar como coloco o exausted ? goback.lua Spoiler 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704690 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 Agora, Drakopoulos disse: Mostrar conteúdo oculto 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 Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704691 Compartilhar em outros sites More sharing options...
0 IvanAppel 87 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 Bom, você que sabe, mas as vezes 1 segundo é muito tempo pra morrer Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704692 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 (editado) 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: Mostrar conteúdo oculto 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, 2016 por Oween Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704693 Compartilhar em outros sites More sharing options...
0 Josegvb 87 Postado Setembro 24, 2016 Share Postado Setembro 24, 2016 poderia me falar com ql pokemon acontece isso? Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704694 Compartilhar em outros sites More sharing options...
0 Oween 2 Postado Setembro 24, 2016 Autor Share Postado Setembro 24, 2016 (editado) 4 minutos atrás, Josegvb disse: poderia me falar com ql pokemon acontece isso? acontece as vezes quando um pokemon morre ex: pidgeot já aconteceu com ampharos também Editado Setembro 24, 2016 por Oween Link para o comentário https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/#findComment-1704695 Compartilhar em outros sites More sharing options...
Pergunta
Oween 2
Alguém sabe como resolver os clones do Pokemon ao soltá-los da ball ?
Link para o comentário
https://xtibia.com/forum/topic/242272-clonando-pokemons-ao-soltar-da-ball-dxp/Compartilhar em outros sites
16 respostass a esta questão
Posts Recomendados