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



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

 

 Probleme cohabitation script accessoirex3 et script 20 héros

Aller en bas 
AuteurMessage
Bluelemon
Roi des Boulets
Roi des Boulets
Bluelemon


Masculin
Nombre de messages : 1773
Projet(s) en cours : Galaxia,Projet de Bruno,Ketanex,Empire of Stagnum, Ether
Niveau Rpg Maker : exceptionnel
Date d'inscription : 11/11/2007

Probleme cohabitation script accessoirex3 et script 20 héros Empty
MessageSujet: Probleme cohabitation script accessoirex3 et script 20 héros   Probleme cohabitation script accessoirex3 et script 20 héros EmptySam 21 Aoû 2010, 00:58

Tout est dans le titre.
En gros le script pour le menu à 20 héros nique le script des accessoirex3 en empechant ceci d'être affiché d'où bug.

Je vous passe les 2 scripts pour essayer chez vous. Bidouiller avec le menu équiper pour rencontrer le bug dont je voudrais me débarasser.

script accessoirex3

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
Bluelemon
Roi des Boulets
Roi des Boulets
Bluelemon


Masculin
Nombre de messages : 1773
Projet(s) en cours : Galaxia,Projet de Bruno,Ketanex,Empire of Stagnum, Ether
Niveau Rpg Maker : exceptionnel
Date d'inscription : 11/11/2007

Probleme cohabitation script accessoirex3 et script 20 héros Empty
MessageSujet: Re: Probleme cohabitation script accessoirex3 et script 20 héros   Probleme cohabitation script accessoirex3 et script 20 héros EmptySam 21 Aoû 2010, 00:59

Et l'autre script Game party

