Accesorios x3

Ver el tema anterior Ver el tema siguiente Ir abajo

Accesorios x3

Mensaje  Caistsa el Dom Mar 30, 2008 4:33 pm

Este scrip permite tener 3 accesorios, mas de los 2 o 1 nose cuantos vienenpor defecto Very Happy
Cdigo:
  #====================================
  # Accessoire en plus
  # Script tlcharg sur RPG-cration - 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

Creditos a www.rpg-cration.com

_________________
El Poder de La Magia Negra No Se Consigue Se Nace Con Ello

Caistsa Dragoner Des Averno->Mago Negro
avatar
Caistsa
Administrador
Administrador

Cantidad de envos : 187
Fecha de inscripcin : 21/02/2008

Ver perfil de usuario http://caistsarpg.superforo.net

Volver arriba Ir abajo

Re: Accesorios x3

Mensaje  PepDracko el Dom Mar 30, 2008 9:32 pm

Holas!!

Esta bueno el script, lo usar en algun proyecto.

PD desaparece.

PepDracko
Hijo De Artemisa
Hijo De Artemisa

Cantidad de envos : 66
Edad : 21
Localizacin : In your room, above your sister
Fecha de inscripcin : 10/03/2008

Ver perfil de usuario

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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