Okay, this is pretty much one easy as heck request for the moment. I just need a modification to my Title Menu from the Vertical one we get as a default and I need it changed to a Horizonal one (Look at Chaos Project if you need a reference).
I need this edit because the new title screen for Chaotic Fury doesn't give me much to work when I'm using a Vertical Menu, so I need the Horizontal, and it'd be pretty cool if, just like the CP one, it could have some form of depth (Like, a fadeout thingy).
CP title command is more than a horizontal command window. For the fading thing, you need an image overlay, scripts can't do it effectivey, or at all.
EDIT: If I remember correct, 'New Game+' appears even if it's disabled. I can correct that for you if you give me/link to the script you're using. I think you want it quickly for the next demo?
Yeah. As you can notice, it's changed from Chaotic Fury - Beyond Sanity to Chaotic Fury - Requiem of Sanity...
Well, the new title I designed needs this, and I think the default style title menu is a little bland.
I'm using a New Game+ script I got off Creation Asylum a looooooong time ago.
Here's the NGP Script:
#==============================================================================
# ¦ Scene_New_Game_Plus (coded by Deke)
# This purpose of this class is to allow the player to restart the game using saved characters if
# they have completed the game with that party.
#---------------------------------------------------------------------------------------------------------------------------------------------
# A new feature (small one) was added by myself (Dubealex) to enable a
# count of the number of times you finished the game.
# Copy the lines between my comments and paste them in your original script,
# or simply use that full one.
class Scene_New_Game_Plus<Scene_Load
#--------------------------------------------------------------------
def initialize
#You need to add the following line:
@game_completion_count=0
#ENd of the line to copy.
$game_temp = Game_Temp.new
$game_temp.last_file_index = 0
latest_time = Time.at(0)
for i in 0..3
filename = make_filename(i)
if FileTest.exist?(filename)
file = File.open(filename, "r")
if file.mtime > latest_time
latest_time = file.mtime
$game_temp.last_file_index = i
end
file.close
end
end
@help_text="Which file do you wish to continue?"
end
#-----------------------------------------------------------------------------
#This method checks to see if the selected game file has completed the game.
# (A completed game is indicated by turning switch 1 ON.)
def game_completed(filename)
file = File.open(filename, "rb")
read_save_data(file)
file.close
return($game_switches[1])
end
#------------------------------------------------------------------------------
#This method is identical to the one of the same name in the Scene_Load class, with the
#the added effect of reseting the maps, switches,...
def on_decision(filename)
unless FileTest.exist?(filename)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.load_se)
file = File.open(filename, "rb")
read_save_data(file)
file.close
if ! game_completed(filename)
$scene=Scene_New_Game_Plus.new
return
end
#New code to copy for the "Game Completion Count" feature.
#Begin copying here, and stop at my other comments.
#You also need to copy line #15, shown by a comment also.
@game_completion_count=$game_variables[1]
$game_variables = Game_Variables.new
$game_temp = Game_Temp.new
#$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
#$game_actors = Game_Actors.new
#$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
#$game_player = Game_Player.new
#$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$scene = Scene_Map.new
$game_system.bgm_play($game_system.playing_bgm)
$game_system.bgs_play($game_system.playing_bgs)
$game_map.update
$game_switches[1]=true #Since the switches were all reset, this one need to
#be turned back on to indicate the game was completed.
$game_variables[1]=@game_completion_count
#Stop copying new "Game Completion Count" here.
end
end
and here's the modified title menu code
#==============================================================================
# ¦ Scene_Title
#------------------------------------------------------------------------------
# New Game + EDITION
#==============================================================================
class Scene_Title
def main
if $BTEST
battle_test
return
end
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
s1 = "New Game"
s2 = "Continue"
s3 = "Shutdown"
s4 = "New Game Plus"
@command_window = Window_Command.new(192, [s1, s2, s3,s4])
@command_window.opacity = 255
@continue_enabled = true
@new_game_plus_enabled=false
#The next block of code allows some added customization to the title screen.
#---------------------------------------------------------------------------------------------------------------------------------------------
@command_window.x = 250 # distance in pixels from left side of scrren to upper left side of window
@command_window.y = 250 # distance in pixels from top of screen to top of window
@command_window.contents.font.size = $fontsize #Font size for items in the window
#(if letters are cropped increase window width at line 36)
@command_window.contents.font.name = $fontface #font face for window items
@command_text_color=Color.new(255,255,255,255) #custom 32 bit color for the SELECTABLE window items
#(disabled items displayed in the systmes "disabled" color
#---------------------------------------------------------------------------------------------
for i in 0..3
dummy_var=Scene_New_Game_Plus.new
filename = "Save#{i+1}.sav"
if FileTest.exist?(filename)
@continue_enabled = true
if dummy_var.game_completed(filename)
@new_game_plus_enabled=true
end
end
end
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
#-----------------------------------------------------------
def update
@command_window.update
if @continue_enabled==true
@command_window.draw_item(1,@command_text_color )
end
if @new_game_plus_enabled==true
@command_window.draw_item(3,@command_text_color )
else
@command_window.disable_item(3)
end
@command_window.draw_item(0,@command_text_color )
@command_window.draw_item(2,@command_text_color)
if Input.trigger?(Input::C)
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
when 3
command_new_game_plus
end
end
end
# ------------------------------------
def command_new_game
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
# ------------------------------------
def command_new_game_plus
unless @new_game_plus_enabled==true
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_New_Game_Plus.new
end
#---------------------------------------------------------------
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
# ------------------------------------
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
# ------------------------------------
def battle_test
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end
Will work on it now :)
EDIT: Replace only the title scene code with the one below. The NGP script doesn't need any changes.
#==============================================================================
# ¦ Scene_Title
#------------------------------------------------------------------------------
# New Game + EDITION
#==============================================================================
class Scene_Title
def main
if $BTEST
battle_test
return
end
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
@continue_enabled = true
@new_game_plus_enabled=false
(0..3).each {|i|
dummy_var=Scene_New_Game_Plus.new
filename = "Save#{i+1}.sav"
if FileTest.exist?(filename)
@continue_enabled = true
if dummy_var.game_completed(filename)
@new_game_plus_enabled=true
end
end
}
s1 = "New Game"
s2 = "Continue"
s3 = "Shutdown"
s4 = "New Game Plus"
cmds = [s1, s2, s3]
cmds.push(s4) if @new_game_plus_enabled
@command_window = Window_Command.new(192, cmds)
@command_window.opacity = 255
#The next block of code allows some added customization to the title screen.
#---------------------------------------------------------------------------------------------------------------------------------------------
@command_window.x = 250 # distance in pixels from left side of scrren to upper left side of window
@command_window.y = 250 # distance in pixels from top of screen to top of window
@command_window.contents.font.size = $fontsize #Font size for items in the window
#(if letters are cropped increase window width at line 36)
@command_window.contents.font.name = $fontface #font face for window items
@command_text_color=Color.new(255,255,255,255) #custom 32 bit color for the SELECTABLE window items
#(disabled items displayed in the systmes "disabled" color
#---------------------------------------------------------------------------------------------
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
#----------Draw different colored text--------------------------------------
@command_window.draw_item(0,@command_text_color) # New Game
@command_window.draw_item(1,@command_text_color ) if @continue_enabled # Continue
@command_window.draw_item(2,@command_text_color) # Exit
@command_window.draw_item(3,@command_text_color) if @new_game_plus_enabled # NG+
#--------------------------------------------------------------------------------
$game_system.bgm_play($data_system.title_bgm)
Audio.me_stop
Audio.bgs_stop
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@sprite.bitmap.dispose
@sprite.dispose
end
#-----------------------------------------------------------
def update
@command_window.update
if Input.trigger?(Input::C)
case @command_window.index
when 0
command_new_game
when 1
command_continue
when 2
command_shutdown
when 3
command_new_game_plus
end
end
end
# ------------------------------------
def command_new_game
$game_system.se_play($data_system.decision_se)
Audio.bgm_stop
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
$game_map.autoplay
$game_map.update
$scene = Scene_Map.new
end
# ------------------------------------
def command_new_game_plus
unless @new_game_plus_enabled==true
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_New_Game_Plus.new
end
#---------------------------------------------------------------
def command_continue
unless @continue_enabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
end
# ------------------------------------
def command_shutdown
$game_system.se_play($data_system.decision_se)
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = nil
end
# ------------------------------------
def battle_test
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
Graphics.frame_count = 0
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
$game_party.setup_battle_test_members
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
$game_system.se_play($data_system.battle_start_se)
$game_system.bgm_play($game_system.battle_bgm)
$scene = Scene_Battle.new
end
end
May I make a suggestion? The NGP script is not the best of the ones I've seen, it's really messed up. Try finding others if you can.
Um...New Game+ Isn't appearing
It appears if it's enabled, instead of appearing all the time but disabled.
EDIT:
Paste this:
@new_game_plus_enabled = $DEBUG
just above the lines
s1 = "New Game"
s2 = "Continue"
.
.
and the option will appear during debug mode.
Still not working, it wont start up NewGame+ when I have the switch turned on. I've got like, two save files with the New Game + Switch turned on, and none of them are starting up.
I think I see the problem, hang on...
EDIT: It was not what I thought, and it worked fine for me.
Also once this is all done ect you might want to edit these out that is unless want open to public or just for ur game GAX
I'm okay with keeping the modified New Game Plus script available, it's been in need of tweaking for a while.
The only one I might remove is the vertical menu when it's done, but that might stay open to public too, you never know.
sorry what do you need now?
Just checking if anyone's been working on this.
I have a bitchin title screen in the works for Chaotic Fury, but I need this kind of menu setup for it to work right.
I know how to swap it between horizontal and vertical but do you want a command window or just images like the MOG title screen?
I think Images would look better
yeah same I'll get to work for u might have up in couple days hopefully but I dnt think I'll be able to help u with the newgame+ stuff
Moving images are an easy solution, nice :) I'll take care of the NGP if you can't do it but do try Nortos.
here's the moving images on x axis insead of y Fantasist can edit it further with the new game plus stuff cos I wasn't sure what was wrong with that I haven't really looked at it
http://www.sendspace.com/file/eyigd3 (http://www.sendspace.com/file/eyigd3)
To change the images for words just go to the top and it'll say BG_Words_Exit = "" or BG_Words_NewGame = "" you just put your pic into the titles folder of your game folder and write the name of the pic inside the quotation marks remember to make the image of the writing 640x480 as it's the easiest way
Well, that's fine and all...BUT YOU ENCRYPTED THE FILE SO YOU CAN'T GET INTO THE SCRIPTS >.<
wtf I don't remember...sorry lol k I'm uploading new one...
EDIT:
here it's http://www.sendspace.com/file/67849i (http://www.sendspace.com/file/67849i)
Hmm, it's pretty good honestly, but there are some flaws I've seen with this, and they're pretty big.
First one, is that the images are unnecessarily large, you don't need to use 640x480 with the positions marked. I don't know much into scripting, but I think it would be easier to instead use an image depicting each selection (This is what I'm guessing is within Blizzard's modified Title Menu that he's using for CP), the images are set up not really to zoom in and out, but instead they just move left and right, and work like they're in a circle, so they can be swapped around and the selections can loop. The other part I've figured from the last forum through Blizzard's showing off of how the images are set up on his title screen. There is an image that fades in a gradient, from a semi-transparency that is white to the transparent color. That is coded to appear over the pictures that are being used for selections, but the title screen itself is unaffected by the gradient picture.
What I was shooting for was a clone of the one that's in Chaos Project, mainly because it was perfectly executed and holds exactly what I was looking for. I'm probably going to look through the script you wrote yourself sooner or later, and it's a pretty good shot.
k ty, oh and I'm pretty sure Blizz did do the full screen pic, you can just make the writing a lot smaller, but it's the easiest way especially when I'm doing it for you as I can't be sure how big ect you want it, also if you would like to make the overlaying image I'm pretty sure I could do it for you
More:
The New Game Plus doesn't work (That's a simple one, but maybe it's just setup differently on, I'll work on that aspect later, but there is more important stuff).
There is no way to tell if an option is disabled or not. With my afforementioned style that I gave, the selections would also have possible for multiple images. An example is this. New Game and Shut Down can't be disabled, so they would have only one image, but Continue and New Game + would have 2 images, or a more user-friendly option would to just make it so they don't appear at all.
I dunno regarding the thing about Blizz using fullscreen images, we'd have to ask him.
it seems easiest way to me, but anyway about NEW Game Plus I thought I'd leave FTS to that I'm still learning and would probably waste time with it, and yeah New Game Plus is visible but I don't think is too hard to disable though I can't do it :(
EDIT: Btw now that u got dwld wnt me to edit out the link? FTS may want it to help you if he does
In fact I use a window. I draw each command in the center, one left and one right. Then I move the window and it it gets "out of range", I increase or decrease the x value by a specific number, so the next set starts being shown. That creates an effect of cycling. I figured that one slightly bigger window (I draw only 2 or 3 commands off to the left and right) would cause less lag that a couple of sprites. This comes in handy especially now when I decided to use a slightly animated title. Again, I don't use like a couple of images, but an animation from the database on an invisible sprite to prevent lag as much as possible. ^_^
But I suggest you try it with images, it's more convenient that way and less likely to bug. I've had quite some troubles with making mine.
Yeah, Blizzard uses text, outlines text with the font 'Brush Script', got to love that. Anyway, I'll look into it now.
Right, you have CP's scripts, I completely forgot.
No, I recognized it way earlier and knew for sure it was text. I also wondered how you coded the fading at the edges.
I posted it on the old CP. I simply used another image, identical to the title one, but with an opacity gradient to the center. The window is actually covered by an image.
Yeah, I knew. I remember the discussion in old CP, but I realized the instant I saw your Titles folder.
lol, I was looking through my computer and I found the OLD beta test of the Final Demo for Chaos Project XD...
That was ages ago. I have way more scripts now in there. <_<;
Yeah, I realize that...I mean, this copy doesn't even have the CPCMS or the Title Menu changes. I'm honestly getting a kick out of how heavily the game has changed over its development.
Or battle changes. (-_-')
lol, I thought I said...whoops! I wrote CMS instead of CBS...my bad...
QuoteOr battle changes. (-_-')
Awesome battle changes btw ^_^
@Nortos: lol! I checked your script and what you did can qualify as a 'Different Images for title screen options' script :)
@GAX: I've started working on the title scene, shouldn't be long now.
:P yeah I thought of Blizz's way even though didn't know he did it with windows, but it would of been uber hard with windows...
One window, it's just one window class.
Argh! Getting the sprites to loop's turning out painful to my head :X I decided to go for a plane with a bitmap forged from individual pics, but something seems off, it's too 'fixed', like, I can't grey the disabled continue. It seems easier somehow with text than sprites. Is there another thing I could do instead?Just wanted to know before going all out on it GAX.
Instead of graying out make the opacity 128. To do so, use the .blt method like usual and add 128 as another argument.
opacity change would work fine would be simple to and I think text still would of been hard images r easier with the actor_command index
My actual problem was, when there are 3 options, if one option fades away to the left, it should fade in from the right at the same time and I still can't get that to work.
Whene there are 3 options, you need to draw 5, even if the are duplicates.
I guess there's no other way, I'll have an other go then.
Bumpity Bump Bump
I'm currently inactive :P
(sorry... -_-')