Code:
  #=================================#
    # Traduction par masterjojo.
    # Modifié par Sihn
    #=================================#

    #==============================================================================
    # ¦ Game_Party
    #==============================================================================

    class Game_Party
    #--------------------------------------------------------------------------
    # ? define instance variable
    #--------------------------------------------------------------------------
    attr_accessor :actors
    #--------------------------------------------------------------------------
    # Vous pouvez changer le nombre rouge par celui de votre
    # choix: c'est le nombre max de personne pouvant integrer
    # votre équipe (par défaut: 20).
    #--------------------------------------------------------------------------
    def add_actor(actor_id)
    actor = $game_actors[actor_id]
    if @actors.size < 20 and not @actors.include?(actor)
    @actors.push(actor)
    $game_player.refresh
    end
    end
    end

    #==============================================================================
    # ¦ Window_Base
    #==============================================================================

    class Window_Base < Window
    #--------------------------------------------------------------------------
    # ? draw character's battle sprite
    #--------------------------------------------------------------------------
    def draw_actor_battlegraphic(actor, x, y, opacity = 255)
    bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    src_rect = Rect.new(0, 0, 111, 111)
    self.contents.blt(x, y, bitmap, src_rect, opacity)
    end
    #--------------------------------------------------------------------------
    # ? draw character's HP meter
    #--------------------------------------------------------------------------
    def draw_actor_hp_meter(actor, x, y, width = 70, type = 0)
    if type == 1 and actor.hp == 0
    return
    end
    self.contents.font.color = system_color
    self.contents.fill_rect(x-1, y+27, width+2,5, Color.new(0, 0, 0, 255))
    w = width * actor.hp / actor.maxhp
    self.contents.fill_rect(x, y+28, w,1, Color.new(174, 68, 89, 255))
    self.contents.fill_rect(x, y+29, w,1, Color.new(156, 61, 80, 255))
    self.contents.fill_rect(x, y+30, w,1, Color.new(138, 53, 70, 255))
    end
    #--------------------------------------------------------------------------
    # ? draw character's SP meter
    #--------------------------------------------------------------------------
    def draw_actor_sp_meter(actor, x, y, width = 70, type = 0)
    if type == 1 and actor.sp == 0
    return
    end
    self.contents.font.color = system_color
    self.contents.fill_rect(x-1, y+27, width+2,5, Color.new(0, 0, 0, 255))
    w = width * actor.sp / actor.maxsp
    self.contents.fill_rect(x, y+28, w,1, Color.new(62, 72, 164, 255))
    self.contents.fill_rect(x, y+29, w,1, Color.new(55, 65, 149, 255))
    self.contents.fill_rect(x, y+30, w,1, Color.new(49, 57, 130, 255))
    end
    #--------------------------------------------------------------------------
    # ? define method to draw squares
    #--------------------------------------------------------------------------
    def draw_square(x, y, width, color)
    self.contents.fill_rect(x, y, width, 1, color)
    self.contents.fill_rect(x, y, 1, width, color)
    self.contents.fill_rect(x + width, y, 1, width + 1, color)
    self.contents.fill_rect(x, y + width, width + 1, 1, color)
    end
    end

    #==============================================================================
    # ¦ Window_Gold
    #------------------------------------------------------------------------------
    # le texte a été remplacé par une icone
    #==============================================================================

    class Window_Gold < Window_Base
    #--------------------------------------------------------------------------
    # ? initialize
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
    end
    #--------------------------------------------------------------------------
    # ? refresh
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    cx = 24
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    bitmap = RPG::Cache.icon("032-Item01")
    rect = Rect.new(0, 0, 24, 24)
    self.contents.blt(124-cx, 0, bitmap, rect)
    end
    end

    #==============================================================================
    # ¦ Window_PlayTime
    #------------------------------------------------------------------------------
    # cette fenêtre a été compacté pour montrer toutes les commandes dans le menu
    #==============================================================================

    class Window_PlayTime < Window_Base
    #--------------------------------------------------------------------------
    # ? initialize
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
    end
    #--------------------------------------------------------------------------
    # ? refresh
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120, 32, text, 2)
    end
    #--------------------------------------------------------------------------
    # ? redefine update method
    #--------------------------------------------------------------------------
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
    refresh
    end
    end
    end

    #==============================================================================
    # ¦ Window_MenuStatus
    #==============================================================================

    class Window_MenuStatus < Window_Selectable
    #--------------------------------------------------------------------------
    # ? initialize
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 480, 480)
    @column_max = 4
    @item_max = $game_party.actors.size
    self.contents = Bitmap.new(width - 32, row_max * 112)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize/1.2
    refresh
    self.active = false
    self.index = -1
  end
      #--------------------------------------------------------------------------
    # ? refresh
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
    x = i % 4 * 112
    y = i / 4 * 112
    actor = $game_party.actors[i]
    #dessine un carré pour séparer les characters, changer couleur transparente par ce que vous voulez
    #couleur désirée... (methode pour faire un carré ci-dessous)
    draw_square(x, y, 111, disabled_color)
    draw_actor_battlegraphic(actor, x, y, 150)#Rep
    draw_actor_graphic(actor, x + 90, y + 50)
    draw_actor_name(actor, x + 5, y)
    self.contents.draw_text(x + 5, y + 20, 112, 32, "HP : #{actor.hp}")
    self.contents.draw_text(x + 5, y + 40, 112, 32, "MP : #{actor.sp}")
    draw_actor_level(actor, x + 5, y + 60)
    draw_actor_state(actor, x + 5, y + 80)
    draw_actor_hp_meter(actor, x + 5, y + 17)
    draw_actor_sp_meter(actor, x + 5, y + 37)
    end
    end
    #--------------------------------------------------------------------------
    # ? define the page's top row
    #--------------------------------------------------------------------------
    def top_row
    return self.oy / 112
    end
    #--------------------------------------------------------------------------
    # ? define the page maximum rows
    #--------------------------------------------------------------------------
    def page_row_max
    return (self.height - 32) / 112
    end
    #--------------------------------------------------------------------------
    # ? defines a method to change the page's top row
    #--------------------------------------------------------------------------
    def top_row=(row)
    if row < 0
    row = 0
    end
    if row > row_max - 1
    row = row_max - 1
    end
    self.oy = row * 112
    end
    #--------------------------------------------------------------------------
    # ? update the cursor movement
    #--------------------------------------------------------------------------
    def update_cursor_rect
    if @index < 0
    self.cursor_rect.empty
    return
    end
    row = @index / @column_max
    if row < self.top_row
    self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
    self.top_row = row - (self.page_row_max - 1)
    end
    self.cursor_rect.set(@index % 4 * 112, @index / 4 * 112 - self.oy, 112, 112)
    end
    end


    #==============================================================================
    # ¦ Window_Target
    #==============================================================================

    class Window_Target < Window_Selectable
    #--------------------------------------------------------------------------
    # ? initialize
    #--------------------------------------------------------------------------
    def initialize
    super(0, 0, 336, 480)
    @column_max = 2
    @item_max = $game_party.actors.size
    self.contents = Bitmap.new(width - 32, row_max * 112)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize/1.2
    self.z += 10
    refresh
    end
    #--------------------------------------------------------------------------
    # ? refresh
    #--------------------------------------------------------------------------
    def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
    x = i % 2 * 112 + 36
    y = i / 2 * 112
    actor = $game_party.actors[i]
    #dessine un carré pour séparer les characters, changer couleur transparente par ce que vous voulez
    #coleur désirée... (methode pour faire un carré ci-dessous)
    draw_square(x, y, 111, disabled_color)
    draw_actor_battlegraphic(actor, x, y, 150)
    draw_actor_graphic(actor, x + 90, y + 50)
    draw_actor_name(actor, x + 5, y)
    self.contents.draw_text(x + 5, y + 20, 112, 32, "HP : #{actor.hp}")
    self.contents.draw_text(x + 5, y + 40, 112, 32, "MP : #{actor.sp}")
    draw_actor_level(actor, x + 5, y + 60)
    draw_actor_state(actor, x + 5, y + 80)
    draw_actor_hp_meter(actor, x + 5, y + 17)
    draw_actor_sp_meter(actor, x + 5, y + 37)
    end
    end
    #--------------------------------------------------------------------------
    # ? define the page's top row
    #--------------------------------------------------------------------------
    def top_row
    return self.oy / 112
    end
    #--------------------------------------------------------------------------
    # ? define the page maximum rows
    #--------------------------------------------------------------------------
    def page_row_max
    return (self.height - 32) / 112
    end
    #--------------------------------------------------------------------------
    # ? defines a method to change the page's top row
    #--------------------------------------------------------------------------
    def top_row=(row)
    if row < 0
    row = 0
    end
    if row > row_max - 1
    row = row_max - 1
    end
    self.oy = row * 112
    end
    #--------------------------------------------------------------------------
    # ? update the cursor movement
    #--------------------------------------------------------------------------
    def update_cursor_rect
    row = @index / @column_max
    if row < self.top_row
    self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
    self.top_row = row - (self.page_row_max - 1)
    end
    if @index <= -2
    self.cursor_rect.empty
    elsif @index == -1
    self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
    else
    self.cursor_rect.set(@index % 2 * 112 + 36, @index / 2 * 112 - self.oy, 112, 112)
    end
    end
    end

    #==============================================================================
    # ¦ Scene_Menu
    #==============================================================================

    class Scene_Menu
    #--------------------------------------------------------------------------
    # ? initialize
    #--------------------------------------------------------------------------
    def initialize(menu_index = 0)
    @menu_index = menu_index
    @actor_change = false
    end
    #--------------------------------------------------------------------------
    # ? main
    #--------------------------------------------------------------------------
    def main
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Statuts"
    s5 = "Sauvegarder"
    s6 = "Ordre"
    s7 = "Quitter"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.actors.size == 0
    @command_window.disable_item(0)
    @command_window.disable_item(1)
    @command_window.disable_item(2)
    @command_window.disable_item(3)
    @command_window.disable_item(5)
    end
    if $game_system.save_disabled
    @command_window.disable_item(4)
    end
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 0
    @playtime_window.y = 256 #224

    @steps_window = Window_Steps.new
    @steps_window.x = 0
    @steps_window.y = 320

    @gold_window = Window_Gold.new
    @gold_window.x = 0
    @gold_window.y = 416

    @status_window = Window_MenuStatus.new
    @status_window.x = 160
    @status_window.y = 0

    Graphics.transition

    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze

    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    end
    #--------------------------------------------------------------------------
    # ? update the windows
    #--------------------------------------------------------------------------
    def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update

    if @command_window.active
    update_command
    return
    end
    if @status_window.active
    update_status
    return
    end
  end
      #--------------------------------------------------------------------------
    # ? update the command window
    #--------------------------------------------------------------------------
    def update_command
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Map.new
    return
    end
    if Input.trigger?(Input::C)
    if $game_party.actors.size == 0 and @command_window.index < 4
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    case @command_window.index
    when 0 # Item
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Item.new
    when 1 # Skill
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 2 # Equip
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 3 # Status
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 4 # Save
    if $game_system.save_disabled
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Save.new
    when 5 # party actors switch
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
    when 6 # End
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_End.new
    end
    return
    end
    end
    #--------------------------------------------------------------------------
    # ? update the status window
    #--------------------------------------------------------------------------
    def update_status
    if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
    @actor_change = false
    return
    end
    if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    case @command_window.index
    when 1 # Skill
    if $game_party.actors[@status_window.index].restriction >= 2
    $game_system.se_play($data_system.buzzer_se)
    return
    end
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Skill.new(@status_window.index)
    when 2 # Equip
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Equip.new(@status_window.index)
    when 3 # Status
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Status.new(@status_window.index)
    when 5 # party actors switch
    if @actor_change == true
    $game_system.se_play($data_system.decision_se)
    $game_party.actors[@old_index] = $game_party.actors[@status_window.index]
    $game_party.actors[@status_window.index] = @new_actor
    $game_player.refresh
    @actor_change = false
    @status_window.refresh
    return
    end
    @old_index = @status_window.index
    @new_actor = $game_party.actors[@status_window.index]
    @actor_change = true
    end
    return
    end
    end
    end

    #==============================================================================
    # ¦ Scene_Battle (Part 1)
    #==============================================================================

    class Scene_Battle
    #--------------------------------------------------------------------------
    # ? main
    #--------------------------------------------------------------------------
    def main
    $game_temp.in_battle = true
    $game_temp.battle_turn = 0
    $game_temp.battle_event_flags.clear
    $game_temp.battle_abort = false
    $game_temp.battle_main_phase = false
    $game_temp.battleback_name = $game_map.battleback_name
    $game_temp.forcing_battler = nil
    $game_system.battle_interpreter.setup(nil, 0)
    @troop_id = $game_temp.battle_troop_id
    $game_troop.setup(@troop_id)
    #memorize actors in party and cut the party down to 4 actors
    @party_mem = $game_party.actors
    $game_party.actors = $game_party.actors[0..3]
    s1 = $data_system.words.attack
    s2 = $data_system.words.skill
    s3 = $data_system.words.guard
    s4 = $data_system.words.item
    @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @actor_command_window.y = 160
    @actor_command_window.back_opacity = 160
    @actor_command_window.active = false
    @actor_command_window.visible = false
    @party_command_window = Window_PartyCommand.new
    @help_window = Window_Help.new
    @help_window.back_opacity = 160
    @help_window.visible = false
    @status_window = Window_BattleStatus.new
    @message_window = Window_Message.new
    @spriteset = Spriteset_Battle.new
    @wait_count = 0
    if $data_system.battle_transition == ""
    Graphics.transition(20)
    else
    Graphics.transition(40, "Graphics/Transitions/" +
    $data_system.battle_transition)
    end
    start_phase1
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    $game_map.refresh
    Graphics.freeze
    @actor_command_window.dispose
    @party_command_window.dispose
    @help_window.dispose
    @status_window.dispose
    @message_window.dispose
    if @skill_window != nil
    @skill_window.dispose
    end
    if @item_window != nil
    @item_window.dispose
    end
    if @result_window != nil
    @result_window.dispose
    end
    @spriteset.dispose
    if $scene.is_a?(Scene_Title)
    Graphics.transition
    Graphics.freeze
    end
    if $BTEST and not $scene.is_a?(Scene_Gameover)
    $scene = nil
    end
    end
    #--------------------------------------------------------------------------
    # ? battle end
    #--------------------------------------------------------------------------
    def battle_end(result)
    $game_temp.in_battle = false
    $game_party.clear_actions
    for actor in $game_party.actors
    actor.remove_states_battle
    end
    $game_troop.enemies.clear
    if $game_temp.battle_proc != nil
    $game_temp.battle_proc.call(result)
    $game_temp.battle_proc = nil
    end
    $game_party.actors = @party_mem
    $scene = Scene_Map.new
    end
    end
Revenir en haut Aller en bas
 
Probleme cohabitation script accessoirex3 et script 20 héros
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Implorer de l'aide :: Signaler & Résoudre un problème :: Archives-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser