Script Ranura accesorios x3 [VX]

OP
Mensajes
1.992
Reacciones
153
Puntos
0
Ubicación
En los ideales.
Nombre: Ranuras de Accesorio x3
Versión: Desconocida
RPG Maker: Vx
Introducion: Permite llevar 3 accesorios
Script
#====================================
# Accessoire en plus
# Script téléchargé sur RPG-creation - 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.kind + 1
if !@equip_type.to_s.scan(/#{type}/).empty?
@data.push($data_armors)
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???gÂu?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)
@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??Â[??ÂXÂV (?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

Instrucciones: Pegar encima de Main
Compatibilidad: Que yo sepa ninguna
 
Arriba Pie