Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> Teaching myself of scripts and have a few questions.
TheCableGuy
post Jul 29 2011, 03:28 PM
Post #1


Level 5
Group Icon

Group: Member
Posts: 69
Type: Mapper
RM Skill: Beginner




I'm looking around in the basic default scripts of RPGXP And I'm wondering a few things.

First, is it possible to Edit default the Menu scripts to accommodate a single Player character rather then a Party? Now, I've looked up single Party scripts already (such as Taiine's Solo Player though most of them are either far more complex then I'm looking for (Mind you, I'm not doing a project only playing with the default scripts to learn how they work, and only reading other scripts for reference) Or they require a great deal of Icons and Graphic alterations that I'm not interested in.

Actually, that pretty much covers most of my questions. Can you do simple Edist to the default Scripts to make simple Menu redesigns rather then using 3rd party Scripts? I was able to redo the Status Screen to make it look better though that wasn't much more the shifting the Placements around.

I also added in the FF7 Menu while I was playing around so I do have that one. But I'm trying to figure out how to make "Cosmetic" changes.

Oh, that another question. How do you change the Names of existing Parameters and/or Edit them out where Superfluous.

Did that make any sense?

EDIT: I've been reading more of the Tutorials and realized I should of reworded my question. I should of asked Should I use custom scripts over editing the default scripts and why? I now see why 3rd party scripts are used more regularly then editing the Default scripts.

This post has been edited by TheCableGuy: Jul 30 2011, 09:22 AM
Go to the top of the page
 
+Quote Post
   
TheCableGuy
post Jul 30 2011, 11:54 AM
Post #2


Level 5
Group Icon

Group: Member
Posts: 69
Type: Mapper
RM Skill: Beginner




Ok. I have a few more Specific Questions.

First, am I Correct in assuming that Custom Scripts override the Default scripts where they differ? From what I can read, this is what i gather though I can't seam to find anything in any of the Tutorials regarding that.

Second, This is the 'Updating Status Screen' code snippet from "Final Fantasy VII menu" That I'm currently using (don't ask me why there's gibberish in the commented out sections. Was like that when I copied it.)

CODE
#--------------------------------------------------------------------------
# Updating Status Screen
#--------------------------------------------------------------------------
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1 # 锟解€™X锟解€™L锟解€™锟解‚拷
# 锟解‚★拷锟解‚★拷拧锟解€™A锟解€™N锟解€™^锟[锟解‚★拷拧扭s锟解‚“锟斤拷锟斤拷拧锟解€濓拷‚★拷啪 2 锟解€狅拷’殴锟狡’锟解‚★拷拧殴锟解„⑴わ拷‚拷
if $game_party.actors[@status_window.index].restriction >= 2
# 锟解€™u锟解€™U锟[ SE 锟解‚★拷€˜锟解‚拷锟解‚拷锟解‚œt
$game_system.se_play($data_system.buzzer_se)
return
end
# 锟脚★拷€狅拷‚„⒛ SE 锟解‚★拷€˜锟解‚拷锟解‚拷锟解‚œt
$game_system.se_play($data_system.decision_se)
# 锟解€™X锟解€™L锟解€™锟解‚拷锟解‚拷锟解€★拷‚€œ锟剿œ锟解‚∩愶拷œ锟解‚
∧嶏拷‚œ锟斤拷‚★拷
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
end



;


What I was wanting to do was, when Choosing to view the Status window of the main character, it would skip over the Character Selection (since I only have one character) and go directly to the status screen. Now, What I'm assuming is that the code:

CODE
$scene = Scene_Status.new(@status_window.index)


calls for the Scene_Status function which processes the Selection process and once the character is selected, it then calls for the Window_Status....

The question. Is there a way to Skip the Scene_Status call in the Main Menu script and jump directly to the Window_Status Call?

Is it as simple as Replacing
CODE
$scene = Scene_Status.new(@status_window.index)
with
CODE
    @status_window = Window_Status.new(@actor)
Or am I over simplifying it again?


EDIT: no wait. Nevermind. I was way off. That's just silly.

What if I put a Call to the Status Screen in
CODE
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0


Of the "# Updating the Command Selection" Section?


Oh and don't everyone come running all at once to respond to my posts. It's not like I need some form of answer to let me know I'm not talking to empty space. happy.gif Honestly, even someone telling me I'm an Idiot is better then silence.

This post has been edited by TheCableGuy: Jul 30 2011, 06:41 PM
Go to the top of the page
 
+Quote Post
   
gameface101
post Aug 3 2011, 11:37 PM
Post #3


