Submission: Custom Menu System, by Prexus |
|
|
|
|
Oct 15 2005, 03:10 AM
|

Level 3

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful

|
Okay: This is one big script but there are some VERY important things you must do! Read the instructions very carefully (comments at top of script) CODE # Custom Menu System # - Stylized with Dropdown Menus # Includes: # - Unlimited character support # - Quest/Key Item Support (by rpgmaker) # - Organized Menus by Items, Weapons, Armors, and Key Items # - Advanced Equip Screen (by RPG-Advocate) # - Reorganized Status Screen # - Horizontal Menus # - Transparent Windows # - Single Scene interface [lag reduction] # - Map Name Window # - Support for Deke/Near Fantastica's day*night system # # Instruction Manual: # # Step 1 - copy and paste this line into Window_Base under def initialize # self.back_opacity = 160 # You can remove this line if you do not wish for transparent menu windows. # # Step 2 - copy and paste these lines at the end of Window_Base before the # last end: # def draw_actor_face(actor,x,y) # bitmap = RPG::Cache.picture(actor.name + ".png") # self.contents.blt(x,y,bitmap,Rect.new(0,0,100,100)) # end # This is for FaceSet support. You can remove this by searching for # draw_actor_face and removing the line and the def draw_actor_face code. # If you keep this code, you will require 100x100 png files in the Pictures # directory named after the characters they correspond to. # Example: Arshes' face image is called Arshes.png # # Step 3 - Add this line: # @help_window.y = 0 # between these lines: # @help_window = Window_Help.new # and # @help_window.set_text(@help_text) # in Scene_File. This is mandatory. # # Step 4 - Add this to Game_Map at the end: # def name # $map_infos[@map_id] # end # Also add this to Scene_Title after $data_system in def main # $map_infos = load_data("Data/MapInfos.rxdata") # for key in $map_infos.keys # $map_infos[key] = $map_infos[key].name # end # Thats for the map location window. # # Support for Deke/Near Fantastica's Day and Night System: # Currently the script has this commented out, so that it doesn't interfere. # If you wish to support this, run a search in this file for D&N Script # Instructions will be there for you to follow. # Also, make sure that the D&N system script is below this one in the list # # Support for the Key Items window is as follows: # Create 4 new elements in the Database (system tab) # Make them IDs 17, 18, 19, and 20 and name them: # 0017: Items # 0018: Weapons # 0019: Armor # 0020: Quest Items # Now, in the database, give the corresponding items the corresponding elements # You'll need to do this for every item and such. If one item has both ids it # will show in both menus (Such as Items/Quest Items) # # Thats it. Enjoy ^^; # - Prexus
class Window_Item < Window_Selectable def initialize(wintype = 1, element_id = 17) super(0, 64, 640, 352) @element_id = element_id @wintype = wintype @column_max = 2 if $game_temp.in_battle @column_max = 1 self.x = 308 self.y = 80 self.width = 316 self.height = 196 self.back_opacity = 160 end self.index = 0 refresh end def item return @data[self.index] end def setids(wintype, element_id) @wintype = wintype @element_id = element_id refresh end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] if @wintype == 1 for i in 1...$data_items.size if $game_party.item_number(i) > 0 if $data_items[i] != nil and ($data_items[i].element_set.include?(@element_id)) @data.push($data_items[i]) end end end elsif @wintype == 2 for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 if $data_weapons[i] != nil and ($data_weapons[i].element_set.include?(@element_id)) @data.push($data_weapons[i]) end end end elsif @wintype == 3 for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 if $data_armors[i] != nil @data.push($data_armors[i]) end end end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize for i in 0...@item_max draw_item(i) end end end def draw_item(index) item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end if item.is_a?(RPG::Item) if $game_party.item_can_use?(item.id) self.contents.font.color = normal_color else disabled_color end else self.contents.font.color = normal_color end if $game_temp.in_battle x = 4 y = index * 32 else x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 end rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) self.contents.draw_text(x + 240, y, 16, 32, "x", 1) self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2) end def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
class Window_MapName < Window_Base def initialize super(0, 0, 160, 96) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh end def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 120, 32, "Location") self.contents.font.color = normal_color self.contents.draw_text(4, 32, 120, 32, $game_map.name.to_s, 2) end end
class Window_EquipLeft < Window_Base attr_accessor :mode attr_accessor :changes def initialize(actor) super(0, 64, 272, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize self.z += 100 actor_num = actor.id @actor = actor refresh end def update_actor(actor) @actor = actor actor_num = actor.id refresh end def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_level(@actor, 4, 32) draw_actor_parameter(@actor, 4, 64, 0) draw_actor_parameter(@actor, 4, 96, 1) draw_actor_parameter(@actor, 4, 128, 2) draw_actor_parameter(@actor, 4, 192, 3) draw_actor_parameter(@actor, 4, 224, 4) draw_actor_parameter(@actor, 4, 256, 5) draw_actor_parameter(@actor, 4, 288, 6) if @new_atk != nil self.contents.font.color = system_color self.contents.draw_text(160, 64, 40, 32, "?", 1) self.contents.font.color = @actor.atk < @new_atk system_color : @actor.atk > @new_atk disabled_color : normal_color self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2) end if @new_pdef != nil self.contents.font.color = system_color self.contents.draw_text(160, 96, 40, 32, "?", 1) self.contents.font.color = @actor.pdef < @new_pdef system_color : @actor.pdef > @new_pdef disabled_color : normal_color self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2) end if @new_mdef != nil self.contents.font.color = system_color self.contents.draw_text(160, 128, 40, 32, "?", 1) self.contents.font.color = @actor.mdef < @new_mdef system_color : @actor.mdef > @new_mdef disabled_color : normal_color self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2) end if @new_str != nil self.contents.font.color = system_color self.contents.draw_text(160, 192, 40, 32, "?", 1) self.contents.font.color = @actor.str < @new_str system_color : @actor.str > @new_str disabled_color : normal_color self.contents.draw_text(200, 192, 36, 32, @new_str.to_s, 2) end if @new_dex != nil self.contents.font.color = system_color self.contents.draw_text(160, 224, 40, 32, "?", 1) self.contents.font.color = @actor.dex < @new_dex system_color : @actor.dex > @new_dex disabled_color : normal_color self.contents.draw_text(200, 224, 36, 32, @new_dex.to_s, 2) end if @new_agi != nil self.contents.font.color = system_color self.contents.draw_text(160, 256, 40, 32, "?", 1) self.contents.font.color = @actor.agi < @new_agi system_color : @actor.agi > @new_agi disabled_color : normal_color self.contents.draw_text(200, 256, 36, 32, @new_agi.to_s, 2) end if @new_int != nil self.contents.font.color = system_color self.contents.draw_text(160, 288, 40, 32, "?", 1) self.contents.font.color = @actor.int < @new_int system_color : @actor.int > @new_int disabled_color : normal_color self.contents.draw_text(200, 288, 36, 32, @new_int.to_s, 2) end end def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int) flag = false if new_atk != @new_atk || new_pdef != @new_pdef || new_mdef != @new_mdef flag = true end if new_str != @new_str || new_dex != @new_dex || new_agi != @new_agi flag = true end if new_int != @new_int flag = true end @new_atk = new_atk @new_pdef = new_pdef @new_mdef = new_mdef @new_str = new_str @new_dex = new_dex @new_agi = new_agi @new_int = new_int if flag refresh end end def draw_actor_parameter(actor, x, y, type) case type when 0 parameter_name = $data_system.words.atk parameter_value = actor.atk when 1 parameter_name = $data_system.words.pdef parameter_value = actor.pdef when 2 parameter_name = $data_system.words.mdef parameter_value = actor.mdef when 3 parameter_name = $data_system.words.str parameter_value = actor.str when 4 parameter_name = $data_system.words.dex parameter_value = actor.dex when 5 parameter_name = $data_system.words.agi parameter_value = actor.agi when 6 parameter_name = $data_system.words.int parameter_value = actor.int end self.contents.font.color = system_color self.contents.draw_text(x, y, 112, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2) end end
class Window_EquipItem < Window_Selectable def initialize(actor, equip_type) super(0, 256, 640, 160) @actor = actor @equip_type = equip_type @column_max = 2 refresh self.active = false self.index = -1 end def item return @data[self.index] end def update_actor(actor, equip_type) @actor = actor @equip_type = equip_type refresh end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] if @equip_type == 0 weapon_set = $data_classes[@actor.class_id].weapon_set for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) @data.push($data_weapons[i]) end end end if @equip_type != 0 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) if $data_armors[i].kind == @equip_type-1 @data.push($data_armors[i]) end end end end @data.push(nil) @item_max = @data.size self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize for i in 0...@item_max-1 draw_item(i) end end def draw_item(index) item = @data[index] x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 case item when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.font.color = normal_color self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) self.contents.draw_text(x + 240, y, 16, 32, ":", 1) self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2) end def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
class Window_EquipItem < Window_Selectable alias xrxs_mp1_initialize initialize def initialize(actor, equip_type) xrxs_mp1_initialize(actor, equip_type) self.x = 272 self.width = 368 self.contents = Bitmap.new(width - 32, height - 32) @column_max = 1 refresh end def item return @data[self.index] end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] if @equip_type == 0 weapon_set = $data_classes[@actor.class_id].weapon_set for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) @data.push($data_weapons[i]) end end end if @equip_type != 0 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) if $data_armors[i].kind == @equip_type-1 @data.push($data_armors[i]) end end end end @data.push(nil) @item_max = @data.size self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = "Arial" self.contents.font.size = 24 for i in 0...@item_max-1 draw_item(i) end s = @data.size-1 self.contents.draw_text(4, s*32, 100, 32, "[Remove]") end def draw_item(index) item = @data[index] x = 4 y = index * 32 case item when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.font.color = normal_color self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) self.contents.draw_text(x + 288, y, 16, 32, ":", 1) self.contents.draw_text(x + 304, y, 24, 32, number.to_s, 2) end def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
class Window_Target < Window_Selectable def initialize super(0, 64, 336, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize self.z += 10 @item_max = $game_party.actors.size refresh end def refresh self.contents.clear for i in 0...$game_party.actors.size x = 4 y = i * 84 actor = $game_party.actors[i] draw_actor_name(actor, x, y) draw_actor_state(actor, x + 144, y) draw_actor_hp(actor, x, y + 32) draw_actor_sp(actor, x + 152, y + 32) end end def update_cursor_rect self.cursor_rect.set(0, @index * 84, self.width - 32, 64) end end
class Window_MenuStatus < Window_Selectable def initialize super(0, 0, 128, $game_party.actors.size*32+32) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.active = false self.index = 0 end def refresh self.contents.clear @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 4 y = i * 32 actor = $game_party.actors[i] draw_actor_name(actor, x, y) end end def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 32, self.width - 32, 32) end end end
class Window_Status < Window_Base def initialize(actor) super(0, 64, 480, 416) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @actor = actor refresh end def update_actor(actor) @actor = actor refresh end def refresh self.contents.clear draw_actor_face(@actor,0,32) draw_actor_graphic(@actor, 24, 144) draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 4 + 144, 0) draw_actor_level(@actor, 96, 32) draw_actor_state(@actor, 180, 32) draw_actor_hp(@actor, 96, 112-32, 172) draw_actor_sp(@actor, 96, 144-32, 172) draw_actor_parameter(@actor, 96, 224+16, 3) draw_actor_parameter(@actor, 96, 256+16, 4) draw_actor_parameter(@actor, 96, 288+16, 5) draw_actor_parameter(@actor, 96, 320+16, 6) self.contents.font.color = system_color self.contents.draw_text(96, 160, 80, 32, "EXP") self.contents.draw_text(96, 192, 80, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(96 + 80, 160, 84, 32, @actor.exp_s, 2) self.contents.draw_text(96 + 80, 192, 84, 32, @actor.next_rest_exp_s, 2) self.contents.font.color = system_color self.contents.draw_text(280, 32, 96, 32, "Equipment") draw_item_name($data_weapons[@actor.weapon_id], 280, 64) draw_item_name($data_armors[@actor.armor1_id], 280, 96) draw_item_name($data_armors[@actor.armor2_id], 280, 128) draw_item_name($data_armors[@actor.armor3_id], 280, 160) draw_item_name($data_armors[@actor.armor4_id], 280, 192) draw_actor_parameter(@actor, 280, 256+16, 0) draw_actor_parameter(@actor, 280, 288+16, 1) draw_actor_parameter(@actor, 280, 320+16, 2) end end
class Window_Skill < Window_Selectable def initialize(actor) super(0, 128, 640, 288) @actor = actor @column_max = 2 refresh self.index = 0 if $game_temp.in_battle @column_max = 1 self.x = 308 self.y = 80 self.width = 316 self.height = 196 self.back_opacity = 160 end end def skill return @data[self.index] end def update_actor(actor) @actor = actor refresh end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 0...@actor.skills.size skill = $data_skills[@actor.skills[i]] if skill != nil @data.push(skill) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize for i in 0...@item_max draw_item(i) end end end def draw_item(index) skill = @data[index] if @actor.skill_can_use?(skill.id) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end if $game_temp.in_battle x = 4 y = index * 32 else x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 end rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(skill.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0) self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2) end def update_help @help_window.set_text(self.skill == nil ? "" : self.skill.description) end end
class Window_SkillStatus < Window_Base def initialize(actor) super(0, 64, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @actor = actor refresh end def update_actor(actor) @actor = actor refresh end def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_state(@actor, 140, 0) draw_actor_hp(@actor, 284, 0) draw_actor_sp(@actor, 460, 0) end end
class Window_Help < Window_Base def initialize super(0, 416, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize if $game_temp.in_battle self.y = 0 self.back_opacity = 160 end end def set_text(text, align = 0) if text != @text or align != @align self.contents.clear self.contents.font.color = normal_color self.contents.draw_text(4, 0, self.width - 40, 32, text, align) @text = text @align = align @actor = nil end self.visible = true end def set_actor(actor) if actor != @actor self.contents.clear draw_actor_name(actor, 4, 0) draw_actor_state(actor, 140, 0) draw_actor_hp(actor, 284, 0) draw_actor_sp(actor, 460, 0) @actor = actor @text = nil self.visible = true end end def set_enemy(enemy) text = enemy.name state_text = make_battler_state_text(enemy, 112, false) if state_text != "" text += " " + state_text end set_text(text, 1) end end
class Window_EquipRight < Window_Selectable def initialize(actor) super(272, 64, 368, 192) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize @actor = actor refresh self.index = 0 end def item return @data[self.index] end def update_actor(actor) @actor = actor refresh end def refresh self.contents.clear @data = [] @data.push($data_weapons[@actor.weapon_id]) @data.push($data_armors[@actor.armor1_id]) @data.push($data_armors[@actor.armor2_id]) @data.push($data_armors[@actor.armor3_id]) @data.push($data_armors[@actor.armor4_id]) @item_max = @data.size self.contents.font.color = system_color self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon) self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1) self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2) self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3) self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4) draw_item_name(@data[0], 92, 32 * 0) draw_item_name(@data[1], 92, 32 * 1) draw_item_name(@data[2], 92, 32 * 2) draw_item_name(@data[3], 92, 32 * 3) draw_item_name(@data[4], 92, 32 * 4) end def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end
class Menu_Selectable < Window_Base attr_reader :index attr_reader :help_window def initialize(x, y, width, height) super(x, y, width, height) @item_max = 1 @column_max = 1 @index = -1 end def index=(index) @index = index if @help_window != nil update_help end update_cursor_rect end def row_max return (@item_max + @column_max - 1) / @column_max end def top_row return self.oy / 32 end def top_row=(row) if row < 0 row = 0 end if row > row_max - 1 row = row_max - 1 end self.oy = row * 32 end def page_row_max return (self.height - 32) / 32 end def page_item_max return page_row_max * @column_max end def help_window=(help_window) @help_window = help_window if @help_window != nil update_help end end 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 cursor_width = self.width / @column_max - 32 x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * 128 self.cursor_rect.set(y, x, 100, 32) end def update super if self.active and @item_max > 0 and @index >= 0 if Input.repeat?(Input::RIGHT) if (@column_max == 1 and Input.trigger?(Input::LEFT)) or @index < @item_max - @column_max $game_system.se_play($data_system.cursor_se) @index = (@index + @column_max) % @item_max end end if Input.repeat?(Input::LEFT) if (@column_max == 1 and Input.trigger?(Input::UP)) or @index >= @column_max $game_system.se_play($data_system.cursor_se) @index = (@index - @column_max + @item_max) % @item_max end end if Input.repeat?(Input::RIGHT) if @column_max >= 2 and @index < @item_max - 1 $game_system.se_play($data_system.cursor_se) @index += 1 end end if Input.repeat?(Input::LEFT) if @column_max >= 2 and @index > 0 $game_system.se_play($data_system.cursor_se) @index -= 1 end end if Input.repeat?(Input::R) if self.top_row + (self.page_row_max - 1) < (self.row_max - 1) $game_system.se_play($data_system.cursor_se) @index = [@index + self.page_item_max, @item_max - 1].min self.top_row += self.page_row_max end end if Input.repeat?(Input::L) if self.top_row > 0 $game_system.se_play($data_system.cursor_se) @index = [@index - self.page_item_max, 0].max self.top_row -= self.page_row_max end end end if @help_window != nil update_help end update_cursor_rect end end
class Window_MenuCommand < Window_Selectable def initialize(width, commands) super(0, 0, width, commands.size * 32 + 32) @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.index = 0 end def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end def draw_item(index, color) self.contents.font.color = color rect = Rect.new(4, 32 * index, self.contents.width - 8, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index],1) end def disable_item(index) draw_item(index, disabled_color) end end
class Menu_Command < Menu_Selectable def initialize(width, commands) super(0, 0, 700, 500) @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) self.contents.font.name = "Arial" self.contents.font.size = 24 self.back_opacity = 0 refresh self.index = 0 end def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end def draw_item(index, color) self.contents.font.color = color rect = Rect.new(-16+128*index, 5, 128, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index],1) end def disable_item(index) draw_item(index, disabled_color) end end
# D&N Script - If you are using the script, uncomment all of this. # class Window_Time < Window_Base # def initialize #super(0, 0, 160, 64) #self.contents = Bitmap.new(width - 32, height - 32) #self.contents.font.name = "Arial" # "Time" window font #self.contents.font.size = 24 #refresh #end #def refresh #self.contents.clear #@total_sec = Graphics.frame_count / Graphics.frame_rate #@minute=$game_time.get_minute.floor #hour = $game_time.get_hour #pm_flag= hour >=12 ? true : false #hour= hour >= 12 ? hour-12 : hour #day=$game_time.get_day #month=$game_time.get_month #year=$game_time.get_year #if hour.floor==0 #text=sprintf("%02d:%02d",12,@minute) #else #text=sprintf("%02d:%02d",hour,@minute) #end #if pm_flag # text += " PM" #else #text += " AM" #end #self.contents.font.color = normal_color #self.contents.draw_text(4, 0, 120, 32, text, 2) #end #def update #if $game_time.get_minute.floor != @minute #refresh #end #end #end
class Scene_Menu def initialize(menu_index = 0, actor_index = 0, equip_index = 0) @menu_index = menu_index @actor_index = actor_index @equip_index = equip_index end def main @sprite = Spriteset_Map.new s1 = $data_system.words.item s2 = $data_system.words.equip s3 = $data_system.words.skill s4 = "Status" s5 = "Game" @dummy_window = Window_Base.new(0, 0, 640, 64) @command_window = Menu_Command.new(640, [s1, s2, s3, s4, s5]) @command_window.index = @menu_index @command_window.width = 700 @command_window.height = 500 @command_window.y = -5 @command_window.x = -5 @command_window.opacity = 0 @command_window.z += 10 @dummy_window.z += 10 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) end @playtime_window = Window_PlayTime.new @playtime_window.x = 640-@playtime_window.width @playtime_window.y = 64 @playtime_window.visible = false @playtime_window.active = false @mapname_window = Window_MapName.new @mapname_window.x = 640-@mapname_window.width @mapname_window.y = @playtime_window.y+@playtime_window.height @mapname_window.visible = false @mapname_window.active = false @steps_window = Window_Steps.new @steps_window.x = 640-@steps_window.width @steps_window.y = @playtime_window.y+@playtime_window.height + 96 @steps_window.visible = false @steps_window.active = false @gold_window = Window_Gold.new @gold_window.x = 640-@gold_window.width @gold_window.y = @steps_window.y+@steps_window.height @gold_window.visible = false @gold_window.active = false # D&N script #This is for use with Deke/NearFantasticas day night system, uncomment it if #you have this script. #@time_window = Window_Time.new #@time_window.x = 640-@time_window.width #@time_window.y = @gold_window.y+@gold_window.height #@time_window.visible = false #@time_window.active = false @help_window = Window_Help.new @help_window.x = 0 @help_window.y = 416 @item_window = Window_Item.new(1, 17) @item_window.help_window = @help_window @item_window.visible = false @item_window.active = false @drop1 = Window_MenuCommand.new(128,["Basic", "Weapons", "Armor", "Quest"]) @drop1.x = 0 @drop1.y = 64 @drop1.visible = false @drop1.active = false @drop2 = Window_MenuStatus.new @drop2.x = 128 @drop2.y = 64 @drop2.visible = false @drop2.active = false @drop3 = Window_MenuCommand.new(128,["Save","Quit"]) @drop3.x = 640-128 @drop3.y = 64 @drop3.visible = false @drop3.active = false @target_window = Window_Target.new @target_window.visible = false @target_window.active = false @actor = $game_party.actors[@actor_index] @equiphelp_window = Window_Help.new @left_window = Window_EquipLeft.new(@actor) @left_window.visible = false @left_window.active = false @right_window = Window_EquipRight.new(@actor) @right_window.help_window = @equiphelp_window @right_window.visible = false @right_window.active = false @item_window1 = Window_EquipItem.new(@actor, 0) @item_window1.help_window = @equiphelp_window @item_window1.visible = false @item_window1.active = false @item_window2 = Window_EquipItem.new(@actor, 1) @item_window2.help_window = @equiphelp_window @item_window2.visible = false @item_window2.active = false @item_window3 = Window_EquipItem.new(@actor, 2) @item_window3.help_window = @equiphelp_window @item_window3.visible = false @item_window3.active = false @item_window4 = Window_EquipItem.new(@actor, 3) @item_window4.help_window = @equiphelp_window @item_window4.visible = false @item_window4.active = false @item_window5 = Window_EquipItem.new(@actor, 4) @item_window5.help_window = @equiphelp_window @item_window5.visible = false @item_window5.active = false @equiphelp_window.active = false @equiphelp_window.visible = false @right_window.index = @equip_index @skillstatus_window = Window_SkillStatus.new(@actor) @skillstatus_window.visible = false @skillstatus_window.active = false @skill_window = Window_Skill.new(@actor) @skill_window.help_window = @help_window @skill_window.visible = false @skill_window.active = false @help_window.visible = false @help_window.active = false @skilltarget_window = Window_Target.new @skilltarget_window.visible = false @skilltarget_window.active = false @playerstatus_window = Window_Status.new(@actor) @playerstatus_window.visible = false @playerstatus_window.active = false Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @help_window.dispose @item_window.dispose @target_window.dispose @drop1.dispose @drop2.dispose @drop3.dispose @dummy_window.dispose @command_window.dispose @playtime_window.dispose @steps_window.dispose @mapname_window.dispose @gold_window.dispose #You will also have to take out this comment for the D&N script #@time_window.dispose @equiphelp_window.dispose @left_window.dispose @right_window.dispose @item_window1.dispose @item_window2.dispose @item_window3.dispose @item_window4.dispose @item_window5.dispose @skillstatus_window.dispose @skill_window.dispose @skilltarget_window.dispose @playerstatus_window.dispose end def equip_refresh @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) item1 = @right_window.item case @right_window.index when 0 @eitem_window = @item_window1 newmode = 0 when 1 @eitem_window = @item_window2 newmode = 1 when 2 @eitem_window = @item_window3 newmode = 1 when 3 @eitem_window = @item_window4 newmode = 1 when 4 @eitem_window = @item_window5 newmode = 1 end if newmode != @left_window.mode @left_window.mode = newmode @left_window.refresh end if @right_window.active @left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil) end if @eitem_window.active item2 = @eitem_window.item last_hp = @actor.hp old_atk = @actor.atk old_pdef = @actor.pdef old_mdef = @actor.mdef old_str = @actor.str old_dex = @actor.dex old_agi = @actor.agi old_int = @actor.int old_eva = @actor.eva @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id) new_atk = @actor.atk new_pdef = @actor.pdef new_mdef = @actor.mdef new_str = @actor.str new_dex = @actor.dex new_agi = @actor.agi new_int = @actor.int new_eva = @actor.eva @left_window.changes = [0, 0, 0, 0, 0, 0, 0, 0] if new_atk > old_atk @left_window.changes[0] = 1 end if new_atk < old_atk @left_window.changes[0] = -1 end if new_pdef > old_pdef @left_window.changes[1] = 1 end if new_pdef < old_pdef @left_window.changes[1] = -1 end if new_mdef > old_mdef @left_window.changes[2] = 1 end if new_mdef < old_mdef @left_window.changes[2] = -1 end if new_str > old_str @left_window.changes[3] = 1 end if new_str < old_str @left_window.changes[3] = -1 end if new_dex > old_dex @left_window.changes[4] = 1 end if new_dex < old_dex @left_window.changes[4] = -1 end if new_agi > old_agi @left_window.changes[5] = 1 end if new_agi < old_agi @left_window.changes[5] = -1 end if new_int > old_int @left_window.changes[6] = 1 end if new_int < old_int @left_window.changes[6] = -1 end
@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id) @actor.hp = last_hp @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex, new_agi, new_int) end end def update @help_window.update @item_window.update @target_window.update @dummy_window.update @mapname_window.update @drop1.update @drop2.update @drop3.update @command_window.update @playtime_window.update @steps_window.update @gold_window.update #You'll also have to take out this comment for the D&N script #@time_window.update @left_window.update @right_window.update @equiphelp_window.update @skillstatus_window.update @skill_window.update @skilltarget_window.update @playerstatus_window.update if @playerstatus_window.active update_playerstatus return end if @skill_window.active update_skill return end if @skilltarget_window.active update_skilltarget return end if @eitem_window != nil if @eitem_window.visible equip_refresh @eitem_window.update end end if @right_window.active update_right return end if @eitem_window != nil if @eitem_window.active update_eitem return end end if @command_window.active update_command return end if @drop1.active update_drop1 return end if @drop2.active update_drop2 return end if @drop3.active update_drop3 return end if @item_window.active update_item return end if @target_window.active update_target return end end def update_playerstatus if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @playerstatus_window.active = false @playerstatus_window.visible = false @playtime_window.visible = false @gold_window.visible = false @steps_window.visible = false @mapname_window.visible = false # D&N Script - Uncomment this line: #@time_window.visible = false @command_window.active = true return end end + MORE IN NEXT POST
__________________________
|
|
|
|
|
|
|
2 Pages
1 2 >
|
 |
