El def pbBackdrop lo puedes dividir en tres partes, esta parte es donde defines los fondos
Código:
def pbBackdrop
environ=@battle.environment
# Choose backdrop
backdrop="Field"
if environ==PBEnvironment::MovingWater || environ==PBEnvironment::StillWater
backdrop="Water"
elsif environ==PBEnvironment::Cave
backdrop="Cave"
elsif environ==PBEnvironment::Underwater
backdrop="Underwater"
elsif environ==PBEnvironment::Rock
backdrop="Mountain"
else
if !$game_map || !pbGetMetadata($game_map.map_id,MetadataOutdoor)
backdrop="IndoorA"
end
end
if $game_map
back=pbGetMetadata($game_map.map_id,MetadataBattleBack)
if back && back!=""
backdrop=back
end
end
if $PokemonGlobal && $PokemonGlobal.nextBattleBack
backdrop=$PokemonGlobal.nextBattleBack
end
En esta (mas abajo) las bases
Código:
# Choose bases
base=""
trialname=""
if environ==PBEnvironment::Grass || environ==PBEnvironment::TallGrass
trialname="Grass"
elsif environ==PBEnvironment::Sand
trialname="Sand"
elsif $PokemonGlobal.surfing
trialname="Water"
end
if pbResolveBitmap(sprintf("Graphics/Battlebacks/playerbase"+backdrop+trialname))
base=trialname
end
Y aquí las horas del día Day/Night/Eve
Código:
# Choose time of day
time=""
if ENABLESHADING
trialname=""
timenow=pbGetTimeNow
if PBDayNight.isNight?(timenow)
trialname="Night"
elsif PBDayNight.isEvening?(timenow)
trialname="Eve"
end
if pbResolveBitmap(sprintf("Graphics/Battlebacks/battlebg"+backdrop+trialname))
time=trialname
end
end
Por ejemplo si quieres agregar el fondo "battlebgSnowIn" y "battlebgSnowInWater", primero vamos a la primera parte del script y los agregas así :
Código:
#AQUÍ COMIENZAN LOS CONDICIONALES
#COMO LOS NUEVOS FONDOS SOLO FUNCIONAN PARA ESA CUEVA, LE DAREMOS PRIORIDAD AL COLOCARLO DE PRIMERO
#USAREMOS COMO CONDICIONAL "$game_map.map_id" QUE REVISARÁ EL ID DEL MAPA DONDE SE HARÁ EL CAMBIO DE FONDO
#DE EJEMPLO USARÉ EL MAPA CON ID "069"
if $game_map.map_id==69
if environ==PBEnvironment::MovingWater || environ==PBEnvironment::StillWater #OSEA SI ESTAS EN UN TERRENO DE AGUA
backdrop="SnowInWater"
else #SI NO ESTAS EN AGUA ENTONCES ES EL SUELO DE LA CUEVA
backdrop="SnowIn"
end
elsif environ==PBEnvironment::MovingWater || environ==PBEnvironment::StillWater #AQUI CAMBIAS EL "if" POR "elsif"
backdrop="Water"
Ahora para las bases editas la segunda parte y será algo así
Código:
# Choose bases
base=""
trialname=""
#AQUÍ AGREGAREMOS EL CONDICIONAL, AL IGUAL QUE CON LOS FONDOS
#LE DAREMOS PRIORIDAD
#NUEVAMENTE USAMOS EL CONDICIONAL DEL ID DE MAPA
if $game_map.map_id==69
if $PokemonGlobal.surfing #SI HACES SURF EN ESE MAPA
trialname="SnowInWater"
else #SI NO HACES SURF OSEA CAMINAS POR LA CUEVA
trialname="SnowIn"
end
elsif environ==PBEnvironment::Grass || environ==PBEnvironment::TallGrass #CAMBIAS EL "if" POR "elsif"
trialname="Grass"
Con esos cambios debería funcionar, ahora en el caso de que tu cueva ocupe más de un mapa entonces solo agregas otro condicional junto al ya existente así
Código:
if $game_map.map_id==69 || $game_map.map_id==70
el simbolo "||" lo usas para separar los diferente mapas en los que sucederá este cambio.
Pero si usarás muchos mapas puedes hacer una lista y quedaría de este manera
Código:
mapas=[69,70,72,75,86,99,101] #LISTA DE MAPAS
if mapas.include?($game_map.map_id)
Pero todo depende de lo que necesites, espero que ahora si quedará un poco más claro.
Saludos.