Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

Modificación de script del VX al ACE

Ver el tema anterior Ver el tema siguiente Ir abajo

Modificación de script del VX al ACE

Mensaje por rpgmanumaker el 2012-10-29, 16:36

Pues tengo una script que me dio Wecoc hace tiempo y que aumentaba el número máximo de interruptores locales al infinito. Pero ahora como ha salido el ACE dejé de lado el VX XD. Y pues esta script me parece bastante útil. Haber si alguien puede modificar la para que sirva en el ACE
Código:

=begin

  =============================================================================
            Creador: Newold, 20-08-2011, versión para VX
  =============================================================================
 
 
  Crear una nueva condición de inicio de páginas para tus eventos
 
  1) En una página de un evento coloca un comentario así:
 
  INICIO-loquequieras    (por ejemplo INICIO-15, o INICIO-switch1)
 
  2) Esa página solo se usará si una variable determinada tiene el valor usado
      en el comentario    (En el ejemplo sería el 15 o switch1)
     
  3) Para cargar los valores a esa variable usar uno de estos códigos
      desde el comando llamar script desde un evento:
   
    # Este código añade un número a un evento de un mapa concreto #
   
    - set_switch(valor,id del evento,id del mapa donde está el evento)
   
    # Este código añade un número a un evento del mapa actualmente cargado #
   
    - set_switch(valor,id del evento)
   
    # Este código añade un número al evento con el que se está hablando #
   
    - set_switch(valor)

=end


$event_comentary_conditions = {}

class Game_Interpreter
  def set_switch(v,id=nil,map_id=nil)
    id_map = map_id.nil? ? $game_map.map_id : map_id
    event_id = id.nil? ? @event_id : id
    key = [id_map, event_id]
    $event_comentary_conditions[key] = v
    $game_map.need_refresh = true
  end
end

class Game_Event
  def conditions_met?(page)
    c = page.condition
    l = page.list
    # Comentary condition
    l.each do |item|
      next unless item.code == 108 or item.code == 408
      unless item.parameters[0].match(/^inicio-(.+)$/i).nil?
        key = [@map_id, @event.id]
        return false if $event_comentary_conditions[key].to_s != $1.to_s
      end
    end
    if c.switch1_valid      # スイッチ 1
      return false if $game_switches[c.switch1_id] == false
    end
    if c.switch2_valid      # スイッチ 2
      return false if $game_switches[c.switch2_id] == false
    end
    if c.variable_valid    # 変数
      return false if $game_variables[c.variable_id] < c.variable_value
    end
    if c.self_switch_valid  # セルフスイッチ
      key = [@map_id, @event.id, c.self_switch_ch]
      return false if $game_self_switches[key] != true
    end
    if c.item_valid        # アイテム
      item = $data_items[c.item_id]
      return false if $game_party.item_number(item) == 0
    end
    if c.actor_valid        # アクター
      actor = $game_actors[c.actor_id]
      return false unless $game_party.members.include?(actor)
    end
    return true  # 条件合致
  end
end

class Scene_File
  alias write_save_data_newold write_save_data unless $@
  def write_save_data(file)
    write_save_data_newold
    Marshal.dump($event_comentary_conditions, file)
  end
  alias read_save_data_newold read_save_data unless $@
  def read_save_data(file)
    read_save_data_newold
    $event_comentary_conditions = Marshal.load(file)
  end
end
Ofrezco 40 monedas. No es mucho, pero tampoco es que tenga demasiado...


Última edición por rpgmanumaker el 2012-10-29, 16:38, editado 1 vez (Razón : -----------Verde------------Azul-----------Rojo----------Me aburrí)
avatar
rpgmanumaker
Veterano
Veterano

0/3

Créditos 677

Gracias : 23

Volver arriba Ir abajo

Re: Modificación de script del VX al ACE

Mensaje por youkai el 2012-10-30, 03:37

Hola manu, de verdad que es cosa del destino, aqui tienes tu script arreglado XDDDDD y listo para usarse en Ace
Código:
=begin

  =============================================================================
            Creador: Newold, 20-08-2011, versión para VX
  =============================================================================
 
 
  Crear una nueva condición de inicio de páginas para tus eventos
 
  1) En una página de un evento coloca un comentario así:
 
  INICIO-loquequieras    (por ejemplo INICIO-15, o INICIO-switch1)
 
  2) Esa página solo se usará si una variable determinada tiene el valor usado
      en el comentario    (En el ejemplo sería el 15 o switch1)
   
  3) Para cargar los valores a esa variable usar uno de estos códigos
      desde el comando llamar script desde un evento:
 
    # Este código añade un número a un evento de un mapa concreto #
 
    - set_switch(valor,id del evento,id del mapa donde está el evento)
 
    # Este código añade un número a un evento del mapa actualmente cargado #
 
    - set_switch(valor,id del evento)
 
    # Este código añade un número al evento con el que se está hablando #
 
    - set_switch(valor)

=end


$event_comentary_conditions = {}

class Game_Interpreter
  def set_switch(v,id=nil,map_id=nil)
    id_map = map_id.nil? ? $game_map.map_id : map_id
    event_id = id.nil? ? @event_id : id
    key = [id_map, event_id]
    $event_comentary_conditions[key] = v
    $game_map.need_refresh = true
  end
end

class Game_Event
  alias youkai_conditions_met? conditions_met?
  def conditions_met?(page)
    c = page.condition
    l = page.list
    # Comentary condition
    l.each do |item|
      next unless item.code == 108 or item.code == 408
      unless item.parameters[0].match(/^inicio-(.+)$/i).nil?
        key = [@map_id, @event.id]
        return false if $event_comentary_conditions[key].to_s != $1.to_s
      end
    end
    youkai_conditions_met?(page)
  end
end

module DataManager
  #--------------------------------------------------------------------------
  # ● セーブ内容の作成
  #--------------------------------------------------------------------------
  def self.make_save_contents
    contents = {}
    contents[:system]        = $game_system
    contents[:timer]        = $game_timer
    contents[:message]      = $game_message
    contents[:switches]      = $game_switches
    contents[:variables]    = $game_variables
    contents[:self_switches] = $game_self_switches
    contents[:actors]        = $game_actors
    contents[:party]        = $game_party
    contents[:troop]        = $game_troop
    contents[:map]          = $game_map
    contents[:player]        = $game_player
    contents[:event_com]    = $event_comentary_conditions
    contents
  end
  #--------------------------------------------------------------------------
  # ● セーブ内容の展開
  #--------------------------------------------------------------------------
  def self.extract_save_contents(contents)
    $game_system        = contents[:system]
    $game_timer        = contents[:timer]
    $game_message      = contents[:message]
    $game_switches      = contents[:switches]
    $game_variables    = contents[:variables]
    $game_self_switches = contents[:self_switches]
    $game_actors        = contents[:actors]
    $game_party        = contents[:party]
    $game_troop        = contents[:troop]
    $game_map          = contents[:map]
    $game_player        = contents[:player]
    $event_comentary_conditions = contents[:event_com]
  end
end
Saludos,
¥oukai
avatar
youkai
Soñador
Soñador

0/3

Créditos 280

Gracias : 10

Volver arriba Ir abajo

Re: Modificación de script del VX al ACE

Mensaje por Dangaioh el 2012-10-30, 09:10

Bien, como veo interesante el script y ha sido rapido
ya que no tienes muchos créditos rpgmanumaker, no te descuento nada
y te doy a tí youkai 100 créditos por el aporte

_________________





avatar
Dangaioh
Administrador
Administrador



Créditos 5773

Gracias : 96

Volver arriba Ir abajo

Re: Modificación de script del VX al ACE

Mensaje por rpgmanumaker el 2012-10-30, 13:16

Gracias, youkai, siempre ayudando!!
Y también muchas gracias a ti Dangaoih.
avatar
rpgmanumaker
Veterano
Veterano

0/3

Créditos 677

Gracias : 23

Volver arriba Ir abajo

Re: Modificación de script del VX al ACE

Mensaje por youkai el 2012-10-30, 14:04

Bueno...lo hice sin ganas de lucro, pero igual las acepto ^^ Muchas gracias Dangaioh
Nos veremos donde hayan problemas con scripts XDDD
Saludos,
¥oukai
avatar
youkai
Soñador
Soñador

0/3

Créditos 280

Gracias : 10

Volver arriba Ir abajo

Re: Modificación de script del VX al ACE

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.