Replies
(1 - 19)
|
|
Oct 15 2005, 03:11 AM
|

Level 3

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful

|
CODE def update_skill if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @skill_window.active = false @skill_window.visible = false @skillstatus_window.visible = false @help_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) @skill = @skill_window.skill if @skill == nil or not @actor.skill_can_use?(@skill.id) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) if @skill.scope >= 3 @skill_window.active = false @skilltarget_window.x = (@skill_window.index + 1) % 2 * 304 @skilltarget_window.visible = true @skilltarget_window.active = true if @skill.scope == 4 || @skill.scope == 6 @skilltarget_window.index = -1 elsif @skill.scope == 7 @skilltarget_window.index = @actor_index - 10 else @skilltarget_window.index = 0 end else if @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.new return end end return end end def update_skilltarget if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @skill_window.active = true @skilltarget_window.visible = false @skilltarget_window.active = false return end if Input.trigger?(Input::C) unless @actor.skill_can_use?(@skill.id) $game_system.se_play($data_system.buzzer_se) return end if @skilltarget_window.index == -1 used = false for i in $game_party.actors used |= i.skill_effect(@actor, @skill) end end if @skilltarget_window.index <= -2 target = $game_party.actors[@skilltarget_window.index + 10] used = target.skill_effect(@actor, @skill) end if @skilltarget_window.index >= 0 target = $game_party.actors[@skilltarget_window.index] used = target.skill_effect(@actor, @skill) end if used $game_system.se_play(@skill.menu_se) @actor.sp -= @skill.sp_cost @skillstatus_window.refresh @skill_window.refresh @skilltarget_window.refresh if $game_party.all_dead? $scene = Scene_Gameover.new return end if @skill.common_event_id > 0 $game_temp.common_event_id = @skill.common_event_id $scene = Scene_Map.new return end end unless used $game_system.se_play($data_system.buzzer_se) end return end end def update_right if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @right_window.visible = false @right_window.active = false @left_window.visible = false @equiphelp_window.visible = false @item_window1.visible = false @item_window2.visible = false @item_window3.visible = false @item_window4.visible = false @item_window5.visible = false @eitem_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) if @actor.equip_fix?(@right_window.index) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) @right_window.active = false @eitem_window.active = true @eitem_window.index = 0 return end end def update_eitem if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @right_window.active = true @eitem_window.active = false @eitem_window.index = -1 return end if Input.trigger?(Input::C) $game_system.se_play($data_system.equip_se) item = @eitem_window.item @actor.equip(@right_window.index, item == nil ? 0 : item.id) @right_window.active = true @eitem_window.active = false @eitem_window.index = -1 @right_window.refresh @eitem_window.refresh return end end 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 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop1.visible = true @drop1.active = true return when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 128 @drop2.visible = true @drop2.active = true return when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 256 @drop2.visible = true @drop2.active = true return when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 384 @drop2.visible = true @drop2.active = true return when 4 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop3.visible = true @drop3.active = true return end return end end def update_drop1 if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @drop1.visible = false @drop1.active = false @drop1.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) case @drop1.index when 0 @item_window.setids(1,17) when 1 @item_window.setids(2, 18) when 2 @item_window.setids(3, 19) when 3 @item_window.setids(1, 20) end @drop1.visible = false @drop1.active = false @drop1.index = 0 @item_window.visible = true @item_window.active = true @help_window.visible = true return end end def update_drop2 if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @drop2.visible = false @drop2.active = false @drop2.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) case @command_window.index when 1 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @right_window.update_actor(@actor) @left_window.update_actor(@actor) @item_window1.update_actor(@actor, 0) @item_window2.update_actor(@actor, 1) @item_window3.update_actor(@actor, 2) @item_window4.update_actor(@actor, 3) @item_window5.update_actor(@actor, 4) @right_window.index = 0 @drop2.visible = false @drop2.active = false @drop2.index = 0 @right_window.visible = true @right_window.active = true @left_window.visible = true @equiphelp_window.visible = true @item_window1.visible = true @item_window2.visible = true @item_window3.visible = true @item_window4.visible = true @item_window5.visible = true equip_refresh return when 2 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @skill_window.update_actor(@actor) @drop2.visible = false @drop2.active = false @drop2.index = 0 @skill_window.visible = true @skill_window.active = true @skillstatus_window.visible = true @skillstatus_window.update_actor(@actor) @help_window.visible = true return when 3 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @playerstatus_window.update_actor(@actor) @drop2.visible = false @drop2.active = false @drop2.index = 0 @playerstatus_window.visible = true @playerstatus_window.active = true @playtime_window.visible = true @gold_window.visible = true @mapname_window.visible = true @steps_window.visible = true # D&N Script - Uncomment this line. @time_window.visible = true return end end end def update_drop3 if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @drop3.visible = false @drop3.active = false @drop3.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) case @drop3.index when 0 $scene = Scene_Save.new when 1 $scene = Scene_End.new end end end def update_item if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @item_window.active = false @item_window.visible = false @help_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) @item = @item_window.item unless @item.is_a?(RPG::Item) $game_system.se_play($data_system.buzzer_se) return end unless $game_party.item_can_use?(@item.id) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) if @item.scope >= 3 @target_window.x = (@item_window.index + 1) % 2 * 304 @target_window.visible = true @target_window.active = true @item_window.active = false if @item.scope == 4 || @item.scope == 6 @target_window.index = -1 else @target_window.index = 0 end else if @item.common_event_id > 0 $game_temp.common_event_id = @item.common_event_i $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.new return end end return end end def update_target if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) unless $game_party.item_can_use?(@item.id) @item_window.refresh end @item_window.active = true @target_window.visible = false @target_window.active = false return end if Input.trigger?(Input::C) if $game_party.item_number(@item.id) == 0 $game_system.se_play($data_system.buzzer_se) return end if @target_window.index == -1 used = false for i in $game_party.actors used |= i.item_effect(@item) end end if @target_window.index >= 0 target = $game_party.actors[@target_window.index] used = target.item_effect(@item) end if 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.refresh if $game_party.all_dead? $scene = Scene_Gameover.new return end if @item.common_event_id > 0 $game_temp.common_event_id = @item.common_event_id $scene = Scene_Map.new return end end unless used $game_system.se_play($data_system.buzzer_se) end return end end end
__________________________
|
|
|
|
|
|
|
|
|
Oct 20 2005, 02:55 PM
|

