Anuncio

Colapsar
No hay anuncio todava.

Scripts de Sistema

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
    • Compartir

    Scripts de Sistema

    Para el RPG Maker , es como la base del programa

    Cdigo:
    #====================================
    # Accesorios  en plus
    # Script RPG-cration - www.union-games.org
    #====================================
    module XRXS_MP8_Fixed_Valuables
    EQUIP_KINDS = [1, 2, 3, 4, 4, 4]
    EQUIP_KIND_NAMES = []
    WINDOWS_STRETCH = true
    STATUS_WINDOW_ARRANGE = true
    STATUS_WINDOW_EX_EQUIP_ROW_SIZE = 24
    STATUS_WINDOW_EX_EQUIP_X = 336
    STATUS_WINDOW_EX_EQUIP_Y = 256
    end
    
    #====================================
    #  Game_Actor
    #====================================
    class Game_Actor < Game_Battler
    #--------------------------------
    # ? ?C???N??[?h
    #--------------------------------
    include XRXS_MP8_Fixed_Valuables
    #--------------------------------
    # ? ??J?C???X?^???X?ϐ?
    #--------------------------------
    attr_reader :armor_ids
    #--------------------------------
    # ? ?Z?b?g?A?b?v
    #--------------------------------
    alias xrxs_mp8_setup setup
    def setup(actor_id)
    xrxs_mp8_setup(actor_id)
    @armor_ids = []
    # ?g??
    for i in 4...EQUIP_KINDS.size
    @armor_ids[i+1] = 0
    end
    end
    #--------------------------------
    # ? ?{?r???
    #--------------------------------
    alias xrxs_mp8_base_str base_str
    def base_str
    n = xrxs_mp8_base_str
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.str_plus : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{?p????
    #--------------------------------
    alias xrxs_mp8_base_dex base_dex
    def base_dex
    n = xrxs_mp8_base_dex
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.dex_plus : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{?f?????
    #--------------------------------
    alias xrxs_mp8_base_agi base_agi
    def base_agi
    n = xrxs_mp8_base_agi
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.agi_plus : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{????
    #--------------------------------
    alias xrxs_mp8_base_int base_int
    def base_int
    n = xrxs_mp8_base_int
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.int_plus : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{?h????
    #--------------------------------
    alias xrxs_mp8_base_pdef base_pdef
    def base_pdef
    n = xrxs_mp8_base_pdef
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.pdef : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{?@h????
    #--------------------------------
    alias xrxs_mp8_base_mdef base_mdef
    def base_mdef
    n = xrxs_mp8_base_mdef
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.mdef : 0
    end
    return n
    end
    #--------------------------------
    # ? ?{??C???
    #--------------------------------
    alias xrxs_mp8_base_eva base_eva
    def base_eva
    n = xrxs_mp8_base_eva
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@armor_ids[i+1]]
    n += armor != nil ? armor.eva : 0
    end
    return n
    end
    #--------------------------------
    # ? ?????ύX
    # equip_type : ????^?C?v
    # id : ?? or h? ID (0 ???????)
    #--------------------------------
    alias xrxs_mp8_equip equip
    def equip(equip_type, id)
    xrxs_mp8_equip(equip_type, id)
    if equip_type >= 5
    if id == 0 or $game_party.armor_number(id) > 0
    update_auto_state($data_armors[@armor_ids[equip_type]], $data_armors[id])
    $game_party.gain_armor(@armor_ids[equip_type], 1)
    @armor_ids[equip_type] = id
    $game_party.lose_armor(id, 1)
    end
    end
    end
    end
    #====================================
    #  Window_EquipRight
    #====================================
    class Window_EquipRight < Window_Selectable
    #--------------------------------
    # ? ?C???N??[?h
    #--------------------------------
    include XRXS_MP8_Fixed_Valuables
    #--------------------------------
    # ? ?I?u?W?F?N?g???
    # actor : ?A?N?^[
    #--------------------------------
    if WINDOWS_STRETCH
    def initialize(actor)
    super(272, 64, 368, 192)
    h = (EQUIP_KINDS.size + 1) * 32
    self.contents = Bitmap.new(width - 32, h)
    @actor = actor
    refresh
    self.index = 0
    end
    end
    #--------------------------------
    # ? ???t???b?V??
    #--------------------------------
    alias xrxs_mp8_refresh refresh
    def refresh
    xrxs_mp8_refresh
    @item_max = EQUIP_KINDS.size + 1
    for i in 4...EQUIP_KINDS.size
    @data.push($data_armors[@actor.armor_ids[i+1]])
    self.contents.font.color = system_color
    self.contents.draw_text(5, 32 * (i+1), 92, 32, EQUIP_KIND_NAMES[i-4].to_s)
    draw_item_name(@data[i+1], 92, 32 * (i+1))
    end
    end
    end
    #====================================
    #  Window_EquipItem
    #====================================
    class Window_EquipItem < Window_Selectable
    #--------------------------------
    # ? ??????̐?
    #--------------------------------
    def equip_type=(et)
    @equip_type = et
    refresh
    end
    #--------------------------------
    # ? ???t???b?V??
    #--------------------------------
    alias xrxs_mp8_refresh refresh
    def refresh
    xrxs_mp8_refresh
    if @equip_type >= 5
    if self.contents != nil
    self.contents.dispose
    self.contents = nil
    end
    @data = []
    armor_set = $data_classes[@actor.class_id].armor_set
    for i in 1...$data_armors.size
    if $game_party.armor_number(i) > 0 and armor_set.include?(i)
    type = $data_armors[i].kind + 1
    if [email protected]_type.to_s.scan(/#{type}/).empty?
    @data.push($data_armors[i])
    end
    end
    end
    @data.push(nil)
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in [email protected]_max-1
    draw_item(i)
    end
    end
    end
    end
    #====================================
    #  Window_Status
    #====================================
    class Window_Status < Window_Base
    #--------------------------------
    # ? ?C???N??[?h
    #--------------------------------
    include XRXS_MP8_Fixed_Valuables
    #--------------------------------
    # ?J?X?^?}?C?Y?|?C???gu?X?e[?^?X???f?U?C????ύX??v
    #--------------------------------
    if STATUS_WINDOW_ARRANGE
    def refresh
    self.contents.clear
    draw_actor_graphic(@actor, 40, 112)
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 4 + 144, 0)
    draw_actor_level(@actor, 96, 32)
    draw_actor_state(@actor, 96, 64)
    draw_actor_hp(@actor, 96, 112, 172)
    draw_actor_sp(@actor, 96, 144, 172)
    draw_actor_parameter(@actor, 96, 192, 0)
    draw_actor_parameter(@actor, 96, 224, 1)
    draw_actor_parameter(@actor, 96, 256, 2)
    draw_actor_parameter(@actor, 96, 304, 3)
    draw_actor_parameter(@actor, 96, 336, 4)
    draw_actor_parameter(@actor, 96, 368, 5)
    draw_actor_parameter(@actor, 96, 400, 6)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 48, 80, 32, "EXP")
    self.contents.draw_text(320, 80, 80, 32, "NEXT")
    self.contents.font.color = normal_color
    self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 112, 96, 32, "Equipement")
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 136)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 160)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 184)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 208)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 232)
    end
    end
    #--------------------------------
    # ? ???t???b?V??
    #--------------------------------
    alias xrxs_mp8_refresh refresh
    def refresh
    xrxs_mp8_refresh
    # ?g??
    for i in 4...EQUIP_KINDS.size
    armor = $data_armors[@actor.armor_ids[i+1]]
    draw_item_name($data_armors[@actor.armor_ids[i+1]], STATUS_WINDOW_EX_EQUIP_X, STATUS_WINDOW_EX_EQUIP_Y + STATUS_WINDOW_EX_EQUIP_ROW_SIZE * (i-4))
    end
    end
    end
    #====================================
    #  Scene_Equip
    #====================================
    class Scene_Equip
    #--------------------------------
    # ? ?C???N??[?h
    #--------------------------------
    include XRXS_MP8_Fixed_Valuables
    #--------------------------------
    # ? ??C???
    #--------------------------------
    alias xrxs_mp8_main main
    def main
    @addition_initialize_done = false
    xrxs_mp8_main
    for i in 4...EQUIP_KINDS.size
    @item_windows[i+2].dispose
    end
    end
    #--------------------------------
    # ? ???t???b?V??
    #--------------------------------
    alias xrxs_mp8_refresh refresh
    def refresh
    unless @addition_initialize_done
    @item_windows = []
    @item_window2.equip_type = EQUIP_KINDS[0]
    @item_window3.equip_type = EQUIP_KINDS[1]
    @item_window4.equip_type = EQUIP_KINDS[2]
    @item_window5.equip_type = EQUIP_KINDS[3]
    for i in 4...EQUIP_KINDS.size
    @item_windows[i+2] = Window_EquipItem.new(@actor, EQUIP_KINDS[i])
    @item_windows[i+2].help_window = @help_window
    end
    if WINDOWS_STRETCH
    @right_window.height = (EQUIP_KINDS.size + 2) * 32
    if @left_window.y + @left_window.height == 256
    @left_window.height = @right_window.height
    end
    y_pos = (@right_window.y + @right_window.height)
    y_space = 480 - y_pos
    @item_window1.y = y_pos
    @item_window2.y = y_pos
    @item_window3.y = y_pos
    @item_window4.y = y_pos
    @item_window5.y = y_pos
    @item_window1.height = y_space
    @item_window2.height = y_space
    @item_window3.height = y_space
    @item_window4.height = y_space
    @item_window5.height = y_space
    for i in 4...EQUIP_KINDS.size
    @item_windows[i+2].y = y_pos
    @item_windows[i+2].height = y_space
    end
    end
    @addition_initialize_done = true
    end
    for i in 4...EQUIP_KINDS.size
    @item_windows[i+2].visible = (@right_window.index == i+1)
    end
    if @right_window.index >= 5
    @item_window = @item_windows[@right_window.index + 1]
    end
    xrxs_mp8_refresh
    end
    #--------------------------------
    # ? ?t??[??XV (?A?C?e???E?B???h?E??A?N?e?B?u?̏?)
    #--------------------------------
    alias xrxs_mp8_update_item update_item
    def update_item
    xrxs_mp8_update_item
    if Input.trigger?(Input::C)
    @item_window1.refresh
    @item_window2.refresh
    @item_window3.refresh
    @item_window4.refresh
    @item_window5.refresh
    for i in 4...EQUIP_KINDS.size
    @item_windows[i+2].refresh
    end
    Graphics.frame_reset
    return
    end
    end
    end
    Es para el Win , muy pronto para Linux
    Lo armamos en el viejo UnionGame ase tiempo atras con Kerveruk y otro amigo mas

    Bueno espero que le sea util para aquellos que anden en el tema

    Saludos
Trabajando...
X