|
| | Probleme cohabitation script accessoirex3 et script 20 héros | |
| | Auteur | Message |
---|
Bluelemon Roi des Boulets
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
| Sujet: Probleme cohabitation script accessoirex3 et script 20 héros Sam 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 | |
| | | Bluelemon Roi des Boulets
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
| Sujet: Re: Probleme cohabitation script accessoirex3 et script 20 héros Sam 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 | |
| | | | Probleme cohabitation script accessoirex3 et script 20 héros | |
|
Sujets similaires | |
|
Sujets similaires | |
| |
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|