Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
  • 0
zahraa

Full screen game (Solved by foreverzero)

Question

how can i make my game full screen?cause RMXP's standard screen is too small

Edited by zahraa

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

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

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 by zahraa

Share this post


Link to post
Share on other sites
  • 0

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

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

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

@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

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

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

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...