Derniers messages sur les forums

Une communauté de plus d'un millier de membres actifs

Ajouter des accessoires à vos héros

Ce script va vous permettre d'ajouter non pas un, ou deux, mais trois accessoires à votre personnage.

Créez un script, au dessus de Main, et copiez-y le code ci-dessous.

    #====================================
    # Accessoire en plus
    # Script téléchargé sur RPG-création - www.rpg-creation.com
    #====================================
    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 !@equip_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 0...@item_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

Auteur: Danny Coulombe
Créé le: 2007-12-15 23:55:03
Cette page a été vues: 3389 fois

Prenez le temps de visiter nos partenaires

Vidéos, OST, émulation Espace Emulation, le nonos de l'emulation ! Forum réservé pour makers, traitant de thème divers. iKara Rpg Maker Tout sur Kingdom Hearts, des actus, des soluces, des vidéos, des musiques et plus encore... Actualités RPG, astuces, soluce, download sur Final Fantasy, Dragon Quest et Kingdom Hearts de Square-Enix. Animes Naruto, FMA, Love Hina... Final Fantasy VII Origin est un RPG amateur dont le scénario précède FFVII. Téléchargeable gratuitement sur ce site. Rpg Maker Love dit RML c'est un ensemble de sites entretenus par Monos.

Ajouter aux favoris Ajouter à mes favoris
Abonnement à au bulletin d'informations Newsletters
Abonnement aux flux d'actualités RSS M'abonner aux flux RSS