Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Change Map Troop Script

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Change Map Troop Script

Mensaje por AsFzKakarotto el 2018-02-05, 03:03

Con este script se puede cambiar esos enemigos que nos aparecen siempre en el mapa.
Para ser exactos los que se activan con determinados pasos o Encuentros con el enemigo.

Autor: Leon



Tu en el Script crea tu grupo de enemigos y para cambiar esos grupos usa el comando de llamar Script y escribe lo siguiente:

Change_Monster.new(X)

en donde "X" es el número de Grupos aleatorio que nosotros vamos a crear en el siguiente modulo asociado con el script.

Ejemplo:

1 => [2, 3]
6 => [2, 5, 8, 15]

En donde 6 => [2, 5, 8, 15]
quiere decir lo siguiente:

6  = Numero de el Modulo Creado por el Script
2  = ID del Grupo enemigo encontrado en la Base de Datos
5  = ID del Grupo enemigo encontrado en la Base de Datos
8  = ID del Grupo enemigo encontrado en la Base de Datos
15 = ID del Grupo enemigo encontrado en la Base de Datos

entonces para llamar este Modulo de grupos enemigos utilizaremos:

Change_Monster.new(6)

entonces llamaremos al mapa al grupo de enemigos que habíamos explicado como ejemplo anterior.

Que quede muy Claro que las ID corresponden a los Grupos enemigos
de la Base de Datos, Pero NO a las ID de los Enemigos individuales.
Se tomara una de las ID´s del grupo Aleatoriamente.

Script:
Código:
#===================================
#  Leon's Change Map Troop Script
#----------------------------------------------------------------------
#  02/27/2007
#  v. 1.0
#----------------------------------------------------------------------
#
#  Feature:  Allows you to make additional encounter lists and change them
# for each map.
#
#  Instructions:
# 1.  Put above main, but other scripts
# 2.  Set the Identifier and troops within that identifier there is.
# There is an example in the module, where you set them.
# 3.  Use 'Change_Monster.new(x) in a call script, where x is the new
# list's ID number.  Simple, no?
#
#  NOTE:  Make sure you use the TROOP NUMBER in Monster Groups.  NOT
# the monster's ID number... the TROOPs.
#===================================


module Monster_Change
  #==================================
  #  Change_Monster = { ID => [troop_id, etc...]
  #==================================
  Change_Monster = {
  #This example means by calling Change_Monster.new(1), the encounters
  #will be numbers 34, 35, and 36, erasing the old set.
  1 => [34, 35, 36]
  }
end

#===================================
#  Change_Monster
#===================================
class Change_Monster
  def initialize(new_list)
 $game_map.encounter_list.clear
 for i in 0...Monster_Change::Change_Monster[new_list].size
  $game_map.encounter_list.push(Monster_Change::Change_Monster[new_list][i])
 end
  end
end
avatar
AsFzKakarotto
Soñador
Soñador

0/3

Créditos 320

Gracias : 70

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Change Map Troop Script

Mensaje por Wecoc el 2018-02-05, 05:21

En verdad es tan corto y básico que puede recrearse sin necesidad de script, con una llamada de evento.

[line]# Define aquí la lista de Grupos Enemigos
list = [2, 5, 8, 15]
# Lo demás no hace falta tocarlo
$game_map.encounter_list.clear
for i in list
 $game_map.encounter_list.push(i)
end[/line]

Eso reescribe la lista que pusieras al mapa por esa nueva.
Irónicamente eso es posible por como funciona el acceso a arrays, así que para el número de pasos para encuentro, que parece más fácil, ese truco no sirve. Para cambiarlo sí que hay que usar un script. Ya que estoy lo pongo... no es nada del otro mundo tampoco xD

Código:
#==============================================================================
# ** [XP] Cambiar número de pasos para encuentro [Lite]
#------------------------------------------------------------------------------
# Para usarlo, en llamar script pon:
#     $game_map.encounter_steps = n
# Cambia n por el nuevo número de pasos por encuentro.
# Autor: No requiere créditos
#==============================================================================

class Game_Map
  attr_writer :encounter_step
  alias enc_step_fix_setup setup unless $@
  def setup(*args)
    enc_step_fix_setup(*args)
    @encounter_step = @map.encounter_step
  end
  def encounter_step
    @encounter_step
  end
end

La limitación de este scriptillo de los steps (a diferencia del otro, creo) es que no se guarda el cambio, es decir, si cambias el número de steps y sales del mapa y vuelves a entrar, vuelve a tener el del principio. Para guardar el cambio habría que cambiar directamente el valor asignado al mapa, pero no es una opción válida, así que la única otra opción es usando un Hash que haga de sustituto. Aquí el script definitivo xD

Código:
#==============================================================================
# ** [XP] Cambiar número de pasos para encuentro
#------------------------------------------------------------------------------
# Para usarlo, en llamar script pon:
#    set_encounter_steps(n)
# Cambia n por el nuevo número de pasos por encuentro.
# Si en vez de un número pones nil volverá al valor por defecto
# Autor: No requiere créditos
#==============================================================================

class Game_Map
  attr_accessor :encounter_sh
  alias enc_step_fix_setup setup unless $@
  def setup(*args)
    enc_step_fix_setup(*args)
    @encounter_sh = {} if @encounter_sh.nil?
  end
 
  def encounter_step
    if @encounter_sh[@map_id].nil?
      return @map.encounter_step
    end
    return @encounter_sh[@map_id]
  end
end

class Interpreter
  def set_encounter_steps(n)
    $game_map.encounter_sh[@map_id] = n
    return true
  end
end

Saludos.
avatar
Wecoc
Administrador
Administrador



Créditos 12310

Gracias : 654

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Change Map Troop Script

Mensaje por AsFzKakarotto el 2018-02-05, 05:47

Jajaja vean todos la diferencia que hay entre un novato y experto.
Fascinante ahora se supone que el script que compartí no sirve para nada xd...

Vale wecoc se agradece.... estos llamados de script son los andaba buscando.
cosas que hace el comando de eventos pero en llamados de script.

De todos modos ¿sabes como cambiar con un llamado de script ese SE
que da inicio el combate? ya que el comando de eventos no biene.
avatar
AsFzKakarotto
Soñador
Soñador

0/3

Créditos 320

Gracias : 70

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Change Map Troop Script

Mensaje por Wecoc el 2018-02-05, 05:58

Necesitas un pequeño script para eso también.

Código:
#==============================================================================
# ** [XP] Cambiar sonido de encuentro de batalla
#------------------------------------------------------------------------------
# No requiere créditos
#==============================================================================

class Game_System
  attr_accessor :battle_start_se
  alias battle_se_ini_fix initialize unless $@
  def initialize
    battle_se_ini_fix
    @battle_start_se = $data_system.battle_start_se
  end
end

class Scene_Map
  def call_battle
    $game_temp.battle_calling = false
    $game_temp.menu_calling = false
    $game_temp.menu_beep = false
    $game_player.make_encounter_count
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    $game_system.se_play($game_system.battle_start_se) ## Edit
    $game_system.bgm_play($game_system.battle_bgm)
    $game_player.straighten
    $scene = Scene_Battle.new
  end
end

Luego la llamada de script sería así:
[line]$game_system.battle_start_se =
RPG::AudioFile.new("Nombre", volumen, frecuencia)[/line]
Volumen y frecuencia son opcionales, y valen 80 y 100 respectivamente por defecto.
avatar
Wecoc
Administrador
Administrador



Créditos 12310

Gracias : 654

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Change Map Troop Script

Mensaje por AsFzKakarotto el 2018-02-05, 07:26

Un Millón de gracias Wecoc, pensé que era más sencillo pero ya veo que es un poco más complejo, que depende hasta de un script
aun hay cosas que no creo entender del maker. lo sencillo es difícil y lo fácil es Imposible para mi XD.
avatar
AsFzKakarotto
Soñador
Soñador

0/3

Créditos 320

Gracias : 70

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Change Map Troop Script

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.