Level 8

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled

|
So my problems right now are: I get erros when I try to Equip things (argument errors). When I first hit ESC(menu key) it looks like this: http://www.galaxiestarr.com/nicksthing1.JPGWhen I hit a section (Tech, Status..) it looks like: http://www.galaxiestarr.com/nicksthing2.JPGAlso, the menu is not transparent right now, and I did follow the instructions before the main bulk. ~Snow
__________________________
 Game: Eternal Fantasy 
|
|
|
|
|
|
|
|
|
Oct 20 2005, 02:58 PM
|

lolwut?

Group: Revolutionary
Posts: 924
Type: Event Designer
RM Skill: Undisclosed

|
hmmmmm......Stay on line for some time right now. I'll check this out... Here's the code again. Try it>if it doesn't work I'll have to find out how to contact Prexus! CODE def update_skill if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @skill_window.active = false @skill_window.visible = false @skillstatus_window.visible = false @help_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) @skill = @skill_window.skill if @skill == nil or not @actor.skill_can_use?(@skill.id) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) if @skill.scope >= 3 @skill_window.active = false @skilltarget_window.x = (@skill_window.index + 1) % 2 * 304 @skilltarget_window.visible = true @skilltarget_window.active = true if @skill.scope == 4 || @skill.scope == 6 @skilltarget_window.index = -1 elsif @skill.scope == 7 @skilltarget_window.index = @actor_index - 10 else @skilltarget_window.index = 0 end else if @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.new return end end return end end def update_skilltarget if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @skill_window.active = true @skilltarget_window.visible = false @skilltarget_window.active = false return end if Input.trigger?(Input::C) unless @actor.skill_can_use?(@skill.id) $game_system.se_play($data_system.buzzer_se) return end if @skilltarget_window.index == -1 used = false for i in $game_party.actors used |= i.skill_effect(@actor, @skill) end end if @skilltarget_window.index <= -2 target = $game_party.actors[@skilltarget_window.index + 10] used = target.skill_effect(@actor, @skill) end if @skilltarget_window.index >= 0 target = $game_party.actors[@skilltarget_window.index] used = target.skill_effect(@actor, @skill) end if used $game_system.se_play(@skill.menu_se) @actor.sp -= @skill.sp_cost @skillstatus_window.refresh @skill_window.refresh @skilltarget_window.refresh if $game_party.all_dead? $scene = Scene_Gameover.new return end if @skill.common_event_id > 0 $game_temp.common_event_id = @skill.common_event_id $scene = Scene_Map.new return end end unless used $game_system.se_play($data_system.buzzer_se) end return end end def update_right if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @right_window.visible = false @right_window.active = false @left_window.visible = false @equiphelp_window.visible = false @item_window1.visible = false @item_window2.visible = false @item_window3.visible = false @item_window4.visible = false @item_window5.visible = false @eitem_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) if @actor.equip_fix?(@right_window.index) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) @right_window.active = false @eitem_window.active = true @eitem_window.index = 0 return end end def update_eitem if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @right_window.active = true @eitem_window.active = false @eitem_window.index = -1 return end if Input.trigger?(Input::C) $game_system.se_play($data_system.equip_se) item = @eitem_window.item @actor.equip(@right_window.index, item == nil ? 0 : item.id) @right_window.active = true @eitem_window.active = false @eitem_window.index = -1 @right_window.refresh @eitem_window.refresh return end end def update_command if Input.trigger?(Input::  $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 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop1.visible = true @drop1.active = true return when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 128 @drop2.visible = true @drop2.active = true return when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 256 @drop2.visible = true @drop2.active = true return when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop2.x = 384 @drop2.visible = true @drop2.active = true return when 4 $game_system.se_play($data_system.decision_se) @command_window.active = false @drop3.visible = true @drop3.active = true return end return end end def update_drop1 if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @drop1.visible = false @drop1.active = false @drop1.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) case @drop1.index when 0 @item_window.setids(1,17) when 1 @item_window.setids(2, 18) when 2 @item_window.setids(3, 19) when 3 @item_window.setids(1, 20) end @drop1.visible = false @drop1.active = false @drop1.index = 0 @item_window.visible = true @item_window.active = true @help_window.visible = true return end end def update_drop2 if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @drop2.visible = false @drop2.active = false @drop2.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) case @command_window.index when 1 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @right_window.update_actor(@actor) @left_window.update_actor(@actor) @item_window1.update_actor(@actor, 0) @item_window2.update_actor(@actor, 1) @item_window3.update_actor(@actor, 2) @item_window4.update_actor(@actor, 3) @item_window5.update_actor(@actor, 4) @right_window.index = 0 @drop2.visible = false @drop2.active = false @drop2.index = 0 @right_window.visible = true @right_window.active = true @left_window.visible = true @equiphelp_window.visible = true @item_window1.visible = true @item_window2.visible = true @item_window3.visible = true @item_window4.visible = true @item_window5.visible = true equip_refresh return when 2 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @skill_window.update_actor(@actor) @drop2.visible = false @drop2.active = false @drop2.index = 0 @skill_window.visible = true @skill_window.active = true @skillstatus_window.visible = true @skillstatus_window.update_actor(@actor) @help_window.visible = true return when 3 $game_system.se_play($data_system.decision_se) @actor = $game_party.actors[@drop2.index] @playerstatus_window.update_actor(@actor) @drop2.visible = false @drop2.active = false @drop2.index = 0 @playerstatus_window.visible = true @playerstatus_window.active = true @playtime_window.visible = true @gold_window.visible = true @mapname_window.visible = true @steps_window.visible = true # D&N Script - Uncomment this line. @time_window.visible = true return end end end def update_drop3 if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @drop3.visible = false @drop3.active = false @drop3.index = 0 @command_window.active = true return end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) case @drop3.index when 0 $scene = Scene_Save.new when 1 $scene = Scene_End.new end end end def update_item if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) @item_window.active = false @item_window.visible = false @help_window.visible = false @command_window.active = true return end if Input.trigger?(Input::C) @item = @item_window.item unless @item.is_a?(RPG::Item) $game_system.se_play($data_system.buzzer_se) return end unless $game_party.item_can_use?(@item.id) $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) if @item.scope >= 3 @target_window.x = (@item_window.index + 1) % 2 * 304 @target_window.visible = true @target_window.active = true @item_window.active = false if @item.scope == 4 || @item.scope == 6 @target_window.index = -1 else @target_window.index = 0 end else if @item.common_event_id > 0 $game_temp.common_event_id = @item.common_event_i $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.new return end end return end end def update_target if Input.trigger?(Input::  $game_system.se_play($data_system.cancel_se) unless $game_party.item_can_use?(@item.id) @item_window.refresh end @item_window.active = true @target_window.visible = false @target_window.active = false return end if Input.trigger?(Input::C) if $game_party.item_number(@item.id) == 0 $game_system.se_play($data_system.buzzer_se) return end if @target_window.index == -1 used = false for i in $game_party.actors used |= i.item_effect(@item) end end if @target_window.index >= 0 target = $game_party.actors[@target_window.index] used = target.item_effect(@item) end if 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.refresh if $game_party.all_dead? $scene = Scene_Gameover.new return end if @item.common_event_id > 0 $game_temp.common_event_id = @item.common_event_id $scene = Scene_Map.new return end end unless used $game_system.se_play($data_system.buzzer_se) end return end end end  [/quote] Make sure not to copy anything outside the box!
This post has been edited by Rpgx: Oct 20 2005, 03:03 PM
__________________________
  I don't have a lot of userbars....
|
|
|
|
|
|
|
|
|
Oct 20 2005, 10:40 PM
|

Level 3

Group: Member
Posts: 31
Type: Event Designer
RM Skill: Masterful

|
Uh.. lol. Did you make sure to paste th contents of the second post here in the same script underneath the contents of the first post? These are the last few lines of code from the first post: CODE # D&N Script - Uncomment this line: #@time_window.visible = false @command_window.active = true return end end CODE def update_skill if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) These are the firs tlines of the second post. Make sure that the second part goes after the first. Also, you may be having trouble with smilies replacing things like B) in the line ...(Input::B), i'm disabling smilies in the first post so you can repaste it.
__________________________
|
|
|
|
|
|
|
|
|
Oct 21 2005, 02:11 PM
|

Level 8

Group: Revolutionary
Posts: 115
Type: Artist
RM Skill: Skilled

|
It works almost perfectly now, a couple things: It's still not transparent. If I try to open the menu more than once, I get a "RMXP yadda yadda must close down" and it closes. Also, if I teleport a map or two I get that close message too..... ><; Any clue what this is? ~Snow *EDIT Here's a pic of the error:  As for the transparent thing, I'm guessing it's because I forgot to uncomment the Step 1 Intructions. So I uncommented it and now I'm getting a script error and it wont let me go into test play. ~Snow **EDIT Also, how can I disable the save? I'm using save points, I disabled save on the old menu, but now with this new one it's enabled again. Error is still happening at random >< New Game or Continued, still happens. When trying to open a Map Key Item, I get a script error. (The Key Item opens a picture) ~Snow
This post has been edited by snowstriker: Oct 21 2005, 03:20 PM
__________________________
 Game: Eternal Fantasy 
|
|
|
|
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
RPG RPG Revolution is an Privacy
Policy and Legal
|
|