Ir para conteúdo

[Encerrado] Como limitar lvl poketibia???


Hisoka Fail2

Posts Recomendados

Gostaria de saber como faço para limitar um lvl em meu poketibia, gostaria que a partir do lvl 4k e 200, o player simplesmente parasse de ganhar xp. Obrigado desde de já.

 

OPS:Já tentei colocar no stages a xp 0 para o lvl 4k e 200, não deu em nada.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Hisoka Fail2 disse:

Gostaria de saber como faço para limitar um lvl em meu poketibia, gostaria que a partir do lvl 4k e 200, o player simplesmente parasse de ganhar xp. Obrigado desde de já.

 

OPS:Já tentei colocar no stages a xp 0 para o lvl 4k e 200, não deu em nada.

function onAdvance(cid)    if getPlayerLevel(cid) >= 4200 then        doPlayerAddExperience(cid, (getExperienceForLevel(4200) - getPlayerExperience(cid)))    end    return trueendend
Editado por Crypter
Link para o comentário
Compartilhar em outros sites

8 minutos atrás, Crypter disse:
function onAdvance(cid)    if getPlayerLevel(cid) >= 4200 then        doPlayerAddExperience(cid, (getExperienceForLevel(4200) - getPlayerExperience(cid)))    end    return trueendend

Onde coloco esse arquivo???, desde de já agradeço. 

Link para o comentário
Compartilhar em outros sites

51 minutos atrás, Hisoka Fail2 disse:

Onde coloco esse arquivo???, desde de já agradeço. 

creaturescripts.xml

 <event type="advance" name="maxlvl" event="script" value="maxlvl.lua"/>

 

login.lua

 

registerCreatureEvent(cid, "maxlvl")

  

Editado por Crypter
Link para o comentário
Compartilhar em outros sites

18 minutos atrás, Crypter disse:

creaturescripts.xml

 <event type="advance" name="maxlvl" event="script" value="maxlvl.lua"/>

 

login.lua

 

registerCreatureEvent(cid, "maxlvl")

  

REP+

Link para o comentário
Compartilhar em outros sites

Acredito que o melhor a se fazer é limitar por stages e funções de addexp pro level máximo, desse jeito que está ai o player vai ficar subindo a xp até o level 4201 e voltando pro inicio infinitamente, a não ser que você faça uma espécie de level extra tipo o do jogo Diablo 3 com isso.

Link para o comentário
Compartilhar em outros sites

37 minutos atrás, Scizorgame disse:

Acredito que o melhor a se fazer é limitar por stages e funções de addexp pro level máximo, desse jeito que está ai o player vai ficar subindo a xp até o level 4201 e voltando pro inicio infinitamente, a não ser que você faça uma espécie de level extra tipo o do jogo Diablo 3 com isso.

Como??? Se o cara é 4200 ja executa o comando e a xp nem some...

Link para o comentário
Compartilhar em outros sites

Agora, Crypter disse:

Como??? Se o cara é 4200 ja executa o comando e a xp nem some...

Aqui esse advance só é ativado quando o player upa um level.

 

Na maioria dos poketibias de hoje em dia a xp e stages dos pokemons são configurados no creaturescripts/scripts/pokeexp.lua, no dxp é o creaturescripts/scripts/player/pokeDeath.lua, só botar uma proteção onde faz o player ganhar xp ou na função que faz ele ganhar xp se ela for em lua(alguns servers pegam a padrão e fazem uma personalizada com proteções e coisas extras como vip, held ganhar mais exp, double exp por storage, etc)

 

Vou dar exemplo de uma já com proteção para level máximo:

function playerAddExpZ(cid, exp) --by dzruif not isCreature(cid) or not isPlayer(cid) then return true endlocal bonus = 10local config = {doublexpstg = 17010,staminaextraxp = true,lowstaminalossxp = true,premiumextraxp = 3, -- 3 = +30%, botar false ou 0 caso não queria aumentar xp de vip.maxlevel = 4200,}if getPlayerLevel(cid) >= config.maxlevel then return true endif config.staminaextraxp and getPlayerStamina(cid) >= 2400 thenif getPlayerStamina(cid) >= 2460 thenbonus = bonus + 2 -- +20%elsebonus = bonus + 1 -- +10%endendif config.premiumextraxp and isPremium(cid) thenbonus = bonus + config.premiumextraxpendif exhaustion.get(cid, config.doublexpstg) and exhaustion.get(cid, config.doublexpstg) > 0 thenbonus = bonus + 10endexp = exp*(bonus/10)if config.lowstaminalossxp and getPlayerStamina(cid) < 300 thenexp = exp/2if getPlayerStamina(cid) < 1 thenexp = 0endend	doPlayerAddExp(cid, exp)	doSendAnimatedText(getThingPos(cid), exp, 215)end

só botar no inicio da função if getPlayerLevel(cid) >= 4200 then return true end

Link para o comentário
Compartilhar em outros sites

  • 9 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...