zahraa 26 Report post Posted July 26, 2012 (edited) how can i make my game full screen?cause RMXP's standard screen is too small Edited July 29, 2012 by zahraa Share this post Link to post Share on other sites
0 Heretic86 25 Report post Posted July 27, 2012 class Scene_FullPrompt $data_system = load_data("Data/System.rxdata") $game_system = Game_System.new # Prevents F12 Reset from switching Fullscreen again if $Scene_FullPrompt_has_run != true showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), '' showm.call(18,0,0,0) showm.call(13,0,0,0) showm.call(13,0,2,0) showm.call(18,0,2,0) $Scene_FullPrompt_has_run = true end $scene = nil end This will cause the game to start in Full Screen, and stay that way, even if F12 is pressed (reset), but still allows users to hit Alt+Enter to flip back and forth between Full Screen and Windowed. Share this post Link to post Share on other sites
0 zahraa 26 Report post Posted July 27, 2012 (edited) excellent work,but i think i have scripts that don't let this script work.i will be thank you if you solve my problem.here are the scripts: #=================================== # Leon's Mission Script v2.0 #---------------------------------------------------------------------- # 2006-09-22 #=================================== =begin Description: I did a drastic overhaul on this Mission/Quest script to make it much better and user friendly. Features: There is 2 new features: 1. If the user doesn't know of the mission, it doesn't appear in the list, nor does a slot for it. 2. Completed missions are in green. 3. Number of missions. (X/Y) X is completed missions, Y can be either known missions, or your game's total missions. Set Mission_Setup to 'true' if you want known missions, false for total. Instructions: Put it above main. The instructions have changed alot more than the features. Just go through the short list below, and you'll know. Just remember, go in order, and if you have 10 different missions in 1 spot, you must have the same number in each other segment of the module, with the exception of the lines of text. (Yes, i made that one all the easier.) Changing the status of the missions is different than before as well. $game_party.mission[mission_id] = x Mission ID: The ID of the mission, as defined in the module. In this example, "Lost Cat" would be 0 X: 1 = they do not know the mission exists. This is optional, unless they forget a mission. 2 = they know the mission, but it is incomplete 3 = the mission is complete. BY DEFAULT, ALL MISSIONS ARE UNKNOWN unless specified in the script before the game begins. Do NOT post my work in any other forums without my permission, and NEVER take credit for my work. =end #================================== # ** Mission_Menu #================================== module Mission_Menu #-------------------------------------------------------------------- # * Mission Name- Write the mission number, and the name you want to appear. # ~ mission_id => "mission name" #-------------------------------------------------------------------- Mission_Name = { 0 => "Lost Cat", 1 => "Old Blade", 2 => "Seize Sentries", 3 => "Hidden Heirloom", 4 => "A Gooey Mess.", 5 => "Hidden Horror" } #-------------------------------------------------------------------- # * Mission_Sprite. holds data on the name of the sprite, it's hue, name, locale, and # * reward all in one. # ~ mission_id => ["sprite name", hue, name, location, Reward] #-------------------------------------------------------------------- Mission_Sprite = { 0 => ["113-Civilian13", 330, "Amy", "Logres", "Potion x 3"], 1 => ["005-Fighter05", 0, "L'eric", "Logres", "Rusty Sword"], 2 => ["002-Fighter02", 0, "Wallace", "Resistance H.Q.", "500 Gold"], 3 => ["122-Civilian22", 30, "Old Woman", "Cyris Home", "Sound Effect"], 4 => ["011-Lancer03", 0, "Soldier", "Cyris Barracks", "Kite Shield"], 5 => ["006-Fighter06", 0, "Lady", "Cyris", "Lion's Head Earring"] } #-------------------------------------------------------------------- # * Defines the mission. Remember, if it is too long for 1 line, you can drop it # * down to line 2. # ~ mission_id => "Line One" #-------------------------------------------------------------------- Mission_L1 = { 0 => "Amy has lost her cat and needs help", 1 => "Somebody said they saw L'eric's blade", 2 => "Head north toward enemy territory, and", 3 => "Seek out the caverns south of Cyris. There", 4 => "A monster to the west of the town every", 5 => "Somewhere in the Belin Caverns, there is a" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Two" #-------------------------------------------------------------------- Mission_L2 = { 0 => "finding him. He likes to play in the", 1 => "just south of here by the river. He ", 2 => "capture two sentry towers. Be careful ", 3 => "you will find a blue chest. Retrieve its", 4 => "now and then terrorizes the caravans.", 5 => "creature holding an item the lady in" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Three" #-------------------------------------------------------------------- Mission_L3 = { 0 => " North East side of Tiberian Plains.", 1 => "wants Will to confirm the story, and", 2 => "and don't get caught. Return to Wallace", 3 => "contents and bring it back to the old", 4 => "A soldier in the barracks has asked you", 5 => "Cyris is looking for. She said the monster" } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Four" #-------------------------------------------------------------------- Mission_L4 = { 1 => "if it is true, bring back the sword.", 2 => "once this job is complete.", 3 => "woman.", 4 => "to exterminate it.", 5 => "would be hiding." } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Five" #-------------------------------------------------------------------- Mission_L5 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Six" #-------------------------------------------------------------------- Mission_L6 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Seven" #-------------------------------------------------------------------- Mission_L7 = { } #-------------------------------------------------------------------- # * Same as the above one. # ~ mission_id => "Line Eight" #-------------------------------------------------------------------- Mission_L8 = { } #-------------------------------------------------------------------- # * Mission Set-up #-------------------------------------------------------------------- Mission_Setup = true end #---------------------------------------------------------------------- # * Game_Party #---------------------------------------------------------------------- class Game_Party #-------------------------------------------------------------------- # * Attributes #-------------------------------------------------------------------- attr_accessor :mission #-------------------------------------------------------------------- # * Alias Listings #-------------------------------------------------------------------- alias leon_gp_mission_initialize initialize #-------------------------------------------------------------------- # * Object initialization #-------------------------------------------------------------------- # Leon_Edit add an array for each mission in @mission. # [mission_id, 1] #-------------------------------------------------------------------- def initialize leon_gp_mission_initialize @mission = { 0 => 1, 1 => 2, 2 => 3, 3 => 2 } end end #-------------------------------------------------------------------- # * Ends Game_Party #-------------------------------------------------------------------- #---------------------------------------------------------------------- # * Window_Missionhelp #---------------------------------------------------------------------- class Window_Missionhelp < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(0, 0, 400, 60) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------- # * Update #-------------------------------------------------------------------- def update(help_text) self.contents.clear self.contents.draw_text(0, 0, 440, 32, help_text) end end #---------------------------------------------------------------------- # * End Window_Missionhelp #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_MissionNum #---------------------------------------------------------------------- class Window_MissionNum < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(400, 0, 240, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh self.contents.clear mis = Mission_Menu self.contents.font.color = system_color self.contents.draw_text(0, 0, 120, 32, "Missions:") self.contents.font.color = normal_color @mission_comp = [] @mission_know = [] #Calls Mission number of completed missions for i in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys] == 3 @mission_comp.push(i) end end #Calls Mission number of missions for j in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys[j]] > 1 @mission_know.push(j) end end #if Mission_Setup is false... if mis::Mission_Setup == false if @mission_comp.size == $game_party.mission.size self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + $game_party.mission.size.to_s, 2) self.contents.font.color = normal_color else self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + $game_party.mission.size.to_s, 2) end #if Mission_Setup is true... elsif mis::Mission_Setup == true if @mission_comp.size == @mission_know.size self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + @mission_know.size.to_s, 2) self.contents.font.color = normal_color else self.contents.draw_text(0, 0, 208, 32, @mission_comp.size.to_s + "/" + @mission_know.size.to_s, 2) end end end end #---------------------------------------------------------------------- # * End Window_Missionnum #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missionlist #---------------------------------------------------------------------- class Window_Missionlist < Window_Selectable #-------------------------------------------------------------------- # * Attribute listings #-------------------------------------------------------------------- attr_accessor :mission #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize super(0, 60, 260, 420) self.contents = Bitmap.new(width - 32, height - 32) self.index = 0 refresh end #-------------------------------------------------------------------- # * Mission #-------------------------------------------------------------------- def mission return @data[self.index] end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end mis = Mission_Menu @data = [] for i in 0...$game_party.mission.keys.size if $game_party.mission[$game_party.mission.keys] > 1 @data.push($game_party.mission.keys) end end @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------- # * Draw_Item #-------------------------------------------------------------------- def draw_item(index) mis = Mission_Menu mission_name = @data[index] x = 4 y = index * 32 rect = Rect.new(x, y, self.width - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) if $game_party.mission[mission_name] == 3 self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name]) else self.contents.font.color = normal_color self.contents.draw_text(x, y, 228, 32, mis::Mission_Name[mission_name]) end end end #---------------------------------------------------------------------- # * End Window_Missionlist #---------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missioncomp #---------------------------------------------------------------------- class Window_Missioncomp < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(mission) super(260, 365, 380, 115) self.contents = Bitmap.new(width - 32, height - 32) refresh(mission) end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh(mission) self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, 52, 440, 32, "Status:") self.contents.draw_text(170, 52, 440, 32, "Reward:") self.contents.font.color = normal_color #person place status reward mis = Mission_Menu if mis::Mission_Sprite.has_key?(mission) if $game_party.mission[mission] > 1 self.contents.draw_text(36, 6, 440, 32, mis::Mission_Sprite[mission][2] + ", " + mis::Mission_Sprite[mission][3]) case $game_party.mission[mission] when 1 self.contents.draw_text(62, 52, 400, 32, "") when 2 self.contents.draw_text(62, 52, 400, 32, "Incomplete") self.contents.draw_text(242, 52, 138, 32, "Unknown") when 3 self.contents.font.color = Color.new(40, 250, 40, 255) self.contents.draw_text(62, 52, 400, 32, "Complete") self.contents.draw_text(242, 52, 138, 32, mis::Mission_Sprite[mission][4]) end bitmap = RPG::Cache.character(mis::Mission_Sprite[mission][0], mis::Mission_Sprite[mission][1]) cw = bitmap.width / 4 ch = bitmap.height / 4 facing = 0 src_rect = Rect.new(0, facing * ch, cw, ch) self.contents.blt(0, 0, bitmap, src_rect) end end end def clear self.contents.clear end end #-------------------------------------------------------------------- # * Ends Window_Missioncomp #-------------------------------------------------------------------- #---------------------------------------------------------------------- # Window_Missiondesc #---------------------------------------------------------------------- class Window_Missiondesc < Window_Base #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(mission) super(260, 60, 380, 305) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------- def refresh(mission) self.contents.clear mis = Mission_Menu self.contents.draw_text(0, 0, 348, 32, mis::Mission_L1[mission].to_s) self.contents.draw_text(0, 32, 348, 32, mis::Mission_L2[mission].to_s) self.contents.draw_text(0, 64, 348, 32, mis::Mission_L3[mission].to_s) self.contents.draw_text(0, 96, 348, 32, mis::Mission_L4[mission].to_s) self.contents.draw_text(0, 128, 348, 32, mis::Mission_L5[mission].to_s) self.contents.draw_text(0, 160, 348, 32, mis::Mission_L6[mission].to_s) self.contents.draw_text(0, 192, 348, 32, mis::Mission_L7[mission].to_s) self.contents.draw_text(0, 224, 348, 32, mis::Mission_L8[mission].to_s) end end #-------------------------------------------------------------------- # * Ends Window_Missiondesc #-------------------------------------------------------------------- #==================================== # Scene_MissionMenu #==================================== class Scene_MissionMenu #-------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------- # * Main #-------------------------------------------------------------------- def main @missionhelp_window = Window_Missionhelp.new @missionlist_window = Window_Missionlist.new @missionnum_window = Window_MissionNum.new @missioncomp_window = Window_Missioncomp.new(@missionlist_window.mission) @missiondesc_window = Window_Missiondesc.new(@missionlist_window.mission) @mission = @missionlist_window.mission @missiondesc_window.refresh(@missionlist_window.mission) @missioncomp_window.refresh(@missionlist_window.mission) Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @missionhelp_window.dispose @missiondesc_window.dispose @missioncomp_window.dispose @missionlist_window.dispose @missionnum_window.dispose end #-------------------------------------------------------------------- # * Update #-------------------------------------------------------------------- def update mis = Mission_Menu @missionlist_window.update @missionnum_window.update @missionhelp_window.update("Select a mission to see details.") if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) or Input.repeat?(Input::DOWN) or Input.repeat?(Input::UP) @missiondesc_window.refresh(@missionlist_window.mission) @missioncomp_window.refresh(@missionlist_window.mission) end if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new end end end #-------------------------------------------------------------------- # * Ends Scene_Missionmenu #-------------------------------------------------------------------- #=================================================== # ■ AMS - Advanced Message Script - R4 [update #2] #=================================================== # For more infos and update, visit: # www.dubealex.com (Creation Asylum) # # Edited, Fixed and Enhanced by: Dubealex # Original Script Core by: XRXS Scripter (Jap Dudes) # HTML Hexadecimal color feature from: Phylomorphis # # Special Thanks: # Rabu: For enabling the Show Face feature in an encrypted project # # To found all my new features, search the following: #NEW # To configure the button to skip the dialog, search: #SKIP_TEXT_CODE # # May 18, 2005 #=================================================== LETTER_BY_LETTER_MODE = true #Set the letter by letter mode ON/OFF #=================================================== # ▼ CLASS AMS Begins #=================================================== class AMS attr_accessor :name_box_x_offset attr_accessor :name_box_y_offset attr_accessor :font_type attr_accessor :name_font_type attr_accessor :font_size attr_accessor :name_font_size attr_accessor :message_box_opacity attr_accessor :name_box_skin attr_accessor :name_box_text_color attr_accessor :message_box_text_color attr_accessor :message_box_skin attr_accessor :name_box_width attr_accessor :name_box_height attr_accessor :message_width attr_accessor :message_height attr_accessor :message_x attr_accessor :message_y_bottom attr_accessor :message_y_middle attr_accessor :message_y_top attr_accessor :event_message_x_ofset attr_accessor :event_message_y_ofset def initialize @name_box_x_offset = 0 #Choose the X axis offset of the name bos. default= 0 @name_box_y_offset = -10 #Choose the Y axis offset of the name bos. default= -10 @name_box_width = 8 #Choose the width of the Name Box. default= 8 @name_box_height = 26 #Choose the height of the Name Box. default= 26 @font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for message box @name_font_type = "Tahoma" #Choose the Font Name (Case Sensitive) for Name Box @font_size = 22 #Choose the default Font Size for message box text @name_font_size = 22 #Choose the deafault Font Size for Name Box text @name_box_text_color=0 #Choose the Text Color of the Name Box @message_box_text_color=0 #Choose the Text Color of the Message Box @message_box_opacity = 160 #Choose the opacity of the message window. Default=160 @message_box_skin = "gallery_24241_32_870" #Choose the WindowSkin for the Message Box @name_box_skin = "gallery_24241_32_870" #Choose the WindowSkin for the Name Box @message_width = 480 #Choose the width size of the message box. Default=480 @message_height = 160 #Choose the height size of the message box. Default=160 @message_x = 80 #Choose the X position of the message box. Default=80 @message_y_bottom = 304 #Choose the Y bottom position of the message box. Default=304 @message_y_middle = 160 #Choose the Y middle position of the message box. Default=160 @message_y_top = 16 #Choose the Y top position of the message box. Default=16 @event_message_x_ofset = 0 #Choose the X position offset of the event message. Default=0 @event_message_y_ofset = 48 #Choose the Y position offset of the event message. Default=48 end end #=================================================== # ▲ CLASS AMS Ends #=================================================== #=================================================== # ▼ Class Window_Message Begins #=================================================== class Window_Message < Window_Selectable alias xrxs9_initialize initialize def initialize @alex_skip = false xrxs9_initialize if $soundname_on_speak == nil then $soundname_on_speak = "" end $gaiji_file = "./Graphics/Gaiji/sample.png" if FileTest.exist?($gaiji_file) @gaiji_cache = Bitmap.new($gaiji_file) else @gaigi_cache = nil end @opacity_text_buf = Bitmap.new(32, 32) end #-------------------------------------------------------------------------- alias xrxs9_terminate_message terminate_message def terminate_message if @name_window_frame != nil @name_window_frame.dispose @name_window_frame = nil end if @name_window_text != nil @name_window_text.dispose @name_window_text = nil end xrxs9_terminate_message end #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = text_color($ams.message_box_text_color) self.contents.font.name = $ams.font_type self.contents.font.size = $ams.font_size self.windowskin = RPG::Cache.windowskin($ams.message_box_skin) @x = @y = @max_x = @max_y = @indent = @lines = 0 @face_indent = 0 @opacity = 255 @cursor_width = 0 @write_speed = 0 @write_wait = 0 @mid_stop = false @face_file = nil @popchar = -2 if $game_temp.choice_start == 0 @x = 8 end if $game_temp.message_text != nil @now_text = $game_temp.message_text if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then @face_file = $1 + ".png" @x = @face_indent = 128 if FileTest.exist?("Graphics/Pictures/" + $1 + ".png") self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96)) end @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" } end begin last_text = @now_text.clone @now_text.gsub!(/\\[Vv]\[([iiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) } end until @now_text == last_text @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" end #NEW #Dubealex's Stop Skip Text ON-OFF @now_text.gsub!(/\\[%]/) { "\100" } #End new command #NEW #Dubealex's Show Monster Name Feature @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : "" end #End new command #NEW #Dubealex's Show Item Price Feature @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : "" end #End new command #NEW #Dubealex's Show Hero Class Name Feature @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do $data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : "" end #End new command #NEW #Dubealex's Show Current Map Name Feature @now_text.gsub!(/\\[Mm]ap/) do $game_map.name != nil ? $game_map.name : "" end #End new command #NEW #Dubealex's Choose Name Box Text Color @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do $ams.name_box_text_color=$1.to_i @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" } end #End new command name_window_set = false if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil name_window_set = true name_text = $1 @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" } end if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then @popchar = $1.to_i if @popchar == -1 @x = @indent = 48 @y = 4 end @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" } end @max_choice_x = 0 if @popchar >= 0 @text_save = @now_text.clone @max_x = 0 @max_y = 4 for i in 0..3 line = @now_text.split(/\n/)[3-i] @max_y -= 1 if line == nil and @max_y <= 4-i next if line == nil line.gsub!(/\\\w\[(\w+)\]/) { "" } cx = contents.text_size(line).width @max_x = cx if cx > @max_x if i >= $game_temp.choice_start @max_choice_x = cx if cx > @max_choice_x end end self.width = @max_x + 32 + @face_indent self.height = (@max_y - 1) * 32 + 64 @max_choice_x -= 68 @max_choice_x -= @face_indent*216/128 else @max_x = self.width - 32 - @face_indent for i in 0..3 line = @now_text.split(/\n/) next if line == nil line.gsub!(/\\\w\[(\w+)\]/) { "" } cx = contents.text_size(line).width if i >= $game_temp.choice_start @max_choice_x = cx if cx > @max_choice_x end end @max_choice_x += 8 end @cursor_width = 0 @now_text.gsub!(/\\\\/) { " 0" } @now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { " 1[#{$1}]" } @now_text.gsub!(/\\[Gg]/) { " 2" } @now_text.gsub!(/\\[ss]\[([0-9]+)\]/) { " 3[#{$1}]" } @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { " 4[#{$1}]" } #NEW #Dubealex's Permanent Color Change @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do $ams.message_box_text_color= $1.to_i @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" } end #End of new command #NEW #Dubealex's Font Change Feature @now_text.gsub(/\\[Tt]\[(.*?)\]/) do buftxt = $1.to_s $ams.font_type = buftxt @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" } end #End of new command @now_text.gsub!(/\\[.]/) { " 5" } @now_text.gsub!(/\\[|]/) { " 6" } @now_text.gsub!(/\\[>]/) { "16" } @now_text.gsub!(/\\[<]/) { "17" } @now_text.gsub!(/\\[!]/) { "20" } @now_text.gsub!(/\\[~]/) { "21" } @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "22[#{$1}]" } @now_text.gsub!(/\\[ii]/) { "23" } @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "24[#{$1}]" } @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "25[#{$1}]" } @now_text.gsub!(/\\[bb]\[([0-9]+)\]/) { "26[#{$1}]" } @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "27[#{$1}]" } reset_window if name_window_set color=$ams.name_box_text_color off_x = $ams.name_box_x_offset off_y = $ams.name_box_y_offset space = 2 x = self.x + off_x - space / 2 y = self.y + off_y - space / 2 w = self.contents.text_size(name_text).width + $ams.name_box_width + space h = $ams.name_box_height + space @name_window_frame = Window_Frame.new(x, y, w, h) @name_window_frame.z = self.z + 1 x = self.x + off_x + 4 y = self.y + off_y @name_window_text = Air_Text.new(x, y, name_text, color) @name_window_text.z = self.z + 2 end end reset_window if $game_temp.choice_max > 0 @item_max = $game_temp.choice_max self.active = true self.index = 0 end if $game_temp.num_input_variable_id > 0 digits_max = $game_temp.num_input_digits_max number = $game_variables[$game_temp.num_input_variable_id] @input_number_window = Window_InputNumber.new(digits_max) @input_number_window.number = number @input_number_window.x = self.x + 8 @input_number_window.y = self.y + $game_temp.num_input_start * 32 end end #-------------------------------------------------------------------------- def update super if @fade_in self.contents_opacity += 24 if @input_number_window != nil @input_number_window.contents_opacity += 24 end if self.contents_opacity == 255 @fade_in = false end return end @now_text = nil if @now_text == "" if @now_text != nil and @mid_stop == false if @write_wait > 0 @write_wait -= 1 return end text_not_skip = LETTER_BY_LETTER_MODE while true @max_x = @x if @max_x < @x @max_y = @y if @max_y < @y if (c = @now_text.slice!(/./m)) != nil if c == " 0" c = "\\" end if c == " 1" @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "") temp_color = $1 color = temp_color.to_i leading_x = temp_color.to_s.slice!(/./m) if leading_x == "#" self.contents.font.color = hex_color(temp_color) next end if color >= 0 and color <= 7 self.contents.font.color = text_color(color) end next end if c == " 2" if @gold_window == nil and @popchar <= 0 @gold_window = Window_Gold.new @gold_window.x = 560 - @gold_window.width if $game_temp.in_battle @gold_window.y = 192 else @gold_window.y = self.y >= 128 ? 32 : 384 end @gold_window.opacity = self.opacity @gold_window.back_opacity = self.back_opacity end c = "" end if c == " 3" @now_text.sub!(/\[([0-9]+)\]/, "") speed = $1.to_i if speed >= 0 and speed <= 19 @write_speed = speed end c = "" end if c == " 4" @now_text.sub!(/\[(.*?)\]/, "") buftxt = $1.dup.to_s if buftxt.match(/\//) == nil and buftxt != "" then $soundname_on_speak = "Audio/SE/" + buftxt else $soundname_on_speak = buftxt.dup end c = "" elsif c == " 4" c = "" end if c == " 5" @write_wait += 5 c = "" end if c == " 6" @write_wait += 20 c = "" end if c == "16" text_not_skip = false c = "" end if c == "17" text_not_skip = true c = "" end if c == "20" @mid_stop = true c = "" end if c == "21" terminate_message return end if c == "23" @indent = @x c = "" end if c == "24" @now_text.sub!(/\[([0-9]+)\]/, "") @opacity = $1.to_i color = self.contents.font.color self.contents.font.name = $ams.font_type self.contents.font.size = $ams.font_size self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255) c = "" end if c == "25" @now_text.sub!(/\[([0-9]+)\]/, "") self.contents.font.size = [[$1.to_i, 6].max, 32].min c = "" end if c == "26" @now_text.sub!(/\[([0-9]+)\]/, "") @x += $1.to_i c = "" end if c == "27" @now_text.sub!(/\[(.*?)\]/, "") @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity) if $soundname_on_speak != "" Audio.se_play($soundname_on_speak) end c = "" end if c == "30" @now_text.sub!(/\[(.*?)\]/, "") self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24)) if $soundname_on_speak != "" Audio.se_play($soundname_on_speak) end @x += 24 c = "" end if c == "\n" @lines += 1 @y += 1 @x = 0 + @indent + @face_indent if @lines >= $game_temp.choice_start @x = 8 + @indent + @face_indent @cursor_width = @max_choice_x end c = "" end if c == "22" @now_text.sub!(/\[([0-9]+)\]/, "") @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i) c = "" end #NEW #Dubealex's Text Skip On/OFF Command if c == "\100" if @alex_skip==false @alex_skip=true else @alex_skip=false end c = "" end #end of new command if c != "" self.contents.draw_text(0+@x, 32 * @y, 40, 32, c) @x += self.contents.text_size©.width if $soundname_on_speak != "" then Audio.se_play($soundname_on_speak) end end #SKIP_TEXT_CODE # B = Escape, 0 (On The NumPad), X # C = Enter, Space Bar and C # A = Shift, Z if Input.press?(Input::C) # <-- Change the value on that line if @alex_skip==false text_not_skip = false end end else text_not_skip = true break end if text_not_skip break end end @write_wait += @write_speed return end if @input_number_window != nil @input_number_window.update if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) $game_variables[$game_temp.num_input_variable_id] = @input_number_window.number $game_map.need_refresh = true @input_number_window.dispose @input_number_window = nil terminate_message end return end if @contents_showing if $game_temp.choice_max == 0 self.pause = true end if Input.trigger?(Input::B) if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0 $game_system.se_play($data_system.cancel_se) $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1) terminate_message end end if Input.trigger?(Input::C) if $game_temp.choice_max > 0 $game_system.se_play($data_system.decision_se) $game_temp.choice_proc.call(self.index) end if @mid_stop @mid_stop = false return else terminate_message end end return end if @fade_out == false and $game_temp.message_text != nil @contents_showing = true $game_temp.message_window_showing = true refresh Graphics.frame_reset self.visible = true self.contents_opacity = 0 if @input_number_window != nil @input_number_window.contents_opacity = 0 end @fade_in = true return end if self.visible @fade_out = true self.opacity -= 48 if self.opacity == 0 self.visible = false @fade_out = false $game_temp.message_window_showing = false end return end end #-------------------------------------------------------------------------- def get_character(parameter) case parameter when 0 return $game_player else events = $game_map.events return events == nil ? nil : events[parameter] end end #-------------------------------------------------------------------------- def reset_window #MESSAGE_SIZE #MESSAGE_POSITION if @popchar >= 0 events = $game_map.events if events != nil character = get_character(@popchar) x = [[character.screen_x - $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min self.x = x self.y = y end elsif @popchar == -1 self.x = -4 self.y = -4 self.width = 648 self.height = 488 else if $game_temp.in_battle self.y = 16 else case $game_system.message_position when 0 self.y = $ams.message_y_top when 1 self.y = $ams.message_y_middle when 2 self.y = $ams.message_y_bottom end self.x = $ams.message_x if @face_file == nil self.width = $ams.message_width self.x = $ams.message_x else if self.width <= 600 self.width = 600 self.x -=60 end end self.height = $ams.message_height end end self.contents = Bitmap.new(self.width - 32, self.height - 32) self.contents.font.color = text_color($ams.message_box_text_color) self.contents.font.name = $ams.font_type self.contents.font.size = $ams.font_size if @face_file != nil self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96)) end if @popchar == -1 self.opacity = 255 self.back_opacity = 0 elsif $game_system.message_frame == 0 self.opacity = 255 self.back_opacity = $ams.message_box_opacity else self.opacity = 0 self.back_opacity = $ams.message_box_opacity end end #-------------------------------------------------------------------------- def gaiji_draw(x, y, num) if @gaiji_cache == nil return 0 else if @gaiji_cache.width < num * 24 return 0 end if self.contents.font.size >= 20 and self.contents.font.size <= 24 size = 24 else size = self.contents.font.size * 100 * 24 / 2200 end self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24)) if $soundname_on_speak != "" then Audio.se_play($soundname_on_speak) end return size end end #-------------------------------------------------------------------------- def line_height return 32 if self.contents.font.size >= 20 and self.contents.font.size <= 24 return 32 else return self.contents.font.size * 15 / 10 end end #-------------------------------------------------------------------------- def ruby_draw_text(target, x, y, str,opacity) sizeback = target.font.size target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2 rubysize = [rubysize, 6].max opacity = [[opacity, 0].max, 255].min split_s = str.split(/,/) split_s[0] == nil ? split_s[0] = "" : nil split_s[1] == nil ? split_s[1] = "" : nil height = sizeback + rubysize width = target.text_size(split_s[0]).width target.font.size = rubysize ruby_width = target.text_size(split_s[1]).width target.font.size = sizeback buf_width = [target.text_size(split_s[0]).width, ruby_width].max width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0 if opacity == 255 target.font.size = rubysize target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1]) target.font.size = sizeback target.draw_text(x, y, width, target.font.size, split_s[0]) return width else if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height @opacity_text_buf.dispose @opacity_text_buf = Bitmap.new(buf_width, height) else @opacity_text_buf.clear end @opacity_text_buf.font.size = rubysize @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1) @opacity_text_buf.font.size = sizeback @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1) if sub_x >= 0 target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity) else target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity) end return width end end #-------------------------------------------------------------------------- def convart_value(option, index) option == nil ? option = "" : nil option.downcase! case option when "i" unless $data_items[index].name == nil r = sprintf("30[%s]%s", $data_items[index].icon_name, $data_items[index].name) end when "w" unless $data_weapons[index].name == nil r = sprintf("30[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name) end when "a" unless $data_armors[index].name == nil r = sprintf("30[%s]%s", $data_armors[index].icon_name, $data_armors[index].name) end when "s" unless $data_skills[index].name == nil r = sprintf("30[%s]%s", $data_skills[index].icon_name, $data_skills[index].name) end else r = $game_variables[index] end r == nil ? r = "" : nil return r end #-------------------------------------------------------------------------- def dispose terminate_message if @gaiji_cache != nil unless @gaiji_cache.disposed? @gaiji_cache.dispose end end unless @opacity_text_buf.disposed? @opacity_text_buf.dispose end $game_temp.message_window_showing = false if @input_number_window != nil @input_number_window.dispose end super end #-------------------------------------------------------------------------- def update_cursor_rect if @index >= 0 n = $game_temp.choice_start + @index self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32) else self.cursor_rect.empty end end end #========================================= # ▲ CLASS Window_Message Ends #========================================= #========================================= # ▼ Class Window_Frame Begins #========================================= class Window_Frame < Window_Base def initialize(x, y, width, height) super(x, y, width, height) self.windowskin = RPG::Cache.windowskin($ams.name_box_skin) self.contents = nil end #-------------------------------------------------------------------------- def dispose super end end #========================================= # ▲ CLASS Window_Frame Ends #========================================= #========================================= # ▼ CLASS Game_Map Additional Code Begins #========================================= class Game_Map #Dubealex's Addition (from XRXS) to show Map Name on screen def name $map_infos[@map_id] end end #========================================= # ▲ CLASS Game_Map Additional Code Ends #========================================= #========================================= # ▼ CLASS Scene_Title Additional Code Begins #========================================= class Scene_Title #Dubealex's Addition (from XRXS) to show Map Name on screen $map_infos = load_data("Data/MapInfos.rxdata") for key in $map_infos.keys $map_infos[key] = $map_infos[key].name end #Dubealex's addition to save data from the AMS in the save files $ams = AMS.new end #========================================= # ▲ CLASS Scene_Title Additional Code Ends #========================================= #========================================= # ▼ CLASS Window_Base Additional Code Begins #========================================= class Window_Base < Window #Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors def hex_color(string) red = 0 green = 0 blue = 0 if string.size != 6 print("Hex strings must be six characters long.") print("White text will be used.") return Color.new(255, 255, 255, 255) end for i in 1..6 s = string.slice!(/./m) if s == "#" print("Hex color string may not contain the \"#\" character.") print("White text will be used.") return Color.new(255, 255, 255, 255) end value = hex_convert(s) if value == -1 print("Error converting hex value.") print("White text will be used.") return Color.new(255, 255, 255, 255) end case i when 1 red += value * 16 when 2 red += value when 3 green += value * 16 when 4 green += value when 5 blue += value * 16 when 6 blue += value end end return Color.new(red, green, blue, 255) end #-------------------------------------------------------------------------- def hex_convert(character) case character when "0" return 0 when "1" return 1 when "2" return 2 when "3" return 3 when "4" return 4 when "5" return 5 when "6" return 6 when "7" return 7 when "8" return 8 when "9" return 9 when "A" return 10 when "B" return 11 when "C" return 12 when "D" return 13 when "E" return 14 when "F" return 15 end return -1 end end #========================================= # ▲ CLASS Window_Base Additional Code Ends #========================================= #========================================= # ▼ Class Air_Text Begins #========================================= class Air_Text < Window_Base def initialize(x, y, designate_text, color=0) super(x-16, y-16, 32 + designate_text.size * 12, 56) self.opacity = 0 self.back_opacity = 0 self.contents = Bitmap.new(self.width - 32, self.height - 32) w = self.contents.width h = self.contents.height self.contents.font.name = $ams.name_font_type self.contents.font.size = $ams.name_font_size self.contents.font.color = text_color(color) self.contents.draw_text(0, 0, w, h, designate_text) end #-------------------------------------------------------------------------- def dispose self.contents.clear super end end #========================================== # ▲ CLASS Air_Text Ends #========================================== #=================================================== # ▼ CLASS Scene_Save Additional Code Begins #=================================================== class Scene_Save < Scene_File alias ams_original_write_save_data write_save_data def write_save_data(file) ams_original_write_save_data(file) Marshal.dump($ams, file) end end #=================================================== # ▲ CLASS Scene_Save Additional Code Ends #=================================================== #=================================================== # ▼ CLASS Scene_Load Additional Code Begins #=================================================== class Scene_Load < Scene_File alias ams_original_read_save_data read_save_data def read_save_data(file) ams_original_read_save_data(file) $ams = Marshal.load(file) end end #=================================================== # ▲ CLASS Scene_Load Additional Code Ends #=================================================== #=================================== # Party Changing System by Leon_Westbrooke # -v 1.2 #---------------------------------------------------------------------- # Instructions: Place above main, but below all other default scripts. # # Features: # -Allows the player to make a party from the minimum to maximum size. # -Extra members are limitless. # -You can remove a person from the party and put it into reserve using: # $game_party.remove_actor_to_party(actor_id) # -You can remove a person from the reserve if they exist, and them into # the party: # $game_party.add_actor_to_party(actor_id) # -You can lock a character in reserve or active party by using: # $game_party.locked.push(actor_id) # -You can set the maximum and minimum number of the party in-game using: # $game_party.min_size = x # $game_party.max_size = x # (NOTE: Do NOT make the max size lower than the minimum size.) # -Allows you to use the default add/remove actors command. # (NOTE: If you remove an actor with this method, he is gone from both # the party and the reserve members.) # # Credits: # This setup uses SephirothSpawn's coding to simplify the cursor's position. # # # Command Quick-list: # $game_party.remove_actor_from_party(actor_id) # -Removes an actor from the party, and puts them in reserve. # $game_party.add_actor_to_party(actor_id) # -Replaces the last actor in the party with the actor in reserve. # $game_party.locked.push(actor_id) # -Locks the actor in place. # $game_party.min_size = x # $game_party.max_size = x # -Sets the minimum and maximum party size. # # # Notes: # This script rewrites these methods from Game_Party: # add_actor # remove_actor #=================================== #================================================== # Game_Party #================================================== class Game_Party attr_accessor :party_members attr_accessor :move attr_accessor :locked attr_accessor :min_size attr_accessor :max_size alias leon_partyswitch_gameactor_initialize initialize def initialize leon_partyswitch_gameactor_initialize @party_members = [] # Edit :This is to change if an actor is locked or not. To lock them, add # their id to the array below. @locked = [1] @min_size = 1 @max_size = 4 end def add_actor(actor_id) actor = $game_actors[actor_id] if @actors.size < @max_size unless @actors.include?(actor) unless @party_members.include?(actor.id) @actors.push(actor) $game_player.refresh end end else unless @party_members.include?(actor.id) unless @actors.include?(actor) @party_members.push(actor.id) $game_player.refresh end end end end def remove_actor(actor_id) @actors.delete($game_actors[actor_id]) @party_members.delete(actor_id) $game_player.refresh end def remove_actor_from_party(actor_id) if @actors.include?($game_actors[actor_id]) unless @party_members.include?(actor_id) @party_members.push(actor_id) @party_members.sort! end end @actors.delete($game_actors[actor_id]) $game_player.refresh end def add_actor_to_party(actor_id) if @party_members.include?(actor_id) if @actors[@max_size - 1] != nil @party_members.push(@actors[@max_size - 1].id) @actors.delete_at(@max_size - 1) end @actors.push($game_actors[actor_id]) @party_members.delete(actor_id) end end end #================================================== # END Game_Party #================================================== #============================================================================== # ** Window_Selectable #============================================================================== class Window_Selectable < Window_Base #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :cursor_height #-------------------------------------------------------------------------- # * Alias Initialization #-------------------------------------------------------------------------- alias custom_int initialize #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y, width, height) custom_int(x, y, width, height) @cursor_height = 32 end #-------------------------------------------------------------------------- # * Get Top Row #-------------------------------------------------------------------------- def top_row # Divide y-coordinate of window contents transfer origin by 1 row # height of @cursor_height return self.oy / @cursor_height end #-------------------------------------------------------------------------- # * Set Top Row # row : row shown on top #-------------------------------------------------------------------------- def top_row=(row) # If row is less than 0, change it to 0 if row < 0 row = 0 end # If row exceeds row_max - 1, change it to row_max - 1 if row > row_max - 1 row = row_max - 1 end # Multiply 1 row height by 32 for y-coordinate of window contents # transfer origin self.oy = row * @cursor_height end #-------------------------------------------------------------------------- # * Get Number of Rows Displayable on 1 Page #-------------------------------------------------------------------------- def page_row_max # Subtract a frame height of 32 from the window height, and divide it by # 1 row height of @cursor_height return (self.height - 32) / @cursor_height end #-------------------------------------------------------------------------- # * Update Cursor Rectangle #-------------------------------------------------------------------------- def update_cursor_rect # If cursor position is less than 0 if @index < 0 self.cursor_rect.empty return end # Get current row row = @index / @column_max # If current row is before top row if row < self.top_row # Scroll so that current row becomes top row self.top_row = row end # If current row is more to back than back row if row > self.top_row + (self.page_row_max - 1) # Scroll so that current row becomes back row self.top_row = row - (self.page_row_max - 1) end # Calculate cursor width cursor_width = self.width / @column_max - 32 # Calculate cursor coordinates x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * @cursor_height - self.oy if self.active == true # Update cursor rectangle self.cursor_rect.set(x, y, cursor_width, @cursor_height) end end end #============================================================================== # ** Window_Command #============================================================================== class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # * Unisable Item # index : item number #-------------------------------------------------------------------------- def undisable_item(index) draw_item(index, normal_color) end end #============================================================ #================================================== # Window_Party_Info #================================================== class Window_Party_Info < Window_Base def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh self.contents.clear self.contents.draw_text(0, 0, 614, 32, "Please make a party of #{$game_party.min_size.to_s} to #{$game_party.max_size.to_s} members.", 1) end end #================================================== # END Window_Party_Info #================================================== #================================================== # Window_Party_Slots #================================================== class Window_Party_Slots < Window_Selectable def initialize super(0, 64, 320, 416) @item_max = 4 self.contents = Bitmap.new(width - 32, height - 32) self.index = 0 self.active = true refresh end def actors if @data[index] != nil return @data[index] end end def refresh @data = [] if self.contents != nil self.contents.dispose self.contents = nil end for i in 0...$game_party.actors.size @data.push($game_party.actors) end @item_max = (@data.size + 1) if @item_max > 0 if @item_max > 4 @item_max = 4 end self.contents = Bitmap.new(width - 32, row_max * 96) for i in 0...@item_max draw_item(i) end end end def draw_item(index) @actor = @data[index] y = index * 96 x = 4 if $game_party.locked.include?(@actor.id) self.contents.font.color = Color.new(128, 128, 0, 255) #EDIT opacity = 128 else self.contents.font.color = normal_color opacity = 255 end if @actor != nil self.contents.draw_text(x + 100, y, 192, 32, @actor.name) draw_actor_hp(@actor, x + 100, y + 32) draw_actor_sp(@actor, x + 100, y + 64) bitmap = RPG::Cache.character(@actor.character_name, @actor.character_hue) cw = bitmap.width / 4 ch = bitmap.height / 4 facing = 0 src_rect = Rect.new(0, facing * ch, cw, ch) self.contents.blt(x + 24, y + 32, bitmap, src_rect, opacity) end end def update_cursor_rect if @index > -1 x = 0 y = index * 96 self.cursor_rect.set(x, y, (self.width - 32), 96) else self.cursor_rect.empty end end end #================================================== # END Window_Party_Slots #================================================== #================================================== # * Window_Party_Slots_Shadow #================================================== class Window_Party_Slots_Shadow < Window_Selectable def initialize super(0, 64, 320, 416) @item_max = 4 self.contents = Bitmap.new(width - 32, height - 32) self.index = -1 self.active = false self.z += 200 self.back_opacity = 0 refresh end def refresh self.contents.clear end def update_cursor_rect if @index > -1 x = 0 y = index * 96 self.cursor_rect.set(x, y, (self.width - 32), 96) else self.cursor_rect.empty end end end #================================================== # END Window_Party_Slots_Shadow #================================================== #================================================== # Window_Party_Extras #================================================== class Window_Party_Extras < Window_Selectable def initialize super(320, 64, 320, 416) self.cursor_height = 96 self.contents = Bitmap.new(width - 32, height - 32) self.index = -1 self.active = false refresh end def actors if @data != nil return @data[index] end end def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] for i in 0...$game_party.party_members.size @data.push($game_actors[$game_party.party_members]) end @data.push(nil) @item_max = @data.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 96) for i in 0...@item_max draw_item(i) end end end def draw_item(index) @actor = @data[index] y = index * 96 x = 4 if $game_party.locked.include?(@actor.id) self.contents.font.color = Color.new(128, 128, 0, 255) opacity = 128 else self.contents.font.color = normal_color opacity = 255 end if @actor != nil self.contents.draw_text(x + 100, y, 192, 32, @actor.name) draw_actor_hp(@actor, x + 100, y + 32) draw_actor_sp(@actor, x + 100, y + 64) bitmap = RPG::Cache.character(@actor.character_name, @actor.character_hue) cw = bitmap.width / 4 ch = bitmap.height / 4 facing = 0 src_rect = Rect.new(0, facing * ch, cw, ch) self.contents.blt(x + 24, y + 32, bitmap, src_rect, opacity) end end end #=================================== # END Window_Party_Extras #=================================== #=================================== # Scene_Party_Change #=================================== class Scene_Party_Change def main @info_window = Window_Party_Info.new @slot_window = Window_Party_Slots.new @extra_window = Window_Party_Extras.new @shadow_window = Window_Party_Slots_Shadow.new Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @info_window.dispose @slot_window.dispose @extra_window.dispose @shadow_window.dispose end def update @slot_window.update if @slot_window.active update_slot return end if @extra_window.active update_extra return end if @shadow_window.active update_shadow return end end def update_slot if Input.trigger?(Input::B) if $game_party.actors.size >= $game_party.min_size and $game_party.actors.size <= $game_party.max_size $game_player.refresh $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(3) else $game_system.se_play($data_system.buzzer_se) end end if Input.trigger?(Input::C) if $game_party.locked.include?(@slot_window.actors.id) == true $game_system.se_play($data_system.decision_se) @shadow_window.active = true @slot_window.active = false @shadow_window.index = @slot_window.index else $game_system.se_play($data_system.decision_se) @slot_window.active = false @extra_window.active = true @extra_window.index = 0 end end end def update_extra @extra_window.update if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @slot_window.active = true @extra_window.active = false @extra_window.index = -1 $scene = Scene_Menu.new(3) end if Input.trigger?(Input::LEFT) @shadow_window.active = true @extra_window.active = false @shadow_window.index = @extra_window.index @extra_window.index = -1 end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) if $game_party.locked.include?(@extra_window.actors.id) $game_system.se_play($data_system.buzzer_se) return end if @extra_window.actors == nil if $game_party.actors[@slot_window.index] != nil $game_party.party_members.push($game_party.actors[@slot_window.index].id) $game_party.remove_actor_from_party($game_party.actors[@slot_window.index].id) $game_party.party_members.sort! @slot_window.refresh @extra_window.refresh @slot_window.active = true @extra_window.active = false @extra_window.index = -1 else @slot_window.active = true @extra_window.active = false @extra_window.index = -1 end else if $game_party.actors[@slot_window.index] != nil hold = @extra_window.actors $game_party.party_members.push($game_party.actors[@slot_window.index].id) $game_party.actors[@slot_window.index] = hold $game_party.party_members.delete_at(@extra_window.index) $game_party.party_members.sort! @slot_window.refresh @extra_window.refresh @slot_window.active = true @extra_window.active = false @extra_window.index = -1 else $game_party.actors[@slot_window.index] = @extra_window.actors $game_party.party_members.delete_at(@extra_window.index) $game_party.party_members.sort! @slot_window.refresh @extra_window.refresh @slot_window.active = true @extra_window.active = false @extra_window.index = -1 end end end end def update_shadow @shadow_window.update if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @slot_window.active = true @shadow_window.active = false @shadow_window.index = -1 end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) hold = $game_party.actors[@shadow_window.index] $game_party.actors[@shadow_window.index] = $game_party.actors[@slot_window.index] $game_party.actors[@slot_window.index] = hold @slot_window.refresh @slot_window.active = true @shadow_window.active = false @shadow_window.index = -1 return end if Input.trigger?(Input::RIGHT) if $game_party.locked.include?($game_party.actors[@slot_window.index].id) $game_system.se_play($data_system.buzzer_se) else @shadow_window.active = false @extra_window.active = true @extra_window.index = @shadow_window.index @shadow_window.index = -1 end end end end Edited July 27, 2012 by zahraa Share this post Link to post Share on other sites
0 ForeverZer0 44 Report post Posted July 28, 2012 ALT + Enter That makes a game full screen. @Heretic: Why load $data_system and $game_system, have the code in a scene, or set the $scene to nil? There is no purpose, and all its gonna do is cause problems. This achieves the same purpose and without errors: unless $game_exists key = Win32API.new('user32', 'keybd_event', 'llll', '') key.call(18,0,0,0) key.call(13,0,0,0) key.call(13,0,2,0) key.call(18,0,2,0) $game_exists = true end I am not sure if that is what you are looking for, or if you are looking for a custom resolution script. Share this post Link to post Share on other sites
0 zahraa 26 Report post Posted July 28, 2012 it works great.thanks.only one question.how can i get it back to standard screen size? Share this post Link to post Share on other sites
0 ForeverZer0 44 Report post Posted July 28, 2012 Hold "Alt" and press "Enter". You can also make it a script call with this: class Interpreter def toggle_fullscreen key = Win32API.new('user32', 'keybd_event', 'llll', '') key.call(18,0,0,0) key.call(13,0,0,0) key.call(13,0,2,0) key.call(18,0,2,0) end end In an event, just use the following script call to toggle back and fourth: toggle_fullscreen Share this post Link to post Share on other sites
0 Heretic86 25 Report post Posted July 28, 2012 @F0 It was just a Full Screen Script I found in 30 seconds on google. I dont know why the author put it there. Share this post Link to post Share on other sites
0 ForeverZer0 44 Report post Posted July 28, 2012 Ah, I see. It looks as if it was part of something else or a larger scene that someone remove d the other code from. I would hope so, since the name of the scene is "Scene_FullPrompt", and there is no "prompt" to be found. Not to mention it closes the game down at the end, since setting the $scene to nil is RMXP's way of exiting the game. Share this post Link to post Share on other sites
0 Heretic86 25 Report post Posted July 29, 2012 Now Im starting to wonder if the script was originally intended to be used with something that bypasses the Main screen where everything does get loaded... Share this post Link to post Share on other sites
0 isaacsol 10 Report post Posted July 29, 2012 The way I have it set in mine, with no clashes thus far is have a script at the VERY top of the editor and have the following: begin unless $DEBUG and not $full $showm = Win32API.new('user32', 'keybd_event', ['l', 'l', 'l', 'l'], String.new) $showm.call(18,0,0,0) $showm.call(13,0,0,0) $showm.call(13,0,2,0) $showm.call(18,0,2,0) $full = 1 end end the first part removed the fullscreen feature in testing mode which ANNOYS me to no end as when you want to test a small thing, it gets obtrusive. Share this post Link to post Share on other sites
0 zahraa 26 Report post Posted July 29, 2012 thank you,this script is good too but used foreverzero's script. Share this post Link to post Share on other sites
how can i make my game full screen?cause RMXP's standard screen is too small
Edited by zahraaShare this post
Link to post
Share on other sites