Es sencillo, pero primero tienes que definir la manera en que quieres que suceda, por ejemplo usando una piedra evolutiva u objeto similar, al llevar un objeto y subir de nivel o solamente tener el objeto en la mochila.
Primero creas un nuevo objeto en el archivo Items en la carpeta PBS por ejemplo "Piedra Magneto", puedes simplemente copiar la información de una piedra que ya exista, solo le cambias el Número de index y el nombre Interno.
En caso que uses un objeto como piedra evolutiva, vas a la sección
PItem_Items en el cabezal de scripts y buscas la parte que dice
def pbIsEvolutionStone?(item) y agregas tu piedra a las que ya existen, quedaría algo así
Código:
isConst?(item,PBItems,:SHINYSTONE) ||
isConst?(item,PBItems,:PIEDRAMAGNETO)
ahora te diriges a la sección de
Pokemon_Evolution y buscas la parte que dice
def pbMiniCheckEvolutionItem(pokemon,evonib,level,poke,item), aquí es donde pondrás el condicional para que solamente magnemite evolucione de esa manera, y debe quedar algo así.
Código:
def pbMiniCheckEvolutionItem(pokemon,evonib,level,poke,item)
# Checks for when an item is used on the Pokémon (e.g. an evolution stone)
case evonib
when PBEvolution::Item
########AQUI AGREGAS EL CONDICONAL
ret=-1
if isConst?(pokemon.species,PBSpecies,:MAGNEMITE)
for i in 0...$Trainer.party.length
if $Trainer.party[i].species==PBSpecies::MAGNEMITE &&
$Trainer.party[i].level==pokemon.level
for j in 0...$Trainer.party.length
if $Trainer.party[j].species==PBSpecies::MAGNEMITE && i!=j &&
$Trainer.party[j].level==pokemon.level
for k in 0...$Trainer.party.length
if $Trainer.party[k].species==PBSpecies::MAGNEMITE && k!=i
&& k!=j && $Trainer.party[k].level==pokemon.level
return poke
end
end
end
end
end
end
else
return poke if level==item
end
################
when PBEvolution::ItemMale
return poke if level==item && pokemon.isMale?
when PBEvolution::ItemFemale
return poke if level==item && pokemon.isFemale?
end
return -1
end
Ahora para eliminar a los otros dos pokémon, necesitas otro condicional, este irá en el mismo script pero en la parte de arriba.
Buscas esta parte :
Código:
if createSpecies>0 && $Trainer.party.length<6
newpokemon [MENTION=12671]pokemon[/MENTION].clone
newpokemon.iv [MENTION=12671]pokemon[/MENTION].iv.clone
newpokemon.ev [MENTION=12671]pokemon[/MENTION].ev.clone
newpokemon.species=createSpecies
newpokemon.name=PBSpecies.getName(createSpecies)
newpokemon.setItem(0)
newpokemon.clearAllRibbons
newpokemon.markings=0
newpokemon.ballused=0
newpokemon.calcStats
newpokemon.heal
$Trainer.party.push(newpokemon)
$Trainer.seen[createSpecies]=true
$Trainer.owned[createSpecies]=true
pbSeenForm(newpokemon)
$PokemonBag.pbDeleteItem(getConst(PBItems,:POKEBALL))
end
Y despues del
end colocas un nuevo condicional, y quedaría algo así.
Código:
if createSpecies>0 && $Trainer.party.length<6
newpokemon [MENTION=12671]pokemon[/MENTION].clone
newpokemon.iv [MENTION=12671]pokemon[/MENTION].iv.clone
newpokemon.ev [MENTION=12671]pokemon[/MENTION].ev.clone
newpokemon.species=createSpecies
newpokemon.name=PBSpecies.getName(createSpecies)
newpokemon.setItem(0)
newpokemon.clearAllRibbons
newpokemon.markings=0
newpokemon.ballused=0
newpokemon.calcStats
newpokemon.heal
$Trainer.party.push(newpokemon)
$Trainer.seen[createSpecies]=true
$Trainer.owned[createSpecies]=true
pbSeenForm(newpokemon)
$PokemonBag.pbDeleteItem(getConst(PBItems,:POKEBALL))
end
######AQUÍ COLOCAS NUEVO CONDICIONAL
if [MENTION=12671]pokemon[/MENTION].species==PBSpecies::MAGNETON
a=0
for i in 0...$Trainer.party.length
if $Trainer.party[i].species==PBSpecies::MAGNEMITE
for j in 0...$Trainer.party.length
if $Trainer.party[j].species==PBSpecies::MAGNEMITE && i!=j
a=1
b=i
c=j
end
end
end
end
if a==1
pbRemovePokemonAt(b)
pbRemovePokemonAt(c)
end
end
Con esto debe funcionar, solo agregas en el PBS pokemon.txt el metodo evolutivo de magnemite Evolutions=MAGNETON,Item,PIEDRAMAGNETO
Espero que te sirva, saludos.