daiano Posted January 18, 2009 Share Posted January 18, 2009 CIAO A TUTTI ANCORA UNA RICHIESTA, SONO STRESSANTE LO SO MA QUESTO FORUM MI ISPIRA SERIETA' E FIDUCIA!! HO UNO SCRIPT DI UN MENU PERSONALIZZATO CHE MI PIACE PARECCHIO IN QUANTO PERMETTE DI VEDERE LE IMMAGINI IN GRANDE DEI PG. QUESTO E' LO SCRIPT: # * Menù personalizzato: by mewsterus modificato da: Alex'94# * Fate una nuova classe e chiamatela Custom_Menù# * Dopodicchè avviate il gioco e...divertitevi!! :-)#===============================================================================# ¦ Window_Base#-------------------------------------------------------------------------------# Creato by mewsterus e tradotto e modificato da Alex'94#=============================================================================== class Window_Base#-----------------------------------------------------------------------------# \\\\\\#-----------------------------------------------------------------------------def draw_actor_state(actor, x, y, width = 120)text = make_battler_state_text(actor, width, true)self.contents.font.color = actor.hp == 0 ? knockout_color : normal_colorself.contents.draw_text(x, y, width, 32, text, 2)end#-----------------------------------------------------------------------------# \\\\\\\\\#-----------------------------------------------------------------------------def draw_actor_battler(actor, x, y)if $game_party.actors.size != 0bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)self.contents.blt(x-(bitmap.width/2), y-bitmap.height, bitmap, src_rect)endend#-----------------------------------------------------------------------------# @ \\\\\\\\\#-----------------------------------------------------------------------------def draw_actor_exp(actor, x, y, width = 144)self.contents.font.color = system_colorself.contents.draw_text(x, y, 48, 32, "Exp")self.contents.font.color = normal_colorself.contents.draw_text(x + width - 48, y, 48, 32, actor.exp_s, 2)endend #===============================================================================# ¦ Window_MenuStatus#-------------------------------------------------------------------------------# Creato by mewsterus modificato by Alex'94#=============================================================================== class Window_MenuStatus < Window_Selectable#-----------------------------------------------------------------------------# @ Make the window#-----------------------------------------------------------------------------def initializesuper(0, 240, 640, 0)self.z -= 30@column_max = 2self.active = falseself.index = -1end#-----------------------------------------------------------------------------# @ Refresh the window#-----------------------------------------------------------------------------def refreshself.contents = Bitmap.new(608, 448)self.contents.clear@item_max = $game_party.actors.sizefor i in 0...$game_party.actors.sizex = i % 2 * 400y = i / 2 * 232actor = $game_party.actorsdraw_actor_battler(actor, x + 104, y + 208)draw_actor_name(actor, x, y)draw_actor_state(actor, x + 88, y)draw_actor_exp(actor, x, y + 20, 208)draw_actor_level(actor, x, y + 40)draw_actor_hp(actor, x, y + 168, 208)draw_actor_sp(actor, x, y + 188, 208)self.contents.draw_text(x + 64, y + 40, 144, 32, actor.class_name, 2)endend#-----------------------------------------------------------------------------# @ Update the cursor#-----------------------------------------------------------------------------def update_cursor_rectif @index < 0self.cursor_rect.emptyelseself.cursor_rect.set(@index%2*400-8, @index/2*232-8, 224, 232)endendend #===============================================================================# ¦ Window_Play#-------------------------------------------------------------------------------# Written by mewsterus modificato da: Alex'94#=============================================================================== class Window_Play < Window_Selectable#-----------------------------------------------------------------------------# @ Make the window#-----------------------------------------------------------------------------def initializesuper(240, 240, 160, 0)self.z -= 20self.active = falseself.index = -1self.back_opacity = 100end#-----------------------------------------------------------------------------# @ Refresh the window#-----------------------------------------------------------------------------def refreshself.contents = Bitmap.new(128, 448)#self.contents.font.name = $fontface#self.contents.font.size = $fontsizeself.contents.clearcx = contents.text_size($data_system.words.gold).widthself.contents.font.color = system_colorself.contents.draw_text(0, 0, 128, 32, "Tempo: ")self.contents.draw_text(128 - cx, 64, cx, 32, $data_system.words.gold, 2)self.contents.draw_text(0, 384, 128, 32, "Passi: ")@total_sec = Graphics.frame_count / Graphics.frame_ratehour = @total_sec / 60 / 60min = @total_sec / 60 % 60sec = @total_sec % 60text = sprintf("%02d:%02d:%02d", hour, min, sec)self.contents.font.color = normal_colorself.contents.draw_text(0, 32, 128, 32, text, 2)self.contents.draw_text(0, 64, 126 - cx, 32, $game_party.gold.to_s, 2)self.contents.font.color = normal_colorself.contents.draw_text(0, 416, 128, 32, $game_party.steps.to_s, 2)if $location_enabledself.contents.draw_text(0,352,128,32,$game_map.name.delete("*").to_s,2)self.contents.font.color = system_colorself.contents.draw_text(0,320,128,32,"Location")endend#-----------------------------------------------------------------------------# @ Update the cursor#-----------------------------------------------------------------------------def update_cursor_rectif @index < 0self.cursor_rect.emptyelseself.cursor_rect.set(@index%2*400-8, @index/2*232-8, 224, 232)endendend #===============================================================================# ¦ Scene_Menu#-------------------------------------------------------------------------------# Creato by mewsterus Modificato by Alex'94#=============================================================================== class Scene_Menu#-----------------------------------------------------------------------------# @ Accept index#-----------------------------------------------------------------------------def initialize(menu_index = 0, equip_index = 0)@menu_index = menu_index@equip_index = equip_indexend#-----------------------------------------------------------------------------# @ Main loop#-----------------------------------------------------------------------------def main# @sprite = Spriteset_Map.new@bg_window = Window_Base.new(320, 0, 0, 480)s1 = $data_system.words.items2 = $data_system.words.skills3 = $data_system.words.equips4 = "State"s5 = "Save"s6 = "Quit game"@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])@command_window.index = @menu_index@command_window.opacity = 0@command_window.x = 240@command_window.y = 96@command_window.z -= 10@command_window.visible = falseif $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)endif $game_system.save_disabled@command_window.disable_item(4)end@help_window = Window_Help.new@help_window.visible = false@help_window.back_opacity = 100@status_window = Window_MenuStatus.new@play_window = Window_Play.newif $itemdrop_enabled@itemdrop = Window_Command.new(160, ["Basilare", "Equipaggiamento", "Cerca"])else@itemdrop = Window_Base.new(240, 144, 160, 128)end@itemdrop.x = 240@itemdrop.y = 144@itemdrop.z -= 5@itemdrop.active = false@itemdrop.opacity = 0@itemdrop.contents_opacity = 0Graphics.transitionloop doGraphics.updateInput.updateif @status_window.y > 0@status_window.y -= 16@status_window.height += 32@play_window.y -= 16@play_window.height += 32else@command_window.visible = trueunless @refreshed@status_window.refresh@refreshed = trueendupdateif @resize_itemif @bg_window.width < 640@bg_window.x -= 16@bg_window.width += 32else@resize_item = falseif $itemdrop_enabled@item_window = Window_Item.new(@itemdrop.index + 20)else@item_window = Window_Item.newend@item_window.help_window = @help_window@item_window.active = true@item_window.x = 0@item_window.contents_opacity = 255@item_window.back_opacity = 100@item_window.opacity = 255@target_window = Window_Target.new@target_window.active = false@target_window.x = 320@target_window.contents_opacity = 255@target_window.opacity = 255unless $ipm_enabled@target_window.visible = falseendif $itemdrop_enabledif @itemdrop.index + 20 > 20@item_window.width = 640@item_window.column_max = 2@target_window.visible = falseendend@help_window.visible = true@itemdrop.opacity = 0@itemdrop.contents_opacity = 0endendif @resize_skillif @bg_window.width < 640@bg_window.x -= 16@bg_window.width += 32else@resize_skill = false@actor = $game_party.actors[@status_window.index]@skillstatus_window = Window_SkillStatus.new(@actor)@skillstatus_window.contents_opacity = 255@skillstatus_window.back_opacity = 100@skillstatus_window.opacity = 255@skillstatus_window.x = 0@skill_window = Window_Skill.new(@actor)@skill_window.help_window = @help_window@skill_window.contents_opacity = 255@skill_window.back_opacity = 100@skill_window.opacity = 255if $ipm_enabled@skill_window.y = 184@skilltarget_window = Window_Target.new(@status_window.index)else@skill_window.y = 128@skilltarget_window = Window_Target.newend@skilltarget_window.active = false@skilltarget_window.contents_opacity = 255@skilltarget_window.opacity = 255@skilltarget_window.x = 320@help_window.visible = trueunless $ipm_enabled@skilltarget_window.visible = falseendendendif @resize_equipif @bg_window.width < 640@bg_window.x -= 16@bg_window.width += 32else@resize_equip = false@actor = $game_party.actors[@status_window.index]@equiphelp_window = Window_Help.new@equiphelp_window.back_opacity = 100@left_window = Window_EquipLeft.new(@actor)@left_window.contents_opacity = 255@left_window.back_opacity = 100@left_window.opacity = 255@left_window.x = 0@right_window = Window_EquipRight.new(@actor)@right_window.help_window = @equiphelp_window@right_window.index = @equip_index@right_window.contents_opacity = 255@right_window.back_opacity = 100@right_window.opacity = 255@right_window.y = 64@item_window1 = Window_EquipItem.new(@actor, 0)@item_window2 = Window_EquipItem.new(@actor, 1)@item_window3 = Window_EquipItem.new(@actor, 2)@item_window4 = Window_EquipItem.new(@actor, 3)@item_window5 = Window_EquipItem.new(@actor, 4)@item_window1.help_window = @equiphelp_window@item_window2.help_window = @equiphelp_window@item_window3.help_window = @equiphelp_window@item_window4.help_window = @equiphelp_window@item_window5.help_window = @equiphelp_window@item_window1.back_opacity = 100@item_window2.back_opacity = 100@item_window3.back_opacity = 100@item_window4.back_opacity = 100@item_window5.back_opacity = 100if $ipm_enabled@commands = ["Equippaggia", "Opzionale", "Rimuovi", "Svuota", "Annulla"]@equip_window = Window_SideCommand.new(@commands)@equip_window.back_opacity = 100@equip_window.height = 64@equiphelp_window.y = 416@right_window.index = -1@blank_window = Window_Base.new(272, 256, 368, 160)@blank_window.active = false@blank_window.back_opacity = 100endequip_refreshendendif @resize_statusif @bg_window.width < 448@bg_window.x -= 16@bg_window.width += 32elsif @bg_window.width < 640 and not $ipm_enabled@bg_window.x -= 16@bg_window.width += 32else@resize_status = false@actor = $game_party.actors[@status_window.index]@playerstatus_window = Window_Status.new(@actor)@playerstatus_window.contents_opacity = 255@playerstatus_window.opacity = 255@playerstatus_window.y = 0endendif @resize_saveif @help_window.x < 0@help_window.x += 64@savefile_windows[0].x -= 64@savefile_windows[1].x += 64@savefile_windows[2].x -= 64@savefile_windows[3].x += 64else@resize_save = false@savefile_windows_active = trueendendif @resize_back@status_window.index = -1if @bg_window.width > 0@bg_window.x += 16@bg_window.width -= 32else@resize_back = false@command_window.active = trueendendendif $scene != selfbreakendend@bg_window.dispose@command_window.dispose@help_window.dispose@status_window.cursor_rect.empty@status_window.contents.clear@status_window.contents = nil@play_window.contents.clear@play_window.contents = nilfor i in 0..20@status_window.y += 16@status_window.height -= 32@play_window.y += 16@play_window.height -= 32@itemdrop.opacity -= 25@itemdrop.contents_opacity -= 25Graphics.updateendGraphics.freeze# @sprite.dispose@status_window.dispose@itemdrop.disposeend#-----------------------------------------------------------------------------# @ Update the scene#-----------------------------------------------------------------------------def update@help_window.update@command_window.update@status_window.update@play_window.update@play_window.refresh@itemdrop.updateif @command_window.activeupdate_commandreturnendif @status_window.activeupdate_statusreturnendif @itemdrop.activeupdate_itemdropreturnendif @item_window != nil@item_window.update@target_window.updateif @item_window.activeupdate_itemreturnendif @target_window.activeupdate_targetreturnendendif @skill_window != nil@skill_window.update@skillstatus_window.update@skilltarget_window.updateif @skill_window.activeupdate_skillreturnendif @skilltarget_window.activeupdate_skilltargetreturnendif @skillstatus_window.activeupdate_skillstatusreturnendendif @left_window != nil@equiphelp_window.update@left_window.update@right_window.update@eitem_window.updateequip_refreshif $ipm_enabled@equip_window.updateif @equip_window.activeupdate_equipreturnendendif @right_window.activeupdate_rightreturnendif @eitem_window.activeupdate_eitemreturnendendif @playerstatus_window != nil@playerstatus_window.updateupdate_playerstatusendif @savefile_windows != nil@help_window.updatefor i in @savefile_windowsi.updateendif @savefile_windows_activeupdate_saveendendend#-----------------------------------------------------------------------------# @ Update the command window#-----------------------------------------------------------------------------def update_commandif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)$scene = Scene_Map.newreturnendif Input.trigger?(Input::C)if $game_party.actors.size == 0 and @command_window.index < 4$game_system.se_play($data_system.buzzer_se)returnendcase @command_window.indexwhen 0$game_system.se_play($data_system.decision_se)if $itemdrop_enabledloop doif @itemdrop.opacity < 250@itemdrop.opacity += 25@itemdrop.contents_opacity += 25elsebreakendGraphics.updateend@command_window.active = false@itemdrop.active = truereturnend@command_window.active = false@resize_item = truewhen 1$game_system.se_play($data_system.decision_se)@command_window.active = false@status_window.active = true@status_window.index = 0when 2$game_system.se_play($data_system.decision_se)@command_window.active = false@status_window.active = true@status_window.index = 0when 3$game_system.se_play($data_system.decision_se)@command_window.active = false@status_window.active = true@status_window.index = 0when 4if $game_system.save_disabled$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.decision_se)@help_window.set_text("Where do you wanna save?", 1)@help_window.back_opacity = 255@help_window.x = -640@savefile_windows = []for i in 0..3if $ipm_enabled@savefile_windows.push(Window_Save.new(i))else@savefile_windows.push(Window_SaveFile.new(i, nil))end@savefile_windows.back_opacity = 255@savefile_windows.opacity = 255end@file_index = $game_temp.last_file_index@savefile_windows[@file_index].selected = true@savefile_windows[0].x = 640@savefile_windows[1].x = -640@savefile_windows[2].x = 640@savefile_windows[3].x = -640@command_window.active = false@resize_save = truewhen 5$game_system.se_play($data_system.decision_se)$scene = Scene_End.newendreturnendend#-----------------------------------------------------------------------------# @ Update the status window#-----------------------------------------------------------------------------def update_statusif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@command_window.active = true@status_window.active = false@status_window.index = -1returnendif Input.trigger?(Input::C)@actor_index = @status_window.indexcase @command_window.indexwhen 1if $game_party.actors[@status_window.index].restriction >= 2$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.decision_se)@status_window.active = false@resize_skill = truewhen 2$game_system.se_play($data_system.decision_se)@status_window.active = false@resize_equip = truewhen 3$game_system.se_play($data_system.decision_se)@status_window.active = false@resize_status = trueendreturnendend#-----------------------------------------------------------------------------# @ Update the itemdrop window#-----------------------------------------------------------------------------def update_itemdropif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)loop doif @itemdrop.opacity > 0@itemdrop.opacity -= 25@itemdrop.contents_opacity -= 25elsebreakendGraphics.updateend@itemdrop.active = false@command_window.active = truereturnendif Input.trigger?(Input::C)$game_system.se_play($data_system.decision_se)@itemdrop.active = false@resize_item = trueendend#-----------------------------------------------------------------------------# @ Update the item window#-----------------------------------------------------------------------------def update_itemif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@item_window.dispose@target_window.dispose@item_window = nil@target_window = nil@help_window.visible = false@resize_back = truereturnendif Input.trigger?(Input::C)@item = @item_window.itemunless @item.is_a?(RPG::Item)$game_system.se_play($data_system.buzzer_se)returnendunless $game_party.item_can_use?(@item.id)$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.decision_se)if @item.scope >= 3@item_window.active = falseunless $ipm_enabled@target_window.x = (@item_window.index + 1) % 2 * 304@target_window.visible = trueend@target_window.active = trueif @item.scope == 4 || @item.scope == 6@target_window.index = -1else@target_window.index = 0endelseif @item.common_event_id > 0$game_temp.common_event_id = @item.common_event_id$game_system.se_play(@item.menu_se)if @item.consumable$game_party.lose_item(@item.id, 1)@item_window.draw_item(@item_window.index)end$scene = Scene_Map.newreturnendendreturnendif Input.trigger?(Input::R) and $itemdrop_enabled$game_system.se_play($data_system.cursor_se)@itemdrop.index = (@itemdrop.index + 1) % 3@item_window.dispose@target_window.dispose@resize_item = truereturnendif Input.trigger?(Input::L) and $itemdrop_enabled$game_system.se_play($data_system.cursor_se)@itemdrop.index = (@itemdrop.index + 2) % 3@item_window.dispose@target_window.dispose@resize_item = truereturnendend#-----------------------------------------------------------------------------# @ Update the target window#-----------------------------------------------------------------------------def update_targetif $game_party.item_number(@item.id) == 0@target_window.active = false@item_window.refresh@item_window.active = trueunless $ipm_enabled@target_window.visible = falseendreturnendif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)unless $game_party.item_can_use?(@item.id)@item_window.refreshend@item_window.active = trueunless $ipm_enabled@target_window.visible = falseend@target_window.active = falsereturnendif Input.trigger?(Input::C)if $game_party.item_number(@item.id) == 0$game_system.se_play($data_system.buzzer_se)returnendif @target_window.index == -1used = falsefor i in $game_party.actorsused |= i.item_effect(@item)endendif @target_window.index >= 0target = $game_party.actors[@target_window.index]used = target.item_effect(@item)endif used$game_system.se_play(@item.menu_se)if @item.consumable$game_party.lose_item(@item.id, 1)@item_window.draw_item(@item_window.index)end@target_window.refreshif $game_party.all_dead?$scene = Scene_Gameover.newreturnendif @item.common_event_id > 0$game_temp.common_event_id = @item.common_event_id$scene = Scene_Map.newreturnendendunless used$game_system.se_play($data_system.buzzer_se)endreturnendend#-----------------------------------------------------------------------------# @ Update the skill window#-----------------------------------------------------------------------------def update_skillif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@skill_window.dispose@skillstatus_window.dispose@skilltarget_window.dispose@skill_window = nil@skillstatus_window = nil@skilltarget_window = nil@help_window.visible = false@resize_back = truereturnendif Input.trigger?(Input::C)@skill = @skill_window.skillif @skill == nil or not @actor.skill_can_use?(@skill.id)$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.decision_se)if @skill.scope >= 3@skill_window.active = falseunless $ipm_enabled@skilltarget_window.x = (@skill_window.index + 1) % 2 * 304@skilltarget_window.visible = trueend@skilltarget_window.active = trueif @skill.scope == 4 || @skill.scope == 6@skilltarget_window.index = -1if $ipm_enabled@skillstatus_window.selected = true@skillstatus_window.active = trueendelsif @skill.scope == 7if $ipm_enabled@skillstatus_window.selected = true@skillstatus_window.active = trueelse@skilltarget_window.index = @actor_index - 10endelse@skilltarget_window.index = 0endelseif @skill.common_event_id > 0$game_temp.common_event_id = @skill.common_event_id$game_system.se_play(@skill.menu_se)@actor.sp -= @skill.sp_cost@skillstatus_window.refresh@skill_window.refresh@skilltarget_window.refresh$scene = Scene_Map.newreturnendendreturnendif Input.trigger?(Input::R)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index+1)%$game_party.actors.size@skill_window.dispose@skillstatus_window.dispose@skilltarget_window.dispose@resize_skill = truereturnendif Input.trigger?(Input::L)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index-1)%$game_party.actors.size@skill_window.dispose@skillstatus_window.dispose@skilltarget_window.dispose@resize_skill = truereturnendend#-----------------------------------------------------------------------------# @ Update the skill target window#-----------------------------------------------------------------------------def update_skilltargetif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@skill_window.active = true@skilltarget_window.active = falseif $ipm_enabled@skillstatus_window.selected = false@skillstatus_window.active = falseelse@skilltarget_window.visible = falseendreturnendif Input.trigger?(Input::C)unless @actor.skill_can_use?(@skill.id)$game_system.se_play($data_system.buzzer_se)returnendif @skilltarget_window.index == -1used = falsefor i in $game_party.actorsused |= i.skill_effect(@actor, @skill)endendif @skilltarget_window.index <= -2target = $game_party.actors[@skilltarget_window.index + 10]used = target.skill_effect(@actor, @skill)endif @skilltarget_window.index >= 0if @skilltarget_window.index >= @actor_index and $ipm_enabledtarget = $game_party.actors[@skilltarget_window.index + 1]elsetarget = $game_party.actors[@skilltarget_window.index]endused = target.skill_effect(@actor, @skill)endif used$game_system.se_play(@skill.menu_se)@actor.sp -= @skill.sp_cost@skillstatus_window.refresh@skill_window.refresh@skilltarget_window.refreshif $game_party.all_dead?$scene = Scene_Gameover.newreturnendif @skill.common_event_id > 0$game_temp.common_event_id = @skill.common_event_id$scene = Scene_Map.newreturnendendunless used$game_system.se_play($data_system.buzzer_se)endreturnendif $ipm_enabledif Input.repeat?(Input::RIGHT) or Input.repeat?(Input::LEFT)$game_system.se_play($data_system.cursor_se)@skilltarget_window.active = false@skillstatus_window.active = true@skillstatus_window.selected = truereturnendendend#-----------------------------------------------------------------------------# @ Update the skill status window#-----------------------------------------------------------------------------def update_skillstatusif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@skill_window.active = true@skilltarget_window.active = false@skillstatus_window.selected = falsereturnendif Input.trigger?(Input::C)unless @actor.skill_can_use?(@skill.id)$game_system.se_play($data_system.buzzer_se)returnendif @skilltarget_window.index == -1used = falsefor i in $game_party.actorsused |= i.skill_effect(@actor, @skill)endendif @skilltarget_window.index <= -2target = @actorused = target.skill_effect(@actor, @skill)endif @skilltarget_window.index >= 0target = @actorused = target.skill_effect(@actor, @skill)endif used$game_system.se_play(@skill.menu_se)@actor.sp -= @skill.sp_cost@skillstatus_window.refresh@skill_window.refresh@skilltarget_window.refreshif $game_party.all_dead?$scene = Scene_Gameover.newreturnendif @skill.common_event_id > 0$game_temp.common_event_id = @skill.common_event_id$scene = Scene_Map.newreturnendendunless used$game_system.se_play($data_system.buzzer_se)endreturnendif Input.repeat?(Input::RIGHT) or Input.repeat?(Input::LEFT)if @skill.scope == 7$game_system.se_play($data_system.buzzer_se)returnend$game_system.se_play($data_system.cursor_se)@skillstatus_window.active = false@skillstatus_window.selected = false@skilltarget_window.active = truereturnendend#-----------------------------------------------------------------------------# @ Refresh the equip screen#-----------------------------------------------------------------------------def equip_refreshunless @remove@item_window1.visible = (@right_window.index == 0)@item_window2.visible = (@right_window.index == 1)@item_window3.visible = (@right_window.index == 2)@item_window4.visible = (@right_window.index == 3)@item_window5.visible = (@right_window.index == 4)enditem1 = @right_window.itemcase @right_window.indexwhen -2@eitem_window = @blank_windowwhen -1@eitem_window = @blank_windowwhen 0@eitem_window = @item_window1newmode = 0when 1@eitem_window = @item_window2newmode = 1when 2@eitem_window = @item_window3newmode = 1when 3@eitem_window = @item_window4newmode = 1when 4@eitem_window = @item_window5newmode = 1endif @remove@eitem_window = @blank_windowendif $ipm_enabledif newmode != @left_window.mode@left_window.mode = newmode@left_window.refreshendif @eitem_window.active or @removeif @eitem_window.activeitem2 = @eitem_window.itemendlast_hp = @actor.hplast_sp = @actor.spold_atk = @actor.atkold_pdef = @actor.pdefold_mdef = @actor.mdefold_str = @actor.strold_dex = @actor.dexold_agi = @actor.agiold_int = @actor.intold_eva = @actor.eva@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)new_atk = @actor.atknew_pdef = @actor.pdefnew_mdef = @actor.mdefnew_str = @actor.strnew_dex = @actor.dexnew_agi = @actor.aginew_int = @actor.intnew_eva = @actor.eva@left_window.changes = [0, 0, 0, 0, 0, 0, 0, 0]@left_window.changes[0] = new_atk - old_atk@left_window.changes[1] = new_pdef - old_pdef@left_window.changes[2] = new_mdef - old_mdef@left_window.changes[3] = new_str - old_str@left_window.changes[4] = new_dex - old_dex@left_window.changes[5] = new_agi - old_agi@left_window.changes[6] = new_int - old_int@left_window.changes[7] = new_eva - old_eva@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)@actor.hp = last_hp@actor.sp = last_sp@left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,new_dex, new_agi, new_int, new_eva)else@left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil, nil)endelseif @eitem_window.activeitem2 = @eitem_window.itemlast_hp = @actor.hplast_sp = @actor.sp@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)new_atk = @actor.atknew_pdef = @actor.pdefnew_mdef = @actor.mdef@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)@actor.hp = last_hp@actor.sp = last_sp@left_window.set_new_parameters(new_atk, new_pdef, new_mdef)else@left_window.set_new_parameters(nil, nil, nil)endendend#-----------------------------------------------------------------------------# @ Update the equip command window#-----------------------------------------------------------------------------def update_equipif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@equiphelp_window = nil@equip_window = nil@left_window = nil@right_window = nil@blank_window = nil@item_window1 = nil@item_window2 = nil@item_window3 = nil@item_window4 = nil@item_window5 = nil@resize_back = truereturnendif Input.trigger?(Input::C)$game_system.se_play($data_system.decision_se)case @equip_window.indexwhen 0@equip_window.active = false@right_window.active = true@right_window.index = @equip_indexwhen 1optimize@left_window.refresh@right_window.refresh@item_window1.refresh@item_window2.refresh@item_window3.refresh@item_window4.refresh@item_window5.refreshwhen 2@remove = true@equip_window.active = false@right_window.active = true@right_window.index = @equip_indexwhen 3for i in 0..4@actor.equip(i, 0)end@left_window.refresh@right_window.refresh@item_window1.refresh@item_window2.refresh@item_window3.refresh@item_window4.refresh@item_window5.refreshwhen 4@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@equiphelp_window = nil@equip_window = nil@left_window = nil@right_window = nil@blank_window = nil@item_window1 = nil@item_window2 = nil@item_window3 = nil@item_window4 = nil@item_window5 = nil@resize_back = trueendreturnendif Input.trigger?(Input::R)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index+1)%$game_party.actors.size@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@resize_equip = truereturnendif Input.trigger?(Input::L)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index-1)%$game_party.actors.size@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@resize_equip = truereturnendend#-----------------------------------------------------------------------------# @ Update the right window#-----------------------------------------------------------------------------def update_rightif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)if $ipm_enabled@right_window.active = false@equip_window.active = trueif @right_window.index >= 0@equip_index = @right_window.indexend@right_window.index = -1@remove = false@equiphelp_window.set_text("")@left_window.refreshreturnend@equiphelp_window.dispose@left_window.dispose@right_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@equiphelp_window = nil@left_window = nil@right_window = nil@item_window1 = nil@item_window2 = nil@item_window3 = nil@item_window4 = nil@item_window5 = nil@resize_back = truereturnendif Input.trigger?(Input::C)if @remove$game_system.se_play($data_system.decision_se)@actor.equip(@right_window.index, 0)@left_window.refresh@right_window.refreshreturnendif @actor.equip_fix?(@right_window.index)$game_system.se_play($data_system.buzzer_se)returnendif $ipm_enabledif @eitem_window.data.size == 0$game_system.se_play($data_system.buzzer_se)returnendend$game_system.se_play($data_system.decision_se)@right_window.active = false@eitem_window.active = true@eitem_window.index = 0returnendif Input.trigger?(Input::R) and not $ipm_enabled$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index+1)%$game_party.actors.size@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@resize_equip = truereturnendif Input.trigger?(Input::L) and not $ipm_enabled$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index-1)%$game_party.actors.size@equiphelp_window.dispose@equip_window.dispose@left_window.dispose@right_window.dispose@blank_window.dispose@item_window1.dispose@item_window2.dispose@item_window3.dispose@item_window4.dispose@item_window5.dispose@resize_equip = truereturnendend#-----------------------------------------------------------------------------# @ Update the equip item window#-----------------------------------------------------------------------------def update_eitemif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@right_window.active = true@eitem_window.active = false@eitem_window.index = -1returnendif Input.trigger?(Input::C)$game_system.se_play($data_system.equip_se)item = @eitem_window.item@actor.equip(@right_window.index, item.id)@right_window.active = true@eitem_window.active = false@eitem_window.index = -1@right_window.refresh@eitem_window.refreshreturnendend#-----------------------------------------------------------------------------# @ Optimize equipment (by RPGAdvocate)#-----------------------------------------------------------------------------def optimizeobject = $data_weapons[@actor.weapon_id]optimal = object.idcurrent = 0.00if @actor.weapon_id != 0current = object.atkelseoptimal = 0endmax_eval = current@actor.equip(0, 0)flag = falsezero_flag = truefor weapon in $data_weaponsif !flagflag = truenextendevaluation = weapon.atkif evaluation > 0zero_flag = falseendif @actor.equippable?(weapon) &&$game_party.weapon_number(weapon.id) > 0 && evaluation > max_evalmax_eval = evaluationoptimal = weapon.idendendif zero_flagoptimal = 0end@actor.equip(0, optimal)not_equipped = falsefor i in 1..4case iwhen 1if @actor.armor1_id == 0not_equipped = trueelseobject = $data_armors[@actor.armor1_id]endwhen 2if @actor.armor2_id == 0not_equipped = trueelseobject = $data_armors[@actor.armor2_id]endwhen 3if @actor.armor3_id == 0not_equipped = trueelseobject = $data_armors[@actor.armor3_id]endwhen 4if @actor.armor4_id == 0not_equipped = trueelseobject = $data_armors[@actor.armor4_id]endendoptimal = object.idcurrent = 0.00if not_equipped = falsecurrent = object.pdef * 0.75 + object.mdef * 0.25elseoptimal = 0endmax_eval = current@actor.equip(i, 0)flag = falsezero_flag = truefor armor in $data_armorsif !flagflag = truenextendif armor.kind != i-1nextendevaluation = armor.pdef * 0.75 + armor.mdef * 0.25if evaluation > 0zero_flag = falseendif @actor.equippable?(armor) &&$game_party.armor_number(armor.id) > 0 && evaluation > max_evalmax_eval = evaluationoptimal = armor.idendendif zero_flagoptimal = 0end@actor.equip(i, optimal)endend#----------------------------------------------------------------------------# @ Update the large status window#----------------------------------------------------------------------------def update_playerstatusif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)@playerstatus_window.dispose@playerstatus_window = nil@resize_back = truereturnendif Input.trigger?(Input::R)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index+1)%$game_party.actors.size@playerstatus_window.dispose@resize_status = truereturnendif Input.trigger?(Input::L)$game_system.se_play($data_system.cursor_se)@status_window.index = (@status_window.index-1)%$game_party.actors.size@playerstatus_window.dispose@resize_status = truereturnendend#-----------------------------------------------------------------------------# @ Update the save screen#-----------------------------------------------------------------------------def update_saveif Input.trigger?(Input::C)$game_system.se_play($data_system.save_se)file = File.open("Save#{@file_index + 1}.rxdata", "wb")characters = []for i in 0...$game_party.actors.sizeactor = $game_party.actorscharacters.push([actor.character_name, actor.character_hue])endMarshal.dump(characters, file)Marshal.dump(Graphics.frame_count, file)$game_system.save_count += 1$game_system.magic_number = $data_system.magic_numberMarshal.dump($game_system, file)Marshal.dump($game_switches, file)Marshal.dump($game_variables, file)Marshal.dump($game_self_switches, file)Marshal.dump($game_screen, file)Marshal.dump($game_actors, file)Marshal.dump($game_party, file)Marshal.dump($game_troop, file)Marshal.dump($game_map, file)Marshal.dump($game_player, file)file.close@savefile_windows[@file_index].refresh$game_temp.last_file_index = @file_indexfor i in 0..10@help_window.x += 64@savefile_windows[0].x -= 64@savefile_windows[1].x += 64@savefile_windows[2].x -= 64@savefile_windows[3].x += 64Graphics.updateend@savefile_windows_active = false@command_window.active = true@help_window.back_opacity = 100@help_window.visible = false@help_window.x = 0returnendif Input.trigger?(Input::B)$game_system.se_play($data_system.cancel_se)for i in 0..10@help_window.x += 64@savefile_windows[0].x -= 64@savefile_windows[1].x += 64@savefile_windows[2].x -= 64@savefile_windows[3].x += 64Graphics.updateend@savefile_windows_active = false@command_window.active = true@help_window.back_opacity = 100@help_window.visible = false@help_window.x = 0returnendif Input.repeat?(Input::DOWN)if Input.trigger?(Input::DOWN) or @file_index < 3$game_system.se_play($data_system.cursor_se)@savefile_windows[@file_index].selected = false@file_index = (@file_index + 1) % 4@savefile_windows[@file_index].selected = truereturnendendif Input.repeat?(Input::UP)if Input.trigger?(Input::UP) or @file_index > 0$game_system.se_play($data_system.cursor_se)@savefile_windows[@file_index].selected = false@file_index = (@file_index + 3) % 4@savefile_windows[@file_index].selected = truereturnendendendend ECCO..LE SCRITTE RISULTANO BIANCHE, IO LE VOGLIO NERE. INOLTRE COME FACCIO A FAR SI CHE IN BATTAGLIA SIANO PIU PICCOLE LE FINESTRE!? GRAZIE!! Link to comment Share on other sites More sharing options...
MasterSion Posted January 18, 2009 Share Posted January 18, 2009 Il codice è lunghissimo e sinceramente non ho voglia di leggerlo tutto però ti posso dire che :il colore del font si definisce con font.color (es. font.color = normal_color ) normal_color è definito nella window_basees . (255,255,255,255 ) se non erro sono rosso , blu , verde , opacità .Per quanto riguarda le finestre in battaglia se guardi bene c'è if $game_temp.in_battle (usa ctrl+f) proprio lì sotto puoi definire x,y e larghezza , altezza dellafinestra .Spero di essere stato chiaro e utile http://img256.imageshack.us/img256/7639/ihateyou.gifUn uomo senza religione è come un pesce senza bicicletta.http://img18.imageshack.us/img18/3668/decasoft1.pnghttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif Link to comment Share on other sites More sharing options...
daiano Posted January 19, 2009 Author Share Posted January 19, 2009 Il codice è lunghissimo e sinceramente non ho voglia di leggerlo tutto però ti posso dire che :il colore del font si definisce con font.color (es. font.color = normal_color ) normal_color è definito nella window_basees . (255,255,255,255 ) se non erro sono rosso , blu , verde , opacità .Per quanto riguarda le finestre in battaglia se guardi bene c'è if $game_temp.in_battle (usa ctrl+f) proprio lì sotto puoi definire x,y e larghezza , altezza dellafinestra .Spero di essere stato chiaro e utile graazie millee!! quindi nella window base cambio il colore del font e poi nel menu mi cambia il colore:)!! graziee!! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now