FL

Pokes selvagens ganhando XP

Por FlamesAdmin, 14 de out. de 2019 em Scripts

27
3.4k
Yan OliveiraY
16 de outubro de 2019 às 19:52

Cara eu analisei todos os arquivos que te pedi para postar aqui com os que tenho ainda do PDA 1.9 do Slicer, e estão idênticos, muda poucas coisas que não é para dar problema em relação ao seu problema. Mas isso de source adaptada é meio problemático, eu recomendo a utilizar o Pokémon Mythology 2019 (o DXP mais recente postado aqui no fórum), eu estou usando ele e estou gostando bastante, e até agora foi um dos poucos que a distro não deu problema com anti-vírus. 

 

Mas podemos tentar descobrir, acho que pode ter haver com o que o amigo acima falou, algum evento do death ou kill está gerando esse problema. Poste o seu arquivo data/creaturescripts/goback.lua para eu comparar com o que tenho aqui.

16 de outubro de 2019 às 21:14

@Yan18



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 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
           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, "Your pokemon fainted.")

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

    if getPlayerStorageValue(cid, 33) <= 0 then
        doCreatureSay(owner, say, TALKTYPE_MONSTER)
    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

Yan OliveiraY
16 de outubro de 2019 às 22:21

Está igual  também, poste o creaturescripts.lua

16 de outubro de 2019 às 22:46
25 minutos atrás, Yan18 disse:

creaturescripts.lua

creature qm? kkk

Yan OliveiraY
16 de outubro de 2019 às 22:52
5 minutos atrás, FlamesAdmin disse:

creature qm? kkk

Como assim? Data/creaturescripts/creaturescripts.lua

16 de outubro de 2019 às 22:55

 

2 minutos atrás, Yan18 disse:

creaturescripts.lua

tem isso não ?

17 de outubro de 2019 às 14:04

@Yan18tava dando uma olhada no level system da lib e na funçao function adjustWildPoke(cid, optionalLevel) tem isso

if pokes[getCreatureName(cid)].exp then
       local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate
       setPlayerStorageValue(cid, 1006, (exp * generalExpRate/2)*10)
       if getPlayerStorageValue(cid, 22546) == 1 then
          setPlayerStorageValue(cid, 1006, 750)
          doSetCreatureDropLoot(cid, false)      
       end   

ainda não mexi

Yan OliveiraY
17 de outubro de 2019 às 19:16
20 horas atrás, FlamesAdmin disse:

 

tem isso não ?

Como não? Se você tem a pasta creaturescripts, tem que ter o creaturescripts.lua para executar os eventos. Todo Poketibia tem que ter.

5 horas atrás, FlamesAdmin disse:

@Yan18tava dando uma olhada no level system da lib e na funçao function adjustWildPoke(cid, optionalLevel) tem isso

if pokes[getCreatureName(cid)].exp then
       local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate
       setPlayerStorageValue(cid, 1006, (exp * generalExpRate/2)*10)
       if getPlayerStorageValue(cid, 22546) == 1 then
          setPlayerStorageValue(cid, 1006, 750)
          doSetCreatureDropLoot(cid, false)      
       end   

ainda não mexi

Olhei aqui nesse mesmo arquivo level system.lua no PDA 1.9 que tenho, e está a mesma coisa. Cara eu acho que compensa mais você trocar de base, não sei se criou muita função nova, mas procure usar o Pokémon Mythology 2019 como te indiquei, pois ele tem source e você consegue mexer também. Isso ai é um problema pequeno, mas que é chato de achar e gasta muito tempo para o retorno. Mas se quer continuar beleza, porém tem que olhar arquivo por arquivo que envolve level de pokémon selvagem. Se lembrar as últimas alterações que fez antes do problema, fica muito mais fácil e adianta muita coisa.

19 de outubro de 2019 às 09:58
Em 17/10/2019 em 19:16, Yan18 disse:

creaturescripts.lua

creaturescripts.xml no caso né? 

Yan OliveiraY
20 de outubro de 2019 às 00:40
14 horas atrás, FlamesAdmin disse:

creaturescripts.xml no caso né? 

Isso, só falei a extensão errada rs. Mas é esse arquivo mesmo.

20 de outubro de 2019 às 19:05

@Yan18

 

 


<?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>
    <event type="extendedopcode" name="Opcode" event="script" value="opcode/opcode.lua"/>
    <event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>
    <event type="joinchannel" name="ShowPokedex" event="script" value="newpokedex.lua"/>
    <event type="leavechannel" name="ClosePokedex" event="script" value="newpokedex.lua"/>
    <event type="moveitem" name="throwItemAtHouse" event="script" value="player/throwItemAtHouse.lua"/>
    <event type="moveitem" name="MoveItem" event="script" value="player/moveItem.lua"/>
    <event type="kill" name="task_count" script="task.lua"/>
    <event type="kill" name="dropStone" script="dropStone.lua"/>
    <event type="login" name="PlayerLogin" event="script" value="player/login.lua"/>
    <event type="receivemail" name="Mail" event="script" value="mail.lua"/>
    <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/>
    <event type="think" name="Idle" event="script" value="idle.lua"/>
    <event type="death" name="Experience" event="script" value="player/pokeexp.lua"/>
    <event type="spawn" name="Spawn" event="script" value="spawn.lua"/>
    <event type="think" name="t" event="script" value="wildpoke.lua"/>
    <event type="statschange" name="GeneralConfiguration" event="script" value="player/exp2.0.lua"/>
    <event type="advance" name="EffectOnAdvance" event="script" value="levelup.lua"/>
    <event type="direction" name="DirectionSystem" event="script" value="wildpoke.lua"/>
    <event type="attack" name="AttackSystem" event="script" value="wildpoke.lua"/>
    <event type="cast" name="CastSystem" event="script" value="wildpoke.lua"/>
    <event type="target" name="WildAttack" event="script" value="playerattack.lua"/>
    <event type="look" name="LookSystem" event="script" value="player/look.lua"/>
    <event type="death" name="SummonDeath" event="script" value="goback.lua"/>
    <event type="logout" name="PlayerLogout" event="script" value="goback.lua"/>
<!-- TV SYSTEM -->
    <event type="joinchannel" name="WatchTv" event="script" value="tvsys.lua"/>
    <event type="leavechannel" name="StopWatchingTv" event="script" value="tvsys.lua"/>
    <event type="walk" name="WalkTv" event="script" value="tvsys.lua"/>
    <event type="textedit" name="RecordTv" event="script" value="tvsys.lua"/>
    
    <event type="traderequest" name="T2" event="script" value="trade system.lua"/>
    <event type="tradeaccept" name="T1" event="script" value="trade system.lua"/>

</creaturescripts>

 

Editado Outubro 20 por FlamesAdmin

Yan OliveiraY
20 de outubro de 2019 às 23:13
4 horas atrás, FlamesAdmin disse:

@Yan18

  Ocultar conteúdo

 


<?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>
    <event type="extendedopcode" name="Opcode" event="script" value="opcode/opcode.lua"/>
    <event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>
    <event type="joinchannel" name="ShowPokedex" event="script" value="newpokedex.lua"/>
    <event type="leavechannel" name="ClosePokedex" event="script" value="newpokedex.lua"/>
    <event type="moveitem" name="throwItemAtHouse" event="script" value="player/throwItemAtHouse.lua"/>
    <event type="moveitem" name="MoveItem" event="script" value="player/moveItem.lua"/>
    <event type="kill" name="task_count" script="task.lua"/>
    <event type="kill" name="dropStone" script="dropStone.lua"/>
    <event type="login" name="PlayerLogin" event="script" value="player/login.lua"/>
    <event type="receivemail" name="Mail" event="script" value="mail.lua"/>
    <event type="reportbug" name="SaveReportBug" script="reportbug.lua"/>
    <event type="think" name="Idle" event="script" value="idle.lua"/>
    <event type="death" name="Experience" event="script" value="player/pokeexp.lua"/>
    <event type="spawn" name="Spawn" event="script" value="spawn.lua"/>
    <event type="think" name="t" event="script" value="wildpoke.lua"/>
    <event type="statschange" name="GeneralConfiguration" event="script" value="player/exp2.0.lua"/>
    <event type="advance" name="EffectOnAdvance" event="script" value="levelup.lua"/>
    <event type="direction" name="DirectionSystem" event="script" value="wildpoke.lua"/>
    <event type="attack" name="AttackSystem" event="script" value="wildpoke.lua"/>
    <event type="cast" name="CastSystem" event="script" value="wildpoke.lua"/>
    <event type="target" name="WildAttack" event="script" value="playerattack.lua"/>
    <event type="look" name="LookSystem" event="script" value="player/look.lua"/>
    <event type="death" name="SummonDeath" event="script" value="goback.lua"/>
    <event type="logout" name="PlayerLogout" event="script" value="goback.lua"/>
<!-- TV SYSTEM -->
    <event type="joinchannel" name="WatchTv" event="script" value="tvsys.lua"/>
    <event type="leavechannel" name="StopWatchingTv" event="script" value="tvsys.lua"/>
    <event type="walk" name="WalkTv" event="script" value="tvsys.lua"/>
    <event type="textedit" name="RecordTv" event="script" value="tvsys.lua"/>
    
    <event type="traderequest" name="T2" event="script" value="trade system.lua"/>
    <event type="tradeaccept" name="T1" event="script" value="trade system.lua"/>

</creaturescripts>

 

Eu comparei aqui e está a mesma coisa do meu 1.9. 

 

Minha sugestão para você não perder tempo e ter dor de cabeça, faz um backup do seu server, depois pega o zip (ou rar) do seu pokémon e descompacta e substitui no seu servidor (que está com esse problema da exp) alguns arquivos 1 por 1 (ou todos de uma vez, mas sugiro 1 por 1 para testar e ver o problema) em creaturescripts. Começa pelo pokeexp.lua, se não der certo, substitui o exp2.0.lua e vai olhando pela data os arquivos alterados a partir de quando deu problema e troca, e por precaução troca o creaturescripts.xml também.

 

Faça esse procedimento e me diga se ainda continua que investigamos e tentamos resolver.