Solo tienes que desactivar temporalmente la experiencia ganada.
Puedes hacerlo de esta manera, primero busca la sección de Pokébattle_battle en la sección de scripts, si usas algo como el Elite Battle system, quizás tengas que buscar en otra sección, luego trata de hallar esta parte :
Código:
# Now calculate EXP for the participants
if partic>0 || expshare>0 || haveexpall
if !@opponent && successbegin && pbAllFainted?(@party2)
@scene.pbWildBattleSuccess
successbegin=false
end
for j in [email protected]
next if !@party1[j] || !pbIsOwner?(0,j)
next if @party1[j].hp<=0 || @party1[j].isEgg?
haveexpshare=(isConst?(@party1[j].item,PBItems,:EXPSHARE) ||
isConst?(@party1[j].itemInitial,PBItems,:EXPSHARE))
next if !haveexpshare && !@battlers[i].participants.include?(j)
pbGainExpOne(j,@battlers[i],partic,expshare,haveexpall)
end
ahora solo tienes que agregar un condicional por cada limite de nivel que quieras agregar, por ejemplo para que deje de ganar exp al llegar al nivel 10 cuando el interruptor 300(puede ser cualquiera que este libre) esté desactivado.
Código:
next if @party1[j].level>=10 && $game_switches[300]==false
Ahora lo agregas al script
Código:
# Now calculate EXP for the participants
if partic>0 || expshare>0 || haveexpall
if !@opponent && successbegin && pbAllFainted?(@party2)
@scene.pbWildBattleSuccess
successbegin=false
end
for j in [email protected]
next if !@party1[j] || !pbIsOwner?(0,j)
next if @party1[j].hp<=0 || @party1[j].isEgg?
#AQUI AGREGAS TUS CONDICIONALES
next if @party1[j].level>=10 && $game_switches[300]==false
Ahora solo agregas un condicional adicional por cada limite que desees tener.
Y por ultimo para permitir que sigan ganando experiencia y subiendo de nivel solo activas el interruptor correspondiente.
Espero que te sirva, saludos.