Autores Originales: Polectron y Kyu
Tutorial 1: introducir nombre y motes con el teclado
¿escribir con el teclado?,¿que tipo de estupidez es esta?Bien,esto basicamente consiste en escribir cosas como el nombre del entrenador o motes de los pokémon con el teclado,es decir,usando las letras del teclado en vez de ir letra por letra con un cursor.
Esto es algo muy facil:
- Abrimos el editor de scripts y nos metemos en el script settings,que está arriba del todo.
- En Settings buscamos lo siguiente:
USEKEYBOARDTEXTENTRY
una vez lo encontremos,veréis que va seguido de un =false (o true en el caso de que sepas hacerlo y estés viendo esto por curiosidad) simplemente tenemos que cambiar esto por = true
Tutorial 2: Cambiar las opciones por defecto
Como el nombre indica,esto es para cambiar las opciones por defecto,por ejemplo,que por defecto la velocidad de los textos esté en rapido en vez de en normal.¿Como hacemos esto?,facil:
- Abrimos el editor de scripts y buscamos el script PScreen_Options
- Buscamos lo siguiente dentro del script:
def initialize
Debajo deberíais ver algo como esto,que es lo que habría que modificar:@textspeed = 2 # Velocidad del texto la velocidad varía según el numero tras el igual 0 = lento 1 = normal 2 = rapida
Así de simple.
@battlescene = 0 # Animaciones de combate,si hay un 0,se verán,si hay un 1,no se verán
@battlestyle = 0 # Estilo de batalla 0 = se pueden cambiar los pokémon al debilitar a otro 1= no se permite
@windowskin = 0 #Basicamente el marco
@textskin = 0 # Skin de los textos
@font = 0 # Font (see also $VersionStyles)(la fuente en los textos,este no es necesario tocarlo)
@screensize = (DEFAULTSCREENZOOM.floor).to_i # 0=half size, 1=full size, 2=double size
@border = 0 # Screen border (0=off, 1=on)
@language = 0 # Language (see also LANGUAGES in script PokemonSystem)
@runstyle = 0 # Run key functionality (0=hold to run, 1=toggle auto-run)
@bgmvolume = 100 # Volume of background music and ME
@sevolume = 100 # Volume of sound effects
end
Tutorial 3: Solución a los problemas con funciones online
Me juego el cuello a que más de uno a intentado probar el script del regalo misterioso y, pese a que está todo bien, no funciona, alguno pensará que el script o los scripts están desfasados, pero no, lo que está desfasado no es el script, sino el RTP de tu rpg maker.Seguro que a todo el que tiene este problema tiene una versión pirata de rpg maker xp,pues dificilmente tendréis en vuestra biblioteca de steam un rpg maker desfasado.
Pero tranquilo mai friend,solamente tienes que descargar esto:
xp_rtp104e
Una vez descargado,lo instalais y voila, tendréis la última versión del RTP, y con ello las funciones online deben funcionar, sino te funciona todavía.
- Tienes el internet desconectado.
- Tienes algún enlace o algo mal.
Tutorial 4: Desactivar el ciclo día/noche
Este, al igual que los anteriores,es simple, solo hay que seguir estos pasos- Vamos al editor de scripts y buscamos el script settings
- Buscamos lo siguiente:
ENABLESHADING
seguido de esto podemos ver por defecto un = true,bien,si queréis desactivar el ciclo día noche simplemente tenemos que cambiar el true por false de tal forma que quede así
ENABLESHADING = false
En el essentials BW viene así por defecto,si lo que queréis es activarlo,simplemente poned true
Tutorial 5: Cambiar la música del mapa por la noche
¿? --------> cualquier usuario que lea esto por primera vez.A ver como lo explico... supongamos que queremos que en un mapa por el día queremos que suene una música alegre y que por la noche suene una más relajada,pues es eso.
Es muy probable que muchos no conozcáis esta función,por eso he decidio añadirla al tutorial,para empezar pondré aquí el codigo de esto,ya viene por defecto con essentials,se encuentra en Game_Map,obviamente,si queremos hacer funcionar esto necesitamos tener activado el ciclo día/noche (como hacerlo más arriba)
def autoplayAsCue
if @map.autoplay_bgm
if PBDayNight.isNight? &&
FileTest.audio_exist?("Audio/BGM/"+ @map.bgm.name+ "n")
pbCueBGM(@map.bgm.name+"n",1.0,@map.bgm.volume,@map.bgm.pitch)
else
pbCueBGM(@map.bgm,1.0)
end
end
if @map.autoplay_bgs
pbBGSPlay(@map.bgs)
end
end
la cosa es simple,a la hora de hacer un mapa veréis que junto a las opciones de tamaño también están las de música,aquí un ejemplovamos a utilizar ese archivo de audio como ejemplo,este sería el que se utilizaría de día,ahora ¿como hacemos para que suene una distinta de noche?,facil,lo primero que debemos hacer es escoger la pieza que queremos que suene por la noche,una vez lo hayamos hecho,debemos renombrarla con el mismo nombre de la canción definida en el editor y añadir una n al final,en el caso de este ejemplo,la que sonaría por la noche debemos llamarla Field1n,y así en cualquier caso.
Si por ejemplo pusieramos en el editor una llamada Ruta,la de noche se tendría que llamar Rutan,así de simple.
Espero haberme explicado bien aquí. Tutorial 6: Crear eventos que solo aparezcan a ciertas horas del día
Esto es muy,muy,muy facil (extremadamente facil),solo es cuestión de aplicar un interruptor que viene con essentials,Podemos hacer que estos eventos aparezcan a cierta hora del día (por la mañana,por el día,por la tarde o por la noche) y que esten en ciertos días de la semana,incluso ambas,obviamente.
Estos interruptores se encuentran en la primera pagina y son los siguientes,por supuesto,los pondré con su descripción correspondiente
sPBDayNight.isDay?(pbGetTimeNow) = Para que aparezca de día
sPBDayNight.isNight?(pbGetTimeNow) = Para que aparezca de noche
sPBDayNight.isMorning?(pbGetTimeNow) = Para que aparezca por la mañana
sPBDayNight.isAfternoon?(pbGetTimeNow) = Para que aparezca por la tarde
------DÍAS DE LA SEMANA-----
sPBIsWeekday(-1,2,4,6) = Para que aparezca lunes,miercoles,viernes y domingo
s:!pbIsWeekday(-1,2,4,6) = Para que aparezca Martes,jueves y sabado,este es muy parecido al anterior,pero lo podéis diferenciar por la exclamación,que basicamente significa lo contrario de lo puesto ahí,es decir,todo lo que no sea ni el -1,2,4 o 6
Tutorial 8: desactivar la animación de hierba alta desde el menú de opciones (Por N. 07 o Rock7JD)
Tutorial aportado por ROCK7JDBueno, este pequeño detalle decorativo, la animación que se produce cuando el protagonista camina a través de tiles con el tag de hierba, genera lag en Pc's de bajo rendimiento, pero igualmente abra quienes tengan buenos componentes y no tendrán problema alguno con ello, ¿así que por que remover la animación de raiz?
- Abrimos el editor de scripts y vamos a PScreen_Options,seguidamente dentro del script buscamos lo siguiente
class PokemonSystem
Debajo debemos pegar este
attr_accessor :textspeed
attr_accessor :battlescene
attr_accessor :battlestyle
attr_accessor :frame
attr_accessor :textskin
attr_accessor :font
attr_accessor :screensize
attr_accessor :language
attr_accessor :border
attr_accessor :runstyle
attr_accessor :bgmvolume
attr_accessor :sevolume
attr_accessor :hierbaalta
- Ahora,en el mismo script,debemos buscar lo siguiente
def initialize
Debajo pegamos este
@textspeed = 1 # Text speed (0=slow, 1=normal, 2=fast)
@battlescene = 0 # Battle effects (animations) (0=on, 1=off)
@battlestyle = 0 # Battle style (0=switch, 1=set)
@**frame = 0 # Default window frame (see also $TextFrames)
@textskin = 0 # Speech frame
@font = 0 # Font (see also $VersionStyles)
@screensize = (DEFAULTSCREENZOOM.floor).to_i # 0=half size, 1=full size, 2=double size
@border = 0 # Screen border (0=off, 1=on)
@language = 0 # Language (see also LANGUAGES in script PokemonSystem)
@runstyle = 0 # Run key functionality (0=hold to run, 1=toggle auto-run)
@bgmvolume = 100 # Volume of background music and ME
@sevolume = 100 # Volume of sound effects
@hierbaalta = 0
- Nuevamente en PScreen_Options debemos buscar esto:
SliderOption.new(_INTL("SE Volume"),0,100,5,
Otra vez debemos pegar un codigo abajo:
proc { $PokemonSystem.sevolume },
proc {|value|
if $PokemonSystem.sevolume!=value
$PokemonSystem.sevolume=value
if $game_system.playing_bgs != nil
$game_system.playing_bgs.volume=value
playingBGS=$game_system.getPlayingBGS
$game_system.bgs_pause
$game_system.bgs_resume(playingBGS)
end
pbPlayCursorSE()
end
}
),
EnumOption.new(_INTL("ANIMACIÓN HIERBA ALTA"),[_INTL("SI"),_INTL("NO")],
proc { $PokemonSystem.hierbaalta},
proc {|value| $PokemonSystem.hierbaalta=value}
), -
Ahora en el editor debemos buscar el script PField_Field y dentro del mismo lo siguiente:
if PBTerrain.isJustGrass?(pbGetTerrainTag(event,true))
Y lo reemplazamos por esto:
if $PokemonSystem.hierbaalta !=1 && PBTerrain.isJustGrass?(pbGetTerrainTag(event,true))
Con esto ya deberíamos tener listo todo,de esta manera podremos activar y desactivar la animación desde las opciones.Tutorial 9: Cambiar el nivel maximo de los pokémon (Por Sergiofr_18)
Esto es una tontería en su opinión, pero si queréis llamar la atención de los youtubers o hacer un juego de 1.786.534 regiones, no está mal del todo.
En Settings, id a la línea 31 y veréis:
MAXIMUMLEVEL = 100
Imaginemos que quieres poner el nivel 200 como el máximo. Simplemente cambia el número que está detrás del igual y listo. Tutorial 10:Veneno fuera de combate y MTs infinitas (Por Sergiofr_18) En Settings, vamos a la línea 49, y vemos esto:
POISONINFIELD = false
POISONFAINTINFIELD = false
FISHINGAUTOHOOK = false
DIVINGSURFACEANYWHERE = false
NEWBERRYPLANTS = true
INFINITETMS = true
La primera corresponde al veneno que nos quita vida al caminar. Ponlo en false y esto no pasará. El siguiente hace que el veneno debilite al Pokémon fuera de combate. Si lo pones en false, no pasará. Nota: si el anterior está en true, y este en false, parará en 1PS. Si ambos están en false nada pasará.
La de abajo de todo hace que las MT sean infinitas o no. True es infinitas, false, finitas.Tutorial 11: Captura Crítica y experiencia al capturar (También por Sergiofr_18)
Si queremos poner estas cosas en nuestro fangame, id a las líneas 92 y 93 en Settings y cambiad a true lo que haya en ella, cada uno activa una de las características mencionadas en el título, respectivamente.Tutorial 12: Eliminar Boost de las medallas (Relajate con los tutos Sergiofr_18, que se te va de las manos)
Hay varias maneras de hacer esto, pero para mí esta es la más sencilla y práctica. Simplemente hay que hacer Ctrl+Shift+F en el editor de scripts, y escribir "badgesboost". Ve a PokeBattle_Battler desde ahí y verás esto:
if @battle.internalbattle && @battle.pbOwnedByPlayer?(@index) &&
@battle.pbPlayer.numbadges>=BADGESBOOSTSPEED
speedmult=(speedmult*1.1).round
Cambia el "*1.1" por 1.0 y listo. Luego haz lo mismo con los todos los que salgan en PokeBattle_Move tras hacer Ctrl+Shift+F
Como podéis ver,son cosas muy simples,pero que no todo el mundo sabe y pueden llegar a ser útiles para algunos (en especial lo del rtp,vaya problemas me dio a mi también) PASO NUMERO 2:
en setting buscamos lo siguiente:
USEKEYBOARDTEXTENTRY
una vez lo encontremos,veréis que va seguido de un =false (o true en el caso de que sepas hacerlo y estés viendo esto por curiosidad)
simplemente tenemos que cambiar esto por = true de tal forma que quede así
USEKEYBOARDTEXTENTRY = true
después de hacer esto ya podremos escribir los nombres con el teclado Tutorial 2: Cambiar las opciones por defecto
como el nombre indica,esto es para cambiar las opciones por defecto,por ejemplo,que por defecto la velocidad de los textos esté en rapido en vez de en normal
¿Como hacemos esto?,facil
PASO NUMERO 1
Abrimos el editor de scripts y buscamos el script PScreen_Options(BW_Options en caso de utilizar el BW engine)
PASO NUMERO 2
buscamos lo siguiente dentro del script
def initialize
debajo deberíais ver algo como esto,que es lo que habría que modificar
@textspeed = 2 # Velocidad del texto la velocidad varía según el numero tras el igual 0 = lento 1 = normal 2 = rapida
@battlescene = 0 # Animaciones de combate,si hay un 0,se verán,si hay un 1,no se verán
@battlestyle = 0 # Estilo de batalla 0 = se pueden cambiar los pokémon al debilitar a otro 1= no se permite
Curiosamente es un usuario de wah ---->[MENTION=19010]Frame[/MENTION] = 0 #Basicamente el marco
@textskin = 0 # Skin de los textos
@font = 0 # Font (see also $VersionStyles)(la fuente en los textos,este no es necesario tocarlo)
@screensize = (DEFAULTSCREENZOOM.floor).to_i # 0=half size, 1=full size, 2=double size
@border = 0 # Screen border (0=off, 1=on)
@language = 0 # Language (see also LANGUAGES in script PokemonSystem)
@runstyle = 0 # Run key functionality (0=hold to run, 1=toggle auto-run)
@bgmvolume = 100 # Volume of background music and ME
@sevolume = 100 # Volume of sound effects
end
Así de simple. Tutorial 3: Solución a los problemas con funciones online
Me juego el cuello a que más de uno a intentado probar el script del regalo misterioso y,pese a que está todo bien,no funciona,alguno pensará que el script o los scripts están desfasados,pero no,lo que está desfasado no es el script,sino el rtp de tu rpg maker.
Seguro que a todo el que tiene este problema tiene una versión pirata de rpg maker xp,pues dificilmente tendréis en vuestra biblioteca de steam un rpg maker desfasado.
Pero tranquilo mai friend,solamente tienes que descargar esto:
xp_rtp104e
Una vez descargado,lo instalais y voila,tendréis la última versión del rtp,y con ello las funciones online deben funcionar,sino te funciona todavía
1)Tienes el internet desconectado
2)Tienes algún enlace o algo mal
Creo que esto es lo más útil de este tuto
PD:no,no se cargará vuestro proyecto
Tutorial 4: Desactivar el ciclo día/noche
Este,al igual que los anteriores,es simple,solo hay que seguir estos pasos
- Buscamos lo siguiente en settings
ENABLESHADING
Seguido de esto podemos ver por defecto un = true,bien,si queréis desactivar el ciclo día noche simplemente tenemos que cambiar el true por false de tal forma que quede así
ENABLESHADING = false
Tutorial 5: Cambiar la música del mapa por la noche
A ver como lo explico... supongamos que queremos que en un mapa por el día queremos que suene una música alegre y que por la noche suene una más relajada, pues es eso.
Es muy probable que muchos no conozcáis esta función, por eso he decidio añadirla al tutorial, para empezar pondré aquí el codigo de esto, ya viene por defecto con essentials, se encuentra en Game_Map, obviamente, si queremos hacer funcionar esto necesitamos tener activado el ciclo día/noche (como hacerlo más arriba)
def autoplayAsCue
la cosa es simple,a la hora de hacer un mapa veréis que junto a las opciones de tamaño también están las de música,aquí un ejemplo
if @map.autoplay_bgm
if PBDayNight.isNight? &&
FileTest.audio_exist?("Audio/BGM/"+ @map.bgm.name+ "n")
pbCueBGM(@map.bgm.name+"n",1.0,@map.bgm.volume,@map.bgm.pitch)
else
pbCueBGM(@map.bgm,1.0)
end
end
if @map.autoplay_bgs
pbBGSPlay(@map.bgs)
end
end
vamos a utilizar ese archivo de audio como ejemplo,este sería el que se utilizaría de día,ahora ¿como hacemos para que suene una distinta de noche?,facil,lo primero que debemos hacer es escoger la pieza que queremos que suene por la noche,una vez lo hayamos hecho,debemos renombrarla con el mismo nombre de la canción definida en el editor y añadir una n al final,en el caso de este ejemplo,la que sonaría por la noche debemos llamarla Field1n,y así en cualquier caso.
Si por ejemplo pusieramos en el editor una llamada Ruta,la de noche se tendría que llamar Rutan,así de simple.
Espero haberme explicado bien aquí.Tutorial 6: Crear eventos que solo aparezcan a ciertas horas del día
Esto es muy,muy,muy facil (extremadamente facil),solo es cuestión de aplicar un interruptor que viene con essentials,Podemos hacer que estos eventos aparezcan a cierta hora del día (por la mañana,por el día,por la tarde o por la noche) y que esten en ciertos días de la semana,incluso ambas,obviamente.
Estos interruptores se encuentran en la primera pagina y son los siguientes,por supuesto,los pondré con su descripción correspondiente
sPBDayNight.isDay?(pbGetTimeNow) = Para que aparezca de día
sPBDayNight.isNight?(pbGetTimeNow) = Para que aparezca de noche
sPBDayNight.isMorning?(pbGetTimeNow) = Para que aparezca por la mañana
sPBDayNight.isAfternoon?(pbGetTimeNow) = Para que aparezca por la tarde
------DÍAS DE LA SEMANA-----
sPBIsWeekday(-1,2,4,6) = Para que aparezca lunes,miercoles,viernes y domingo
s:!pbIsWeekday(-1,2,4,6) = Para que aparezca Martes,jueves y sabado,este es muy parecido al anterior,pero lo podéis diferenciar por la exclamación,que basicamente significa lo contrario de lo puesto ahí,es decir,todo lo que no sea ni el -1,2,4 o 6 Tutorial 7: Continuar la partida al perder un combate Este,como todos los demás,es muy facil de hacer.
Tal y como dice el título,se trata de continuar el juego tras perder,es decir,que en vez de mandarte al centro pokémon continua con el evento,esto nos sirve,por ejemplo,para hacer combates imposibles de ganar (por raro que suene en temas de historia sirve) o para la primera batalla contra el rival,para hacerlo simplemente tendremos que cambiar una cosa en el script de batalla (Dentro del evento,no en el editor)
PASO NUMERO 1
pbTrainerBattle(PBTrainers::RIVAL1,"Adé",_I("¡Solamente me he dejado ganar!"),false,0,false,0)
Aquí tenemos el susodicho script sin nada cambiado,lo que tenemos que editar aquí es la siguiente parte
PASO NUMERO 2
false,0,false,0)
para hacer esto,debemos cambiar el segundo false por true y asegurarnos que en el condiciones y efectos (que es donde debe estar el script) tenemos marcada la casilla excepción,en excepción escribimos lo que queremos que pase al perder
Si vais a hacer un combate imposible de ganar,podéis complementar este tutorial activando antes de la batalla un interruptor de essentials,el susodicho interruptor es el siguiente:
No money lost in battle
Se encuentra en la segunda pagina y hará que el jugador no pierda dinero al perder un combate,por supuesto,acordaos de desactivarlo tras el eventoTutorial 8: desactivar la animación de hierba alta desde el menú de opciones
Bueno, este pequeño detalle decorativo, la animación que se produce cuando el protagonista camina a través de tiles con el tag de hierba, genera lag en Pc's de bajo rendimiento, pero igualmente abra quienes tengan buenos componentes y no tendrán problema alguno con ello, ¿así que por que remover la animación de raiz?
- Abrimos el editor de scripts y vamos a PScreen_Options,seguidamente dentro del script buscamos lo siguiente:
class PokemonSystem
Debajo debemos pegar esto:
attr_accessor :textspeed
attr_accessor :battlescene
attr_accessor :battlestyle
attr_accessor :frame
attr_accessor :textskin
attr_accessor :font
attr_accessor :screensize
attr_accessor :language
attr_accessor :border
attr_accessor :runstyle
attr_accessor :bgmvolume
attr_accessor :sevolumeattr_accessor :hierbaalta
- PASO NUMERO 2
Ahora,en el mismo script,debemos buscar lo siguiente
def initialize
Debajo pegamos este:
@textspeed = 1 # Text speed (0=slow, 1=normal, 2=fast)
@battlescene = 0 # Battle effects (animations) (0=on, 1=off)
@battlestyle = 0 # Battle style (0=switch, 1=set)
@**frame = 0 # Default window frame (see also $TextFrames)
@textskin = 0 # Speech frame
@font = 0 # Font (see also $VersionStyles)
@screensize = (DEFAULTSCREENZOOM.floor).to_i # 0=half size, 1=full size, 2=double size
@border = 0 # Screen border (0=off, 1=on)
@language = 0 # Language (see also LANGUAGES in script PokemonSystem)
@runstyle = 0 # Run key functionality (0=hold to run, 1=toggle auto-run)
@bgmvolume = 100 # Volume of background music and ME
@sevolume = 100 # Volume of sound effects@hierbaalta = 0
-
Nuevamente en PScreen_Options debemos buscar esto:
SliderOption.new(_INTL("SE Volume"),0,100,5,
Otra vez debemos pegar un codigo abajo:
proc { $PokemonSystem.sevolume },
proc {|value|
if $PokemonSystem.sevolume!=value
$PokemonSystem.sevolume=value
if $game_system.playing_bgs != nil
$game_system.playing_bgs.volume=value
playingBGS=$game_system.getPlayingBGS
$game_system.bgs_pause
$game_system.bgs_resume(playingBGS)
end
pbPlayCursorSE()
end
}
),
EnumOption.new(_INTL("ANIMACIÓN HIERBA ALTA"),[_INTL("SI"),_INTL("NO")],
proc { $PokemonSystem.hierbaalta},
proc {|value| $PokemonSystem.hierbaalta=value}
), -
Ahora en el editor debemos buscar el script PField_Field y dentro del mismo lo siguiente:
if PBTerrain.isJustGrass?(pbGetTerrainTag(event,true))
Y lo reemplazamos por esto:
if $PokemonSystem.hierbaalta !=1 && PBTerrain.isJustGrass?(pbGetTerrainTag(event,true))
Con esto ya deberíamos tener listo todo,de esta manera podremos activar y desactivar la animación desde las opciones.
Tutorial 9:Veneno fuera de combate y MTs infinitas o limitadas
En Settings, vamos a la línea 49, y vemos esto:
POISONINFIELD = false
La primera corresponde al veneno que nos quita vida al caminar. Ponlo en false y esto no pasará. El siguiente hace que el veneno debilite al Pokémon fuera de combate. Si lo pones en false, no pasará. Nota: si el anterior está en true, y este en false, parará en 1PS. Si ambos están en false nada pasará.
POISONFAINTINFIELD = false
FISHINGAUTOHOOK = false
DIVINGSURFACEANYWHERE = false
NEWBERRYPLANTS = true
INFINITETMS = true
La de abajo de todo hace que las MT sean infinitas o no. True es infinitas, false, finitas.Tutorial 10: Captura Crítica y experiencia al capturar
Si queremos poner estas cosas en nuestro fangame, id a las líneas 92 y 93 en Settings y cambiad a true lo que haya en ella, cada uno activa una de las características mencionadas en el título, respectivamente.Tutorial 11: Eliminar Boost de las medallas
Hay varias maneras de hacer esto, pero para mí esta es la más sencilla y práctica. Simplemente hay que hacer Ctrl+Shift+F en el editor de scripts, y escribir "badgesboost". Ve a PokeBattle_Battler desde ahí y verás esto:
if @battle.internalbattle && @battle.pbOwnedByPlayer?(@index) &&
Cambia el "*1.1" por 1.0 y listo. Luego haz lo mismo con los todos los que salgan en PokeBattle_Move tras hacer Ctrl+Shift+F
@battle.pbPlayer.numbadges>=BADGESBOOSTSPEED
speedmult=(speedmult*1.1).round
Como podéis ver,son cosas muy simples,pero que no todo el mundo sabe y pueden llegar a ser útiles para algunos (en especial lo del rtp,vaya problemas me dio a mi también)Tutorial 12: Bloquear la opción de guardar partida
Para bloquear la opción de guardar partida en el menú tendremos que elegir un interruptor local, en mi caso el 61, que activaremos y desactivaremos para controlar el bloqueo. Cuando esté activo no se podrá guardar y cuando esté inactivo se podrá.
En el script PScreen_PauseMenu buscaremos el siguiente bloque de código:
elsif cmdSave>=0 && command==cmdSave
@scene.pbHideMenu
scene=PokemonSaveScene.new
screen=PokemonSave.new(scene)
if screen.pbSaveScreen
@scene.pbEndScene
endscene=false
break
else
pbShowMenu
end
Este es el código que se ejecuta al seleccionar la opción de guardar en el menú, ahora vamos a rodearla con un if para comprobar el estado del interruptor global.
elsif cmdSave>=0 && command==cmdSave
if $game_switches[61]
Kernel.pbMessage(_INTL("No se puede guardar la partida en este momento."))
else
@scene.pbHideMenu
scene=PokemonSaveScene.new
screen=PokemonSave.new(scene)
if screen.pbSaveScreen
@scene.pbEndScene
endscene=false
break
else
pbShowMenu
end
end
Tutorial 13: Impedir la captura de Pokémon
En el script PokeBattle_Battle buscaremos el bloque
if @opponent && (!pbIsSnagBall?(ball) || !battler.isShadow?)
@scene.pbThrowAndDeflect(ball,1)
pbDisplay(_INTL("The Trainer blocked the Ball!\nDon't be a thief!"))
Justo debajo añadiremos otro bloque que comprobará el estado de un interruptor global, en este caso el 62.
elsif $game_switches[62]
@scene.pbThrowAndDeflect(ball,1)
pbDisplay(_INTL("Parece que no puedes capturar Pokémon en este momento."))
Impedir el uso de objetos en combate
En el script PokeBattle_Battle buscaremos el bloque
if !@internalbattle
if pbOwnedByPlayer?(i)
pbDisplay(_INTL("Items can't be used here."))
end
Justo debajo añadiremos otro bloque que comprobará el estado de un interruptor global, en este caso el 63 y mostrará un mensaje avisando de que no se pueden usar objetos.
elsif $game_switches[63]
pbDisplay(_INTL("No puedes usar objetos en este combate"))
- Buscamos lo siguiente en settings
Es un excelente aporte! Muchas gracias!
ResponderEliminarUn pequeño detalle, si hacéis lo de comprobar la última versión del juego tened cuidado al poner el link del pastebin, ya que si ponéis https en vez de http, la función que lo lee en el apartado de Sockets no podrá leer el pastebin (a no ser que modifiquéis la función para que también lea https como pongo debajo)
ResponderEliminarDonde pone:
if url[/^http:\/\/([^\/]+)(.*)$/]
Poned
if url[/^http:\/\/([^\/]+)(.*)$/] || url[/^https:\/\/([^\/]+)(.*)$/]