Level 3
Group Icon

Group: Member
Posts: 35
Type: Artist
RM Skill: Advanced




well if it isn't theCableGuy woot.gif

I hear ya man, sometimes a bad response is better than no response. So I'll do my best to make this a good one. cool.gif
I gather by your posts that you are trying to get your RGSS on.

Warning! "the more you learn about scripting ~ the more you will have to learn about scripting"

I've learned a lot through reverse engineering code as well, I have no regrets but I've realized that I could of also
been here at R3 taking advantage of the RGSS Script Reference http://www.rpgrevolution.com/rgss-script-ref/

never the less I picked up some of the rookie level coding and stuck with it. I got to know the structure/object orientation,
making a Class, defining methods, variables, arguments, and my personal favorite = modules and constants.
As you will find there's so much stuff in syntax that will make your head pop. This is why I hold a high respect for those who
program well (and still have a friendly personality.)

Custom scripts don't always override the default scripts, some will simply add more to the game while others will reuse existing code.
There's no rule against editing a default script to have it do what you want. But it is more efficient to use existing code verses

script one: do this
script two: don't do this, instead do that
script three: don't do this and don't do that, do me

when you can avoid useless code by make an edit

script one: do this do me

though I am an artist/musician, I'm going to strengthen my programming skills to bring that music and art alive.
Still I have a long ways to go when it comes to programming, but it's the journey right?

Oh and since you only have one character try this:

CODE
$scene = Scene_Status.new(0)


^,^


__________________________
Go to the top of the page
 
+Quote Post
   
TheCableGuy
post Aug 4 2011, 03:09 PM
Post #4


Level 5
Group Icon

Group: Member
Posts: 69
Type: Mapper
RM Skill: Beginner




Much Appreciated. While I have read the Tutorials, I found that I'm not getting everything in the correct context. Basically, I have trouble figuring out what each command is suppose to do, at least "when" I need to know it. I often reread the same block of code 20 times before I get the syntax being used then I have to look up it's use. And that's only for the simplest scripts.

I got so frustrated that I took a break from Scripting to work on doing the Graphical Work in the Tilesets. Found I have a bit of a knack for it much more then I do for Scripting. Not saying I don't still what to figure out the Scripting though.

CODE
$scene = Scene_Status.new(0)


Where does this go? I found
CODE
$scene = Scene_Status.new(@status_window.index)


But changing "(@status_window.index)" to (0) doesn't seam to do anything. Still Brings up the Character selector.
Go to the top of the page
 
+Quote Post
   
gameface101
post Aug 4 2011, 04:30 PM
Post #5


Level 3
Group Icon

Group: Member
Posts: 35
Type: Artist
RM Skill: Advanced




so you need the FF7 menu edited for one person? why didn't you say so :-P
(my edits have a ^,^ so you can study what was edited)

CODE
#*********************************************************
#Final Fantasy VII menu setup //
# 1 person edit by G@MeF@Ce for the Cable Guy @R3 script support
#*********************************************************
#To use:
#If you do not want Faces, go to line 94
#and change delete the # of draw_actor_graphic
#and put a # infront of draw_actor_face
#
#Create a new folder in the Characters folder, and call it Faces
#Adding faces: add a 80x80 picture with the same name as the characterset it
#corrosponds with in the Faces folder


#========================================
#锟剿‡ Window_Base
#--------------------------------------------------------------------------------
# Setting functions for the "Base"
#========================================


class Window_Base < Window

def draw_actor_face(actor, x, y)
face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
fw = face.width
fh = face.height
src_rect = Rect.new(0, 0, fw, fh)
self.contents.blt(x - fw / 23, y - fh, face, src_rect)
end
end
def draw_actor_battler_graphic(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end

#========================================
#锟剿‡ Game_Map
#--------------------------------------------------------------------------------
# Setting functions for the Map
#========================================
class Game_Map

def name
$map_infos[@map_id]
end
end

#========================================
#锟剿‡ Window_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
$map_infos[key] = $map_infos[key].name
end
end




#==============================================================================
# 锟剿‡ Window_MenuStatus
#------------------------------------------------------------------------------
# Sets up the Choosing.
#==============================================================================

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Set up
#--------------------------------------------------------------------------
def initialize
super(0, 0, 560, 454)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 18
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# Drawing Info on Screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 94
y = i * 110
actor = $game_party.actors[i]
# draw_actor_face(actor, 12, y + 90) #To get rid of the Face, put a "#" before the draw_ of this line
draw_actor_graphic(actor, 48, y + 65) #and delete the "#" infront of draw of this line
draw_actor_name(actor, x, y)
draw_actor_level(actor, x + 144, y)
draw_actor_state(actor, x + 280, y )
draw_actor_exp(actor, x+ 144, y + 38)
draw_actor_hp(actor, x, y + 38)
draw_actor_sp(actor, x, y + 58)

end
end
#--------------------------------------------------------------------------
# Update of Cursor
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 110, self.width - 32, 96)
end
end
end

#=======================================#
# 锟剿‡Window_GameStats #
# written by AcedentProne #
#------------------------------------------------------------------------------#

class Window_GameStats < Window_Base
def initialize
super(0, 0, 160, 60)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 18
refresh
end

def refresh
self.contents.clear
#Drawing gold into separate commas by Dubealex
case $game_party.gold
when 0..9999
gold = $game_party.gold
when 10000..99999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
when 100000..999999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
when 1000000..9999999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
end
#Draw Gold
self.contents.font.color = system_color
gold_word = $data_system.words.gold.to_s
cx = contents.text_size(gold_word).width
cx2=contents.text_size(gold.to_s).width
self.contents.draw_text(4, 4, 120-cx-2, 32, gold_word)
self.contents.font.color = normal_color
self.contents.draw_text(124-cx2+1, 4, cx2, 32, gold.to_s, 2)
self.contents.font.color = system_color
# Draw "Time"
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, -10, 120, 32, text, 2)
self.contents.font.color = system_color
self.contents.draw_text(4, -10, 120, 32, "Time")
end
#--------------------------------------------------------------------------
# Update of The count
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end

#==============================================================================
# 锟剿‡ Window_Mapname
#------------------------------------------------------------------------------
# 锟紷Draws the Map name
#==============================================================================

class Window_Mapname < Window_Base
#--------------------------------------------------------------------------
# Set up
#--------------------------------------------------------------------------
def initialize
super(0, 0, 320, 44)
self.contents = Bitmap.new(width - 60, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 17
refresh
end
#--------------------------------------------------------------------------
# Draws info on screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear

# Map Name
#map = $game_map.name
self.contents.font.color = system_color
self.contents.draw_text(4, -10, 220, 32, "Location")
self.contents.font.color = normal_color
self.contents.draw_text(175, -10, 80, 32, $game_map.name)
end
end

#==============================================================================
# 锟剿‡ Scene_Menu
#------------------------------------------------------------------------------
# FF7 menu layout as requested by AcedentProne.
#==============================================================================

class Scene_Menu
#--------------------------- edit-------------------------------
attr_reader :status_window
attr_reader :window_status #edit ^,^
#/--------------------------- edit-------------------------------

def initialize(menu_index = 0)
@menu_index = menu_index
end
def main

s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Quit"


#--------------------------- edit-------------------------------
# Command menu
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,])
@command_window.x = 640 - @command_window.width
@command_window.y = 480
@command_window.z = 110
@command_window.index = @menu_index

#If certain options are avaliable
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end

if $game_system.save_disabled
@command_window.disable_item(4)
end

#Showing location window
@map = Window_Mapname.new
@map.x = 640 - @map.width
@map.y = 0 - @map.height - 1
@map.z = 110
#Showing the game stats
@game_stats_window = Window_GameStats.new
@game_stats_window.x = 0 - @game_stats_window.width
@game_stats_window.y = 480 - @map.height - @game_stats_window.height
@game_stats_window.z =110

#Showing the Menu Status window
#@status_window = Window_MenuStatus.new
@actor = $game_party.actors[0] #edit ^,^
@status_window = Window_Status.new(@actor) #edit ^,^
@status_window.x = 640
@status_window.y = 8
@status_window.z = 100

Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@game_stats_window.dispose
@status_window.dispose
@map.dispose
end
#--------------------------------------------------------------------------
#Defining the delay
#--------------------------------------------------------------------------
def delay(seconds)
for i in 0...(seconds * 1)
sleep 0.01
Graphics.update
end
end
#--------------------------------------------------------------------------
# Updating
#--------------------------------------------------------------------------
def update
@command_window.update
@game_stats_window.update
@status_window.update
@map.update
#Moving Windows inplace
gamepos = 640 - @game_stats_window.width
mappos = 480 - @map.height - 1
if @command_window.y > 0
@command_window.y -= 60
end
if @game_stats_window.x < gamepos
@game_stats_window.x += 80
end
if @map.y < mappos
@map.y += 80
end
if @status_window.x > 0
@status_window.x -= 80
end
#Saying if options are active
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# Updating the Command Selection
#--------------------------------------------------------------------------
def update_command
# If B button is pushed
if Input.trigger?(Input::B)
# Plays assigned SE
$game_system.se_play($data_system.cancel_se)
#Looping for moving windows out
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
# Go to Map
$scene = Scene_Map.new
return
end
# If C button is pused
if Input.trigger?(Input::C)
# Checks actor size
if $game_party.actors.size == 0 and @command_window.index < 4
# plays SE
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
#-------------------------------------------------------------------------------
when 0 #item
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Item.new
#-------------------------------------------------------------------------------
when 1 #skill
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Skill.new(0)#edit
#@status_window.index = 0
#-------------------------------------------------------------------------------
when 2 #equip
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Equip.new(0)#edit ^,^
#@status_window.index = 0
#-------------------------------------------------------------------------------
when 3 #status
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Status.new(0)#edit ^,^
#@status_window.index = 0
#-------------------------------------------------------------------------------
when 4 #save
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Save.new
#-------------------------------------------------------------------------------
when 5 #quit
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_End.new
return
end
end
#--------------------------------------------------------------------------
# Updating Status Screen
#--------------------------------------------------------------------------
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)

case @command_window.index
#-------------------------------------------------------------------------------
when 1 # ’X’L’€
# €š锟解€šš’A’N’^锟[€šš扭s€œ锟斤拷锟脚š”€šž 2 †Œ殴ƒ€šš殴™扭€
if $game_party.actors[@status_window.index].restriction >= 2
# ’u’U锟[ SE €š‘€扳€扳€˜t
$game_system.se_play($data_system.buzzer_se)
return
end
# š†€™膷 SE €š‘€扳€扳€˜t
$game_system.se_play($data_system.decision_se)
# ’X’L’€光€澳‡€“˜€š蓯˜€š膷€˜锟解€š锟
$scene = Scene_Skill.new(@status_window.index)
#-------------------------------------------------------------------------------
when 2
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Equip.new(@status_window.index)
#-------------------------------------------------------------------------------
when 3
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
#$scene = Scene_Status.new(@status_window.index)
$scene = Scene_Status.new(0)# edit ^,^
end
return
end
end
end
end


take a look at lines 376-398 if you are looking to make the windows slide when selecting skill, equip, and status...

This post has been edited by gameface101: Aug 4 2011, 04:32 PM


__________________________
Go to the top of the page
 
+Quote Post
   
TheCableGuy
post Aug 4 2011, 08:56 PM
Post #6


Level 5
Group Icon

Group: Member
Posts: 69
Type: Mapper
RM Skill: Beginner




That's interesting. I'll have to study it more to know exactly what it's doing but maybe I should of posted the Script I currently have as I must have since edited it more then I thought. Your edits seam to throw my menu into chaos. It's still displaying the Base Menu window and Displaying the New one over it. It also crashes trying to open any sub window. I tried in is a fresh project and it works properly.

FYI. Because this isn't actually a game but rather just an exercise in experimentation, I guess I really don't have much direction in what I'm trying to achieve. Really, I'm trying to figure out which block of code displays which menu screen. To some extent, I have figured out how to edit Window_Status a bit to get a nice looking status screen.. I may have edited other scripts too. Tell me if something's not right with one of them.

This is my script with your Edits. I believe I got them all.

CODE
#*********************************************************
#Final Fantasy VII menu setup
#*********************************************************
#To use:
#If you do not want Faces, go to line 94
#and change delete the # of draw_actor_graphic
#and put a # infront of draw_actor_face
#
#Create a new folder in the Characters folder, and call it Faces
#Adding faces: add a 80x80 picture with the same name as the characterset it
#corrosponds with in the Faces folder


#========================================
#锟剿 Window_Base
#--------------------------------------------------------------------------------
# Setting functions for the "Base"
#========================================


class Window_Base < Window

def draw_actor_face(actor, x, y)
face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
fw = face.width
fh = face.height
src_rect = Rect.new(0, 0, fw, fh)
self.contents.blt(x - fw / 23, y - fh, face, src_rect)
end
end
def draw_actor_battler_graphic(actor, x, y)
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end

#========================================
#锟剿 Game_Map
#--------------------------------------------------------------------------------
# Setting functions for the Map
#========================================
class Game_Map

def name
$map_infos[@map_id]
end
end

#========================================
#锟剿 Window_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
$map_infos[key] = $map_infos[key].name
end
end




#==============================================================================
# 锟剿 Window_MenuStatus
#------------------------------------------------------------------------------
# Sets up the Choosing.
#==============================================================================

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Set up Main MENU BG
#--------------------------------------------------------------------------
def initialize
super(0, 0, 560, 454) #Main Menu window
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 18
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# Drawing Info on Screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 2
y = i * 110
actor = $game_party.actors[i]
draw_actor_face(actor, 2, y + 400) #To get rid of the Face, put a "#" before the draw_ of this line
#draw_actor_graphic(actor, 48, y + 65) #and delete the "#" infront of draw of this line
draw_actor_name(actor, x, y)
draw_actor_level(actor, x , y + 32)
draw_actor_state(actor, x , y + 60)
draw_actor_hp(actor, x + 290, y )
draw_actor_sp(actor, x +300, y +20)
draw_actor_exp(actor, x + 310, y +40)

end
end
#--------------------------------------------------------------------------
# Update of Cursor
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 110, self.width - 32, 96)
end
end
end

#=======================================#
# 锟剿嘩indow_GameStats #
# written by AcedentProne #
#------------------------------------------------------------------------------#

class Window_GameStats < Window_Base
def initialize
super(0, 0, 160, 60)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 18
refresh
end

def refresh
self.contents.clear
#Drawing gold into separate commas by Dubealex
case $game_party.gold
when 0..9999
gold = $game_party.gold
when 10000..99999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
when 100000..999999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
when 1000000..9999999
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
end
#Draw Gold
self.contents.font.color = system_color
gold_word = $data_system.words.gold.to_s
cx = contents.text_size(gold_word).width
cx2=contents.text_size(gold.to_s).width
self.contents.draw_text(4, 4, 120-cx-2, 32, gold_word)
self.contents.font.color = normal_color
self.contents.draw_text(124-cx2+1, 4, cx2, 32, gold.to_s, 2)
self.contents.font.color = system_color
# Draw "Time"
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
# Time Played display
#text = sprintf("%02d:%02d:%02d", hour, min, sec)
#self.contents.font.color = normal_color
#self.contents.draw_text(4, -10, 120, 32, text, 2)
#self.contents.font.color = system_color
#self.contents.draw_text(4, -10, 120, 32, "Time")
end
#--------------------------------------------------------------------------
# Update of The count
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end

#==============================================================================
# 锟剿 Window_Mapname
#------------------------------------------------------------------------------
# 锟紷Draws the Map name
#==============================================================================

class Window_Mapname < Window_Base
#--------------------------------------------------------------------------
# Set up
#--------------------------------------------------------------------------
def initialize
super(0, 0, 320, 44)
self.contents = Bitmap.new(width - 60, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 17
refresh
end
#--------------------------------------------------------------------------
# Draws info on screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear

# Map Name
#map = $game_map.name
self.contents.font.color = system_color
self.contents.draw_text(4, -10, 220, 32, "Location")
self.contents.font.color = normal_color
self.contents.draw_text(175, -10, 80, 32, $game_map.name)
end
end

#==============================================================================
# 锟剿 Scene_Menu
#------------------------------------------------------------------------------
# FF7 menu layout as requested by AcedentProne.
#==============================================================================

class Scene_Menu
#--------------------------- edit-------------------------------
attr_reader :status_window
attr_reader :window_status
#/--------------------------- edit-------------------------------

def initialize(menu_index = 0)
@menu_index = menu_index
end
def main

s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Quit"


#--------------------------- edit-------------------------------
# Command menu
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,])
@command_window.x = 640 - @command_window.width
@command_window.y = 480
@command_window.z = 110
@command_window.index = @menu_index
#If certain options are avaliable
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
#Showing location window
@map = Window_Mapname.new
@map.x = 640 - @map.width
@map.y = 0 - @map.height - 1
@map.z = 110
#Showing the game stats
@game_stats_window = Window_GameStats.new
@game_stats_window.x = 0 - @game_stats_window.width
@game_stats_window.y = 480 - @map.height - @game_stats_window.height
@game_stats_window.z =110

#Showing the Menu Status window
@status_window = Window_MenuStatus.new
@actor = $game_party.actors[0] #edit ^,^
@status_window = Window_Status.new(@actor) #edit ^,^
@status_window.x = 640
@status_window.y = 8
@status_window.z = 100


Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@game_stats_window.dispose
@status_window.dispose
@map.dispose
end
#--------------------------------------------------------------------------
#Defining the delay
#--------------------------------------------------------------------------
def delay(seconds)
for i in 0...(seconds * 1)
sleep 0.01
Graphics.update
end
end
#--------------------------------------------------------------------------
# Updating
#--------------------------------------------------------------------------
def update
@command_window.update
@game_stats_window.update
@status_window.update
@map.update
#Moving Windows inplace
gamepos = 640 - @game_stats_window.width
mappos = 480 - @map.height - 1
if @command_window.y > 0
@command_window.y -= 60
end
if @game_stats_window.x < gamepos
@game_stats_window.x += 80
end
if @map.y < mappos
@map.y += 80
end
if @status_window.x > 0
@status_window.x -= 80
end
#Saying if options are active
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# Updating the Command Selection
#--------------------------------------------------------------------------
def update_command
# If B button is pushed
if Input.trigger?(Input::B)
# Plays assigned SE
$game_system.se_play($data_system.cancel_se)
#Looping for moving windows out
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
# Go to Map
$scene = Scene_Map.new
return
end
# If C button is pushed
if Input.trigger?(Input::C)
# Checks actor size
if $game_party.actors.size == 0 and @command_window.index < 4
# plays SE
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
# Select Item Screen
when 0
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Item.new
# Select Skill Screen
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Skill.new(0)#edit
@status_window.index = 0
# Select Equip Screen
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Equip.new(0)#edit ^,
@status_window.index = 0
# Select Status Screen
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Status.new(0)#edit ^,^
@status_window.index = 0
# Select Save screen
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_End.new
return
end
end
#--------------------------------------------------------------------------
# Updating Status Screen
#--------------------------------------------------------------------------
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Status.new(@status_window.index)
$scene = Scene_Status.new(0)# edit ^,^
end
return
end
end
end
end



;
Go to the top of the page
 
+Quote Post
   
gameface101
post Aug 4 2011, 11:07 PM
Post #7


Level 3
Group Icon

Group: Member
Posts: 35
Type: Artist
RM Skill: Advanced




there were a few lines of code that needed to be commented out for they were no longer needed,

the '#' was used to do this.

also to comment a chunk of code you can use

=begin

the chunk of code
you want to comment out

=end


Study the beginning on the script, I've started proper indent for you to see how classes, defining methods, cases, if statements... end

for example:
CODE
Class Example_Test

  def example_method
        if example == 0
           example = 0
        else
           example = 1
        end #end if statement
  end # end defining method
end #end class


the script:

CODE
#*********************************************************
#Final Fantasy VII menu setup //
# 1 person edit by G@MeF@Ce for the Cable Guy @R3 script support
#*********************************************************
#To use:
#If you do not want Faces, go to line 94
#and change delete the # of draw_actor_graphic
#and put a # infront of draw_actor_face
#
#Create a new folder in the Characters folder, and call it Faces
#Adding faces: add a 80x80 picture with the same name as the characterset it
#corrosponds with in the Faces folder


#========================================
#锟剿‡ Window_Base
#--------------------------------------------------------------------------------
# Setting functions for the "Base"
#========================================


class Window_Base < Window

  
    def draw_actor_face(actor, x, y)
        face = RPG::Cache.pictures(actor.character_name, actor.character_hue)
        fw = face.width
        fh = face.height
        src_rect = Rect.new(0, 0, fw, fh)
        self.contents.blt(x - fw / 23, y - fh, face, src_rect)
    end
      
    def draw_actor_battler_graphic(actor, x, y)
        bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
    end
      
end
#========================================
#锟剿‡ Game_Map
#--------------------------------------------------------------------------------
# Setting functions for the Map
#========================================
class Game_Map

    def name
    $map_infos[@map_id]
    end
end

#========================================
#锟剿‡ Window_Title
#--------------------------------------------------------------------------------
# Setting functions for the Title
#========================================
class Scene_Title
      $map_infos = load_data("Data/MapInfos.rxdata")
       for key in $map_infos.keys
       $map_infos[key] = $map_infos[key].name
       end
end

#==============================================================================
# 锟剿‡ Window_MenuStatus
#------------------------------------------------------------------------------
# Sets up the Choosing.
#==============================================================================

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Set up Main MENU BG
#--------------------------------------------------------------------------
      def initialize
          super(0, 0, 560, 454) #Main Menu window
          self.contents = Bitmap.new(width - 32, height - 32)
          self.contents.font.name = "Arial"
          self.contents.font.size = 18
          refresh
          self.active = false
          self.index = -1
      end
#--------------------------------------------------------------------------
# Drawing Info on Screen
#--------------------------------------------------------------------------
      def refresh
          self.contents.clear
          @item_max = $game_party.actors.size
           for i in 0...$game_party.actors.size
           x = 2
           y = i * 110
           actor = $game_party.actors[i]
           draw_actor_face(actor, 2, y + 400) #To get rid of the Face, put a "#" before the draw_ of this line
           #draw_actor_graphic(actor, 48, y + 65) #and delete the "#" infront of draw of this line
           draw_actor_name(actor, x, y)
           draw_actor_level(actor, x , y + 32)
           draw_actor_state(actor, x , y + 60)
           draw_actor_hp(actor, x + 290, y )
           draw_actor_sp(actor, x +300, y +20)
           draw_actor_exp(actor, x + 310, y +40)
           end
      end
#--------------------------------------------------------------------------
# Update of Cursor
#--------------------------------------------------------------------------
       def update_cursor_rect
            if @index < 0
               self.cursor_rect.empty
            else
               self.cursor_rect.set(0, @index * 110, self.width - 32, 96)
            end
       end
          
end #end class

#=======================================#
# 锟剿‡Window_GameStats #
# written by AcedentProne #
#------------------------------------------------------------------------------#

class Window_GameStats < Window_Base
      def initialize
          super(0, 0, 160, 60)
          self.contents = Bitmap.new(width - 32, height - 32)
          self.contents.font.name = "Arial"
          self.contents.font.size = 18
          refresh
      end

    def refresh
          self.contents.clear
#Drawing gold into separate commas by Dubealex
      case $game_party.gold
           when 0..9999
           gold = $game_party.gold
           when 10000..99999
           gold = $game_party.gold.to_s
           array = gold.split(//)
           gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
           when 100000..999999
           gold = $game_party.gold.to_s
           array = gold.split(//)
           gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
           when 1000000..9999999
           gold = $game_party.gold.to_s
           array = gold.split(//)
           gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
      end
#Draw Gold
          self.contents.font.color = system_color
          gold_word = $data_system.words.gold.to_s
          cx = contents.text_size(gold_word).width
          cx2=contents.text_size(gold.to_s).width
          self.contents.draw_text(4, 4, 120-cx-2, 32, gold_word)
          self.contents.font.color = normal_color
          self.contents.draw_text(124-cx2+1, 4, cx2, 32, gold.to_s, 2)
          self.contents.font.color = system_color
# Draw "Time"
          @total_sec = Graphics.frame_count / Graphics.frame_rate
          hour = @total_sec / 60 / 60
          min = @total_sec / 60 % 60
          sec = @total_sec % 60
# Time Played display
          #text = sprintf("%02d:%02d:%02d", hour, min, sec)
          #self.contents.font.color = normal_color
          #self.contents.draw_text(4, -10, 120, 32, text, 2)
          #self.contents.font.color = system_color
          #self.contents.draw_text(4, -10, 120, 32, "Time")
    end
#--------------------------------------------------------------------------
# Update of The count
#--------------------------------------------------------------------------
     def update
         super
          if Graphics.frame_count / Graphics.frame_rate != @total_sec
          refresh
          end
     end
  
end
# end of indent example
#==============================================================================
# 锟剿‡ Window_Mapname
#------------------------------------------------------------------------------
# 锟紷Draws the Map name
#==============================================================================

class Window_Mapname < Window_Base
#--------------------------------------------------------------------------
# Set up
#--------------------------------------------------------------------------
def initialize
super(0, 0, 320, 44)
self.contents = Bitmap.new(width - 60, height - 32)
self.contents.font.name = "Arial"
self.contents.font.size = 17
refresh
end
#--------------------------------------------------------------------------
# Draws info on screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear

# Map Name
#map = $game_map.name
self.contents.font.color = system_color
self.contents.draw_text(4, -10, 220, 32, "Location")
self.contents.font.color = normal_color
self.contents.draw_text(175, -10, 80, 32, $game_map.name)
end
end

#==============================================================================
# 锟剿‡ Scene_Menu
#------------------------------------------------------------------------------
# FF7 menu layout as requested by AcedentProne.
#==============================================================================

class Scene_Menu
#--------------------------- edit-------------------------------
attr_reader :status_window
attr_reader :window_status
#/--------------------------- edit-------------------------------

def initialize(menu_index = 0)
@menu_index = menu_index
end
def main

s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Quit"


#--------------------------- edit-------------------------------
# Command menu
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,])
@command_window.x = 640 - @command_window.width
@command_window.y = 480
@command_window.z = 110
@command_window.index = @menu_index
#If certain options are avaliable
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
#Showing location window
@map = Window_Mapname.new
@map.x = 640 - @map.width
@map.y = 0 - @map.height - 1
@map.z = 110
#Showing the game stats
@game_stats_window = Window_GameStats.new
@game_stats_window.x = 0 - @game_stats_window.width
@game_stats_window.y = 480 - @map.height - @game_stats_window.height
@game_stats_window.z =110

#Showing the Menu Status window
#@status_window = Window_MenuStatus.new # commented no longer needed
@actor = $game_party.actors[0] #edit ^,^
@status_window = Window_Status.new(@actor) #edit ^,^
@status_window.x = 640
@status_window.y = 8
@status_window.z = 100


Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@game_stats_window.dispose
@status_window.dispose
@map.dispose
end
#--------------------------------------------------------------------------
#Defining the delay
#--------------------------------------------------------------------------
def delay(seconds)
for i in 0...(seconds * 1)
sleep 0.01
Graphics.update
end
end
#--------------------------------------------------------------------------
# Updating
#--------------------------------------------------------------------------
def update
@command_window.update
@game_stats_window.update
@status_window.update
@map.update
#Moving Windows inplace
gamepos = 640 - @game_stats_window.width
mappos = 480 - @map.height - 1
if @command_window.y > 0
@command_window.y -= 60
end
if @game_stats_window.x < gamepos
@game_stats_window.x += 80
end
if @map.y < mappos
@map.y += 80
end
if @status_window.x > 0
@status_window.x -= 80
end
#Saying if options are active
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# Updating the Command Selection
#--------------------------------------------------------------------------
def update_command
# If B button is pushed
if Input.trigger?(Input::B)
# Plays assigned SE
$game_system.se_play($data_system.cancel_se)
#Looping for moving windows out
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
# Go to Map
$scene = Scene_Map.new
return
end
# If C button is pushed
if Input.trigger?(Input::C)
# Checks actor size
if $game_party.actors.size == 0 and @command_window.index < 4
# plays SE
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
# Select Item Screen
when 0
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Item.new
# Select Skill Screen
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Skill.new(0)#edit
#@status_window.index = 0 # no longer needed
# Select Equip Screen
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Equip.new(0)#edit ^,
#@status_window.index = 0 # no longer needed
# Select Status Screen
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
$scene = Scene_Status.new(0)#edit ^,^
#@status_window.index = 0 #no longer needed
# Select Save screen
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_End.new
return
end
end
#--------------------------------------------------------------------------
# Updating Status Screen
#--------------------------------------------------------------------------
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
loop do
if @command_window.y < 480
@command_window.y += 40
end
if @game_stats_window.x > 0 - @game_stats_window.width
@game_stats_window.x -= 40
end
if @map.y > 0 - @map.height
@map.y -= 40
end
if @status_window.x < 640
@status_window.x += 40
end
delay(0.5)
if @status_window.x >= 640
break
end
end
#$scene = Scene_Status.new(@status_window.index) #no longer needed
$scene = Scene_Status.new(0)# edit ^,^
end
return
end
end
end
end


hope this helps, maybe I'll make more scripting basics on my site and share what I 've learned as I learn....

This post has been edited by gameface101: Aug 4 2011, 11:11 PM


__________________________
Go to the top of the page
 
+Quote Post
   
TheCableGuy
post Aug 6 2011, 06:51 PM
Post #8


Level 5
Group Icon

Group: Member
Posts: 69
Type: Mapper
RM Skill: Beginner




Thank you very much. I'm starting to understand it now.

Question. Suppose someone would like to have 2 Status Screens... Or 2 pages of the status screen. From what I can gather is that the edits you posted draw the Data from the regular Status Screen and Displays it on the main Menu screen. Is there a Way to add a 2nd page (or edit the Menu Screen to display as the Primary Status and page 2 for secondary status?

Tell me if I'm on the right track.
My first thought is to make a Second "window_status" Script (renamed, of course) and make the Menu script call to that one when you select "Status" from the menu. Am I close?

Edit:
Or maybe reuse the Window_MenuStatus Script as we are now bypassing that one?

What would of happened if you were to change
CODE
class Window_MenuStatus < Window_Selectable


To
CODE
class Window_MenuStatus < Window_base


in the Window_MenuStatus Script? Would that just removed the Cursor Selector from the menu? Would probably need to do re-overhaul of the referring Scripts though.

This post has been edited by TheCableGuy: Aug 6 2011, 07:05 PM
Go to the top of the page
 
+Quote Post
   

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 19th June 2013 - 09:30 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker