RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -17%
Casque de réalité virtuelle Meta Quest 2 ...
Voir le deal
249.99 €

 

 3 accessoires

Aller en bas 
AuteurMessage
Invité
Invité
Anonymous



3 accessoires Empty
MessageSujet: 3 accessoires   3 accessoires EmptyMar 03 Juil 2007, 10:23

Ce script permet de faire porter au héros jusqu'à 3 accessoires au lieu d'un seul.

- Auteur : Inconnu

- Screen :


3 accessoires Sanstitredx6


- Installation :

Créez un nouveau script au dessus de Main que vous nommerez comme bon vous semble (AccessoiresX3 par exemple) et vous y collerez ce code :



Code:
#==============================================================================

# AccessoireX3

#==============================================================================

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
Revenir en haut Aller en bas
Don Estebahn
Maître du Savoir
Maître du Savoir
Don Estebahn


Masculin
Nombre de messages : 2145
Age : 33
Jeux Préférés : Soul Reaver, Morrowind, Way of the Samurai
Date d'inscription : 18/02/2007

3 accessoires Empty
MessageSujet: Re: 3 accessoires   3 accessoires EmptyDim 08 Juil 2007, 15:14

Un petit script qui peut être très sympa, puisqu'en autorisant le mariage de plusieurs effets d'accessoires, il permet d'insufler une petite touche de stratégie ou jeu.

Par contre, tu as oublié beaucoup de choses, giga : l'auteur, un screen, une explication de l'effet du script, des consignes d'installation... poster le code n'est pas tout, il faut aussi faire en sorte que ceux qui liront ton sujet aient un aperçu des effets du script et sachent comment l'exploiter.

Essaye de faire plus d'efforts la prochaine fois, en tout cas merci quand même [Don hypocrite].
Revenir en haut Aller en bas
 
3 accessoires
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» accessoires 3

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Menu-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser