PokeRed 0 Postado Junho 22, 2022 Share Postado Junho 22, 2022 Olá, preciso muito de uma ajuda. Em meu projeto de pokétibia estou com um bug (base fenix) Ao player morrer no fly, o pokemon não sai da pokebola nem heala. caso vocês não saibam arrumar esse bug, conseguiriam me ajudar em um script para o player não tomar dano enquanto está em fly/surf/hide?? desde já agradeço. Link para o comentário Compartilhar em outros sites More sharing options...
0 Eskylo 175 Postado Junho 22, 2022 Share Postado Junho 22, 2022 Faz um tempo que não mexo com poketibia, então não consigo te ajudar completamente, mas vou tentar te dar uma luz. Quando o player solta o poke, o sistema atualiza o status da pokebola, dizendo que agora o poke está fora. Quando o play chama o poke de volta, o sistema atualiza o status da pokebola, salvando que agora o poke está dentro. Pra usar surf/fly/ride o player solta o poke, e monta nele, ou seja, o sistema acha que o poke está fora da pokebola. Se ele morre, o sistema ainda acha que o poke está fora. É preciso fazer um tratamento no sistema dizendo que se morreu o poke volte pra dentro da pokebola. Como procuraria resolver isso: Criando um script de morte, quando o player morrer, verifica se ele estava em fly/surf/ride, SE estava, então volta o poke pra pokebola. Ou seja, criar um script de onDeath, e copiar parte do go/back, na verdade só o back, que é voltar pra pokebola. Link para o comentário Compartilhar em outros sites More sharing options...
0 PokeRed 0 Postado Junho 22, 2022 Autor Share Postado Junho 22, 2022 1 hora atrás, Eskylo disse: Faz um tempo que não mexo com poketibia, então não consigo te ajudar completamente, mas vou tentar te dar uma luz. Quando o player solta o poke, o sistema atualiza o status da pokebola, dizendo que agora o poke está fora. Quando o play chama o poke de volta, o sistema atualiza o status da pokebola, salvando que agora o poke está dentro. Pra usar surf/fly/ride o player solta o poke, e monta nele, ou seja, o sistema acha que o poke está fora da pokebola. Se ele morre, o sistema ainda acha que o poke está fora. É preciso fazer um tratamento no sistema dizendo que se morreu o poke volte pra dentro da pokebola. Como procuraria resolver isso: Criando um script de morte, quando o player morrer, verifica se ele estava em fly/surf/ride, SE estava, então volta o poke pra pokebola. Ou seja, criar um script de onDeath, e copiar parte do go/back, na verdade só o back, que é voltar pra pokebola. Muito obrigado; no caso nesse arquivo.lua ondeath, vou colocar nele apenas o back do goback, é isso? caso sim, farei e voltarei para confirmar se funcionou. ^^ Link para o comentário Compartilhar em outros sites More sharing options...
0 Eskylo 175 Postado Junho 22, 2022 Share Postado Junho 22, 2022 Esse é o caminho, criar um script do tipo ondeath, as vezes já existe algum que vc pode utilizar ou criar do zero mesmo A primeira coisa que deve fazer é checar se o player morreu no fly/ride/surf SE SIM, aí aplicar o tratamento do BACK, para que a pokebola possa ser usada pra soltar o poke quando ele nascer de novo. Não tenho certeza se é só copiar/colar, as vezes precisa de uma pequena alteração. Se precisar vai postando os scripts que vamos tentando te ajudar Link para o comentário Compartilhar em outros sites More sharing options...
0 PokeRed 0 Postado Junho 22, 2022 Autor Share Postado Junho 22, 2022 3 minutos atrás, Eskylo disse: Esse é o caminho, criar um script do tipo ondeath, as vezes já existe algum que vc pode utilizar ou criar do zero mesmo A primeira coisa que deve fazer é checar se o player morreu no fly/ride/surf SE SIM, aí aplicar o tratamento do BACK, para que a pokebola possa ser usada pra soltar o poke quando ele nascer de novo. Não tenho certeza se é só copiar/colar, as vezes precisa de uma pequena alteração. Se precisar vai postando os scripts que vamos tentando te ajudar Sim, o bug ocorre somente quando morre no fly/surf/hide. (a pokebola fica preta sem ultilização e so volta se o adm usar /s e usar o poke anterior e dar fly/surf) ai o pokemon morto com o fly volta. vou mostrar meu Goback: action/creaturescript/script/goback function onLogout(cid) if not isCreature(cid) then return true end local thisitem = getPlayerSlotItem(cid, 😎 if thisitem.uid <= 0 then return true end local ballName = getItemAttribute(thisitem.uid, "poke") local btype = getPokeballType(thisitem.itemid) --------------------------------------------------------------- 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 getPlayerStorageValue(cid, 52480) >= 1 and getPlayerStorageValue(cid, 52481) >= 0 then doEndDuel(cid) 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) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doCreateMonster(namecmed, poscmed) addEvent(doCreatureSetSkullType, 150, back, gender) doCreatureSetLookDir(back, cmeddir) addEvent(doCreatureAddHealth, 100, back, hp-maxHp) -- pokemon controlador local ball2 = getPlayerSlotItem(cid, 😎 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) cleanCMcds(ball2.uid) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk2, "SummonDeath") 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 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 markFlyingPos(cid, getThingPos(cid)) end if getPlayerStorageValue(cid, 22545) == 1 then setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1) if getGlobalStorageValue(22550) <= 0 then endGoldenArena() end end return TRUE end local deathtexts = {"Oh nao! POKENAME, volte!", "Volte, POKENAME!", "Isso e o suficiente, POKENAME!", "Voce fez oque pode, POKENAME!", "Voce precisa descansar, POKENAME!", "bom trabalho, POKENAME!", "POKENAME, Voce esta muito ferido!"} 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 return true end --////////////////////////////////////////////////////////////////////////////////////////-- checkDuel(owner) --////////////////////////////////////////////////////////////////////////////////////////-- local thisball = getPlayerSlotItem(owner, 😎 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, "Seu pokemon esta desmaiado.") 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) if ehMonstro(deathList[1]) then doItemSetAttribute(thisball.uid, "happy", getPlayerStorageValue(cid, 1008) - happyLostOnDeath) end doItemSetAttribute(thisball.uid, "hunger", getPlayerStorageValue(cid, 1009)) if useOTClient then doPlayerSendCancel(owner, '12//,hide') --alterado v1.7 end doRemoveCreature(cid) return false end Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PokeRed 0
Olá, preciso muito de uma ajuda. Em meu projeto de pokétibia estou com um bug (base fenix)
Ao player morrer no fly, o pokemon não sai da pokebola nem heala.
caso vocês não saibam arrumar esse bug, conseguiriam me ajudar em um script para o player não tomar dano enquanto está em fly/surf/hide??
desde já agradeço.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados