Sulphur Alchemist
Usuario de platino
Buenas, soy nuevo aquí y hace poco añadí (después de experimentar mucho con el programa) la posibilidad de capturar Pokémon salvajes y convertirlos en Pokémon Oscuros al hacerlo con una Pokéball en especial (como la 4º película, la Negra Ball), así como la posibilidad de elegir a un Pokémon de tu equipo para oscurecerlo e incluso invertir el proceso disminuyendo al mínimo su oscuridad.
Yo uso la versión de Essentials 17.1
Bien, vamos por partes:
NEGRA BALL
La Negra Ball o Dark Ball, es una Pokéball especial que hace que cualquier Pokémon que sea atrapado con ella se convierta en un Pokémon Oscuro automáticamente.
¿Cómo lo hacemos?
Lo primero es crear su icono correspondiente, el icono que tendrá en la mochila, cuya imagen yo llamé: "itemDARKBALL".
Esta imagen la alojé en la carpeta: "Graphics/Icons", y la inserté en RPG Maker XP con la opción de insertar.
Hice el icono de la ball para colocarlo en los datos del Pokémon que hayas capturado con ella bajo el nombre de "icon_ball_25", y la guardé en la carpeta "Graphics/Pictures/Summary".
También hice el icono de cómo se vería la Negra Ball cuando el jugador la tirase para atrapar un Pokémon; dibujé las imagenes usando una Pokéball normal de plantilla y las nombré como: "ball_25" y "ball_25_open".
Sus imágenes las alojé en la carpeta: "Graphics/Pictures", las inserté dentro de RPG Maker XP con la opción de insertar y luego las alojé dentro de la carpeta: "Graphics/Pictures/Battle".
Una vez ya tenemos alojadas e insertadas todas las imágenes, vamos a proceder a definir el item en la carpeta PBS, abriendo el documento "items".
Nota: Yo le he puesto el número 577 pero ese número puede variar como queráis mientras no esté repetido. Yo tenía 576 items en mi proyecto y la Negra Ball ha sido mi última implantación.
Una vez hemos definido el item, aún no está acabado ya que hay que definirlo también en la sección de scripts:
En la sección: "PItem_PokeBalls" la definimos como una PokéBall más, yo añadí también la Beast Ball de la 7ª generación. El caso es que tiene que quedar la última y colocarle una coma a la anterior, si no, dará error.
En la misma sección, bajamos y abajo del todo añadimos lo siguiente:
Con este código (pokemon.makeShadow) he hecho que cuando se atrape a un Pokémon salvaje con una Negra Ball, lo convierta en pokémon oscuro automáticamente, yo, además le he añadido la opción de que todos los Pokémon salvajes atrapados por la Negra Ball tengan sus IV's al máximo, y por eso, debajo del primer código he añadido: pokemon.iv=[31,31,31,31,31,31]. Pero esto ya es opcional.
Con esto, la Negra Ball tiene el ratio de una Pokéball normal, es decir, los Pokémon se pueden escapar, pero yo le he añadido la capacidad de ser como una Masterball y para ello he añadido este código debajo:
Bien, pues con esto, ya tenemos añadida la Negra Ball en nuestro proyecto de RPG Maker.
Máquina de Oscuridad
Esta máquina oscurece el corazón del Pokémon que tú elijas, esto es mucho más sencillo de hacer que la Negra Ball.
Sólo hay que crear un evento como en la imagen siguiente y estará listo para usar. Te permite elegir el Pokémon de tu equipo que quieras oscurecer.
Máquina de Oscuridad (invertida)
En mi proyecto he incluido la posibilidad de invertir el proceso de oscuridad y usar esa misma máquina para hacer que la barra de oscuridad baje a 0 de golpe, para ello, sólo hay que añadir esta página al evento de la primera máquina:
Tan sólo es cambiar dos scripts y listo.
Por último me gustaría presentaros algo, y es una Piedra Oscura.
Piedra Oscura
La Piedra Oscura es un objeto que permite evolucionar a cualquier Pokémon Oscuro (sea el que sea) a su última etapa de un golpe, por ejemplo, haría evolucionar a Bulbasaur Oscuro en un Venusaur Oscuro sin pasar por la etapa intermedia. Para crearla lo haremos de la siguiente forma.
Lo primero es dibujar (en mi caso sólo usé el icono del Ámbar Viejo y lo puse en negro) el icono como en el caso de la Negra Ball, nombrarlo, en mi caso lo nombré como: "itemDARKSTONE". Y añadirlo a la carpeta: "Graphics/Icons".
Lo siguiente es definirlo en el archivo "items" de la carpeta PBS:
Y por último es definirla en los scripts de la siguiente manera:
En la sección PItems_Items la definimos como un objeto a parte de las piedras evolutivas normales con el siguiente código:
Y en la sección Pokemon_ShadowPokemon la definimos como si fuera una piedra evolutiva más, pero sólo se podrá usar con los Pokémon Oscuros.
Por último, para que el Pokémon Oscuro pueda evolucionar, creamos una nueva condición de evolución en la sección Pokemon_Evolution:
Y ya en la misma sección buscamos pbMiniCheckEvolutionItem y añadimos nuestra nuevo método de evolución con item:
Seguidamente agregamos lo siguiente a la sección PItems_Item:
Esto sirve para que el juego diga si se puede o no usar la Piedra Oscura con un Pokémon.
Lo que quedaría por hacer es ir al archivo PBS de pokemon y modificar las condiciones de evolución para que surta efecto, os pongo un ejemplo:
Con esto nuestro Bulbasaur Oscuro debería ser capaz de evolucionar en un Venusaur Oscuro.
Y ya está, espero que os sirva de algo todo esto y siento mucho el lenguaje poco técnico que tengo.
Un saludo.
EDITO: Hay un pequeño detalle que se me olvidó de la Piedra Oscura, cuando se usa no pone si el item puede o no usarse en un Pokémon. Para que te lo ponga, simplemente agregamos lo siguiente a la sección PItems_Item:
Yo la he añadido justo debajo de las Piedras Evolutivas, tal como está en el código que he mostrado.
Perdón por las molestias.
PD: Dejo también este pequeño detalle más arriba, donde la sección donde explico la Piedra oscura.
EDITO 2: He vuelto a colocar imágenes y he añadido el icono que se muestra de la Negra Ball en los datos de un Pokémon.
Yo uso la versión de Essentials 17.1
Bien, vamos por partes:
NEGRA BALL
La Negra Ball o Dark Ball, es una Pokéball especial que hace que cualquier Pokémon que sea atrapado con ella se convierta en un Pokémon Oscuro automáticamente.
¿Cómo lo hacemos?
Lo primero es crear su icono correspondiente, el icono que tendrá en la mochila, cuya imagen yo llamé: "itemDARKBALL".
Esta imagen la alojé en la carpeta: "Graphics/Icons", y la inserté en RPG Maker XP con la opción de insertar.
Hice el icono de la ball para colocarlo en los datos del Pokémon que hayas capturado con ella bajo el nombre de "icon_ball_25", y la guardé en la carpeta "Graphics/Pictures/Summary".
También hice el icono de cómo se vería la Negra Ball cuando el jugador la tirase para atrapar un Pokémon; dibujé las imagenes usando una Pokéball normal de plantilla y las nombré como: "ball_25" y "ball_25_open".
Sus imágenes las alojé en la carpeta: "Graphics/Pictures", las inserté dentro de RPG Maker XP con la opción de insertar y luego las alojé dentro de la carpeta: "Graphics/Pictures/Battle".
Una vez ya tenemos alojadas e insertadas todas las imágenes, vamos a proceder a definir el item en la carpeta PBS, abriendo el documento "items".
PHP:
577,DARKBALL,Negra Ball,Negra Balls,3,0,Una Pokéball especial diseñada por el Team Rocket que oscurece el corazón de los Pokémon.,0,2,3,
Una vez hemos definido el item, aún no está acabado ya que hay que definirlo también en la sección de scripts:
En la sección: "PItem_PokeBalls" la definimos como una PokéBall más, yo añadí también la Beast Ball de la 7ª generación. El caso es que tiene que quedar la última y colocarle una coma a la anterior, si no, dará error.
Código:
$BallTypes={
24=>:BEASTBALL,
25=>:DARKBALL
}
Código:
BallHandlers::OnCatch.add(:DARKBALL,proc{|ball,battle,pokemon|
pokemon.makeShadow
pokemon.iv=[31,31,31,31,31,31]
})
Con esto, la Negra Ball tiene el ratio de una Pokéball normal, es decir, los Pokémon se pueden escapar, pero yo le he añadido la capacidad de ser como una Masterball y para ello he añadido este código debajo:
Código:
BallHandlers::IsUnconditional.add(:DARKBALL,proc{|ball,battle,battler|
next true
})
Máquina de Oscuridad
Esta máquina oscurece el corazón del Pokémon que tú elijas, esto es mucho más sencillo de hacer que la Negra Ball.
Sólo hay que crear un evento como en la imagen siguiente y estará listo para usar. Te permite elegir el Pokémon de tu equipo que quieras oscurecer.
Máquina de Oscuridad (invertida)
En mi proyecto he incluido la posibilidad de invertir el proceso de oscuridad y usar esa misma máquina para hacer que la barra de oscuridad baje a 0 de golpe, para ello, sólo hay que añadir esta página al evento de la primera máquina:
Tan sólo es cambiar dos scripts y listo.
Por último me gustaría presentaros algo, y es una Piedra Oscura.
Piedra Oscura
La Piedra Oscura es un objeto que permite evolucionar a cualquier Pokémon Oscuro (sea el que sea) a su última etapa de un golpe, por ejemplo, haría evolucionar a Bulbasaur Oscuro en un Venusaur Oscuro sin pasar por la etapa intermedia. Para crearla lo haremos de la siguiente forma.
Lo primero es dibujar (en mi caso sólo usé el icono del Ámbar Viejo y lo puse en negro) el icono como en el caso de la Negra Ball, nombrarlo, en mi caso lo nombré como: "itemDARKSTONE". Y añadirlo a la carpeta: "Graphics/Icons".
Lo siguiente es definirlo en el archivo "items" de la carpeta PBS:
PHP:
580,DARKSTONE,Piedra Oscura,Piedras Oscuras,1,1200,Una piedra peculiar que hace que los Pokémon Oscuros evolucionen. Es de color girsáceo.,1,0,13,
En la sección PItems_Items la definimos como un objeto a parte de las piedras evolutivas normales con el siguiente código:
Código:
def pbIsDarkStone?(item)
return $ItemData[item] && $ItemData[item][ITEMTYPE]==13
end
Código:
ItemHandlers::UseOnPokemon.addIf(proc{|item| pbIsDarkStone?(item)},
proc{|item,pokemon,scene|
if !pokemon.isShadow?
next true
end
newspecies=pbCheckEvolution(pokemon,item)
if newspecies<=0
scene.pbDisplay(_INTL("No tendrá ningún efecto."))
next false
else
pbFadeOutInWithMusic(99999){
evo=PokemonEvolutionScene.new
evo.pbStartScreen(pokemon,newspecies)
evo.pbEvolution(false)
evo.pbEndScreen
if scene.is_a?(PokemonBag_Scene)
scene.pbRefreshAnnotations(proc{|p| pbCheckEvolution(p,item)>0 })
scene.pbRefresh
end
}
next true
end
})
Código:
ItemDark = 36
EVONAMES=["Unknown",
"Happiness","HappinessDay","HappinessNight","Level","Trade",
"TradeItem","Item","AttackGreater","AtkDefEqual","DefenseGreater",
"Silcoon","Cascoon","Ninjask","Shedinja","Beauty",
"ItemMale","ItemFemale","DayHoldItem","NightHoldItem","HasMove",
"HasInParty","LevelMale","LevelFemale","Location","TradeSpecies",
"LevelDay","LevelNight","LevelDarkInParty","LevelRain","HappinessMoveType",
"Custom1","Custom2","Custom3","Custom4","Custom5",[COLOR="Red"]"ItemDark"[/COLOR],"RadioWave"
]
# 0 = no parameter
# 1 = Positive integer
[COLOR="red"] # 2 = Item internal name[/COLOR]
# 3 = Move internal name
# 4 = Species internal name
# 5 = Type internal name
EVOPARAM=[0, # Unknown (do not use)
0,0,0,1,0, # Happiness, HappinessDay, HappinessNight, Level, Trade
2,2,1,1,1, # TradeItem, Item, AttackGreater, AtkDefEqual, DefenseGreater
1,1,1,1,1, # Silcoon, Cascoon, Ninjask, Shedinja, Beauty
2,2,2,2,3, # ItemMale, ItemFemale, DayHoldItem, NightHoldItem, HasMove
4,1,1,1,4, # HasInParty, LevelMale, LevelFemale, Location, TradeSpecies
1,1,1,1,5, # LevelDay, LevelNight, LevelDarkInParty, LevelRain, HappinessMoveType
1,1,1,1,1, # Custom 1-5
2,1 # ItemDark, RadioWave
]
end
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
return poke if level==item
when PBEvolution::ItemMale
return poke if level==item && pokemon.isMale?
when PBEvolution::ItemFemale
return poke if level==item && pokemon.isFemale?
when PBEvolution::ItemDark
return poke if level==item && pokemon.isShadow?
end
return -1
end
Código:
if pbIsEvolutionStone?(item)
annot=[]
for pkmn in $Trainer.party
elig=(pbCheckEvolution(pkmn,item)>0)
annot.push(elig ? _INTL("PUEDE") : _INTL("NO PUEDE"))
end
end
if pbIsDarkStone?(item)
annot=[]
for pkmn in $Trainer.party
elig=(pbCheckEvolution(pkmn,item)>0)
annot.push(elig ? _INTL("PUEDE") : _INTL("NO PUEDE"))
end
end
Lo que quedaría por hacer es ir al archivo PBS de pokemon y modificar las condiciones de evolución para que surta efecto, os pongo un ejemplo:
PHP:
#-------------------------------
[1]
Name=Bulbasaur
InternalName=BULBASAUR
Type1=GRASS
Type2=POISON
BaseStats=45,49,49,45,65,65
GenderRate=FemaleOneEighth
GrowthRate=Parabolic
BaseEXP=64
EffortPoints=0,0,0,0,1,0
Rareness=45
Happiness=70
Abilities=OVERGROW
HiddenAbility=CHLOROPHYLL
Moves=1,TACKLE,3,GROWL,7,LEECHSEED,9,VINEWHIP,13,POISONPOWDER,13,SLEEPPOWDER,15,TAKEDOWN,19,RAZORLEAF,21,SWEETSCENT,25,GROWTH,27,DOUBLEEDGE,31,WORRYSEED,33,SYNTHESIS,37,SEEDBOMB
EggMoves=AMNESIA,CHARM,CURSE,ENDURE,GIGADRAIN,GRASSWHISTLE,INGRAIN,LEAFSTORM,MAGICALLEAF,NATUREPOWER,PETALDANCE,POWERWHIP,SKULLBASH,SLUDGE
Compatibility=Monster,Grass
StepsToHatch=5355
Height=0.7
Weight=6.9
Color=Green
Shape=8
Habitat=Grassland
RegionalNumbers=1,0,1,231
Kind=Seed
Pokedex=Bulbasaur can be seen napping in bright sunlight. There is a seed on its back. By soaking up the sun's rays, the seed grows progressively larger.
BattlerPlayerY=27
BattlerEnemyY=31
BattlerAltitude=0
Evolutions=IVYSAUR,Level,16,VENUSAUR,ItemDark,DARKSTONE
Y ya está, espero que os sirva de algo todo esto y siento mucho el lenguaje poco técnico que tengo.
Un saludo.
EDITO: Hay un pequeño detalle que se me olvidó de la Piedra Oscura, cuando se usa no pone si el item puede o no usarse en un Pokémon. Para que te lo ponga, simplemente agregamos lo siguiente a la sección PItems_Item:
Código:
if pbIsEvolutionStone?(item)
annot=[]
for pkmn in $Trainer.party
elig=(pbCheckEvolution(pkmn,item)>0)
annot.push(elig ? _INTL("PUEDE") : _INTL("NO PUEDE"))
end
end
if pbIsDarkStone?(item)
annot=[]
for pkmn in $Trainer.party
elig=(pbCheckEvolution(pkmn,item)>0)
annot.push(elig ? _INTL("PUEDE") : _INTL("NO PUEDE"))
end
end
Perdón por las molestias.
PD: Dejo también este pequeño detalle más arriba, donde la sección donde explico la Piedra oscura.
EDITO 2: He vuelto a colocar imágenes y he añadido el icono que se muestra de la Negra Ball en los datos de un Pokémon.
Adjuntos
-
237 bytes Visitas: 220
Última edición: