Hola a todos, estuve hablando con mi colega sobre nuestro hack, específicamente sobre el script de surf, buscando la posibilidad de editar lo siguiente:
HACER QUE EL MINI, AL MOMENTO DE HACER SURF, EN VEZ DE QUE APAREZCA EL BULTO AZUL QUE TODOS CONOCEMOS, APAREZCA EL MINISPRITE DEL POKEMON QUE ESTÁ USANDO.
Ejemplo: SI USA UN BLASTOISE, APARECE EL MINISPRITE DEL BLASTOISE Y ASÍ.
No se mucho sobre scripts y mi colega domina un poco más de lo básico, pero no tanto como para desarrollar este script. Investigando en otra web, encontré de que se puede realizar un SCRIPT con variables dependientes.
Al momento de usar surf, el script trabaja haciendo aparecer el bulto azul en el agua, utilizando el número de la ubicación de este mini (si no me equivoco, creo que es offset). Bajo está teoría, al desarrollarse este script dependiente se podría usar los offset de los minis ya insertados en el juego.
Mi pregunta para todos es, ¿Será posible realizar este script?
Luego seguí revisando y encontré uno para pokemon essentials, algo similar
def Come_back(shiny=nil, animation=nil)
events=$PokemonGlobal.dependentEvents
if $game_variables[Current_Following_Variable]==$Trainer.party.length
$game_variables[Current_Following_Variable]
else
$game_variables[Current_Following_Variable]
end
if $game_variables[Current_Following_Variable]==$Trainer.party.length
remove_sprite(false)
for i in 0...events.length
$scene.spriteset.addUserAnimation(Animation_Come_Out,@realEvents.x,@realEvents.y)
end
else
if $Trainer.party[0].isShiny?
shiny=true
else
shiny=false
end
change_sprite($Trainer.party[0].species, shiny, false)
end
for i in 0..$Trainer.party.length-1
if $Trainer.party.hp>0 && !$Trainer.party[0].egg?
$game_variables[Current_Following_Variable]=i
refresh_sprite
break
end
end
for i in 0...events.length
for i in 0..$Trainer.party.length-1
if $Trainer.party.hp<=0
id = $Trainer.party.species
else
id = $Trainer.party.species
end
end
if events && events[8]=="Dependent"
if shiny==true
events[6]=sprintf("%03ds",id)
if FileTest.image_exist?("Graphics/Characters/"+events[6])
@realEvents.character_name=sprintf("%03ds",id)
else
events[6]=sprintf("%03d",id)
@realEvents.character_name=sprintf("%03d",id)
end
else
events[6]=sprintf("%03d",id)
@realEvents.character_name=sprintf("%03d",id)
end
if animation==true
else
end
end
end
end
Y por último uno donde revisan SURF
#----------------------------------------------------------------------------
# - check_surf(animation)
# - If current Pokemon is a water Pokemon, it is still following.
# - If current Pokemon is not a water Pokemon, remove sprite.
# - Require Water_Pokemon_Can_Surf = true to enable
#----------------------------------------------------------------------------
def check_surf(animation=nil)
events=$PokemonGlobal.dependentEvents
for i in 0...events.length
if events && events[8]=="Dependent"
events[6]=sprintf("nil")
@realEvents.character_name=sprintf("nil")
else
if $Trainer.party[0].hp>0 && !$Trainer.party[0].egg?
if $Trainer.party[0].hasType?(:WATER)
remove_sprite
else
remove_sprite
pbWait(20)
end
elsif $Trainer.party[0].hp<=0
end
end
end
end
Estos dos últimos son para pokemon essentials, y repito lo que me llamó la atención fue esa estructura donde trabajan con variables dependientes.