Buenas noches, mi duda es la siguiente, estoy haciendo un cementerio en mi juego y quiero que aparezcan Pokémon salvajes sin la necesidad de poner hierba alta, he cambiado los tags del terreno a hierba alta, el caso es que mientras me muevo se produce la animación de caminar sobre hierba alta, alguna idea para neutralizar esta animación en este TileSet o hacer que aparezcan los Pokémon salvajes sin poner el Tag en hierba alta?
Bueno en la base de datos de RPG maker, se encuentra la animacion, en animaciones de batalla, puedes borrar la animacion simplemente, o cambiar a terreno de arena/cueva, donde no se ve la animacion de la hierba alta pero si aparecen pokemon
Podrías hacer un nuevo tipo de encuentro el cual solo ocurra en un nuevo terrain tag, si quieres puedes usar este TUTORIAL o cualquier otro que te explique como agregar un nuevo tipo de encuentro y un nuevo tipo de terrain.
Pero si solo quieres eliminar la animación para 1 mapa, podrías editar el condicional para esa animación, primero busca lo siguiente dentro la sección PField_Field de la lista del cabezal de scripts.
Código:
# Show grass rustle animation, and auto-move the player over waterfalls and ice
Events.onStepTakenFieldMovement+=proc {|sender,e|
event = e[0] # Get the event affected by field movement
if $scene.is_a?(Scene_Map)
currentTag = pbGetTerrainTag(event)
if PBTerrain.isJustGrass?(pbGetTerrainTag(event,true)) # Won't show if under bridge
$scene.spriteset.addUserAnimation(GRASS_ANIMATION_ID,event.x,event.y,true,1)
elsif event==$game_player
if currentTag==PBTerrain::WaterfallCrest
# Descend waterfall, but only if this event is the player
Kernel.pbDescendWaterfall(event)
elsif PBTerrain.isIce?(currentTag) && !$PokemonGlobal.sliding
Kernel.pbSlideOnIce(event)
end
end
end
}
Y modificas la parte del grass animation con algo así :
Código:
# Show grass rustle animation, and auto-move the player over waterfalls and ice
NUMEROMAPACEMENTERIO=69
Events.onStepTakenFieldMovement+=proc {|sender,e|
event = e[0] # Get the event affected by field movement
if $scene.is_a?(Scene_Map)
currentTag = pbGetTerrainTag(event)
if PBTerrain.isJustGrass?(pbGetTerrainTag(event,true)) && $game_map.map_id!=NUMEROMAPACEMENTERIO# Won't show if under bridge
$scene.spriteset.addUserAnimation(GRASS_ANIMATION_ID,event.x,event.y,true,1)
elsif event==$game_player
if currentTag==PBTerrain::WaterfallCrest
# Descend waterfall, but only if this event is the player
Kernel.pbDescendWaterfall(event)
elsif PBTerrain.isIce?(currentTag) && !$PokemonGlobal.sliding
Kernel.pbSlideOnIce(event)
end
end
end
}
Ahora te agregué la constante NUMEROMAPACEMENTERIO esta va a ser igual al número del mapa del cementerio en el cual la animación de la hierba no se verá, por ejemplo NUMEROMAPACEMENTERIO=69 esto quiere decir que el mapa número 69 no tendrá esa animación.
Espero que alguna de estas formas te sean útiles y logres lo que quieres.
Saludos.
¡Es más fácil en nuestro Discord! Actualmente la comunidad está más activa en nuestro Discord oficial. Todavía puedes crear tu duda aquí si lo prefieres, pero recuerda que estamos en Discord para poder ayudarte de una forma más ágil.