The RPG Maker Resource Kit

RMRK RPG Maker Creation => XP => XP Scripts Database => Topic started by: Rune on February 23, 2008, 03:01:02 PM

Title: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on February 23, 2008, 03:01:02 PM
I'm back, with a new CMS too.
Again, only simple, take a look at the features:

Location window.
Display name of your game at the top.
Inlcude a logo for your game (No more than 220 x 288 pixels). I have used FFXII as an example.
Unlimited commands, any number over 6 will make the command window scrolling.

Spoiler for Screeny:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi163.photobucket.com%2Falbums%2Ft302%2Fpsychomathic-paniac%2FCMShot.jpg&hash=fecfd6c40c6bd21f61bb217312bab25b63ca1564)

Spoiler for Code:
Code: [Select]
#==============#
#=>  CMS #3  <=#
#=>   Rune   <=#
#=> Feb 2008 <=#
#==============#
$LOGO = RPG::Cache.picture("Logo")

$data_mapinfos = load_data('Data/MapInfos.rxdata')

class Window_Steps
  def initialize
    super(0, 0, 410, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
  contents.clear
  contents.font.color = system_color
  contents.draw_text(0, 0, 378, 32, 'Location', 1)
  contents.font.color = normal_color
  name = $data_mapinfos[$game_map.map_id].name 
  contents.draw_text(0, 32, 378, 32, name, 1)
  end
end

class Window_GName < Window_Base
  def initialize
    super(0, 0, 250, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 218, 32, "Insert Game Name Here", 1)
  end
end

class Window_GLogo < Window_Base
  def initialize
    super(0, 0, 250, 320)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, $LOGO, Rect.new(0, 0, 220, 288))
  end
end

class Window_MenuStatus < Window_Selectable
  def initialize
    super(0, 0, 230, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 40, y + 75)
      draw_actor_name(actor, x - 60, y - 5)
      draw_actor_class(actor, x - 20, y + 19)
      draw_actor_level(actor, x + 30, y - 5)
      draw_actor_state(actor, x + 54, y + 19)
      draw_actor_hp(actor, x - 16, y + 43)
      draw_actor_sp(actor, x - 16, y + 67)
    end
  end
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
  end
end

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    s1 = "Inventory"
    s2 = "Techniques"
    s3 = "Equipment"
    s4 = "Status"
    s5 = "Save Game"
    s6 = "Quit Game"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.x = 480
    @command_window.height = 32 * 7 + 1
    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
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 480
    @playtime_window.y = 288
    @steps_window = Window_Steps.new
    @steps_window.x = 230
    @steps_window.y = 384
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 224
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    @gnam_window = Window_GName.new
    @gnam_window.x = 230
    @gnam_window.y = 0
    @glog_window = Window_GLogo.new
    @glog_window.x = 230
    @glog_window.y = 64
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @gnam_window.dispose
    @glog_window.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update
    @gnam_window.update
    @glog_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      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)
        $scene = Scene_Save.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
  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)
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end

Your logo must be no bigger than 220 x 288 pixels, and must go inside your 'pictures' folder.
When inserting it, look for the first line of actual code in the script:
Code: [Select]
$LOGO = RPG::Cache.picture("Logo")
Change "Logo" to whatever your logo is called. Case sensitive. DO NOT REMOVE THE QUOTATION MARKS.
To change the logo in-game, simply use a call script command:
Code: [Select]
$LOGO = RPG::Cache.picture("Logo")
Do as above, change the text inside the quotation marks to the name of the logo you would like to change to.

That should be all, an' have fun ;) Post, or PM me if you have any troubles or queries.
Title: Re: A brand new, shiny CMS
Post by: Revo on February 23, 2008, 03:42:32 PM
Nice. I think I'll use it. I've been looking for a simple yet different CMS. ;D
Title: Re: A brand new, shiny CMS
Post by: Rune on February 23, 2008, 05:43:08 PM
Wow, didn't expect a reply so soon :P
Title: Re: A brand new, shiny CMS
Post by: modern algebra on February 23, 2008, 11:12:38 PM
Looks pretty nice. I'll throw it in the database
Title: Re: A brand new, shiny CMS
Post by: Gando on February 25, 2008, 07:22:37 PM
Looks nice, i like it!  :)
Title: Re: A brand new, shiny CMS
Post by: emidy on February 26, 2008, 09:51:23 AM
Yeah, I like it too. Simple but neat.
BTW, are there anyways to change the sprites to facesets or battlers?

If no, then it's fine. =)
Title: Re: A brand new, shiny CMS
Post by: Rune on March 04, 2008, 09:42:25 PM
Code: Faces in Menu [Select]
class Window_Base 
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.picture(actor.name + "_face")
    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


Insert that scriptlet above main, or in the menu script, at the top. The images should be around 96x96 pixels, should go in your project's Pictures folder, and should include the character's name, followed by "_face". E.g, "Aluxes_face"
Title: Re: A brand new, shiny CMS
Post by: emidy on March 06, 2008, 04:03:00 AM
Great. Thanks!
Title: Re: A brand new, shiny CMS
Post by: vath on March 07, 2008, 10:13:18 AM

Eh, Rune. What about my request a while ago?  :'(
*maybe i can use this. But can u remove "Save Game" selection from the menu screen?  ;)
Title: Re: A brand new, shiny CMS
Post by: Rune on March 07, 2008, 04:40:25 PM
I sent that to you :-\

Decide which one you want, and i'll send again ;)
Title: Re: A brand new, shiny CMS
Post by: vath on March 09, 2008, 04:12:58 AM
I sent that to you :-\

Decide which one you want, and i'll send again ;)
hwaa.. ? but i havent receive any script yet  ;9
*umn, i prefer the old one. coz it fit with your savepoint script ^_^
Title: Re: A brand new, shiny CMS
Post by: Rune on March 09, 2008, 10:15:57 AM
Okies then, i'll resend :P Sorry about that.
Title: Re: A brand new, shiny CMS
Post by: vath on March 11, 2008, 03:56:47 PM
Okies then, i'll resend :P Sorry about that.
Yay! It work perfectly!
*thanks, rune  :tpg:
Title: Re: A brand new, shiny CMS
Post by: Rune on March 11, 2008, 05:36:01 PM
You're welcome ;)
Title: Re: A brand new, shiny CMS
Post by: Klarth F. Lester on March 18, 2008, 07:23:18 AM
Sorry to bother you Rune-san but ummm... it doesn't work on mine.


I've put the pic iwanted for the logo following the pixel requirements and well I put it in my picture folder. and I wrote the name in the script all it says is "unable to find file Graphics/Pictures/Logo."

if you get some time.. can you help me out?


Thanks in advance ^^

EDIT: Nevermind sorry I got it now now Imma try to put faces instead of the ugly sprites...


Edit#2: Help same problem I did everything but it sez "Cannot find file Graphics/Pictures/AluxesAluxes_face, lol sorry I bother so much xD
xD
Title: Re: A brand new, shiny CMS
Post by: Rune on March 18, 2008, 10:21:23 PM
I don't think that's anything to do with the script :-\
Just make sure the files are named right. Did you mean to put 2 'Aluxes'? If that's what the error says then, check the name of that character to see if he hasn't got a duplicate name.

Other than that, I can't see what could be causing that :-\ Sorry...
Title: Re: A brand new, shiny CMS
Post by: Klarth F. Lester on March 19, 2008, 05:46:05 AM
I've tried everything... nothing works...

my image is 96x96 pixels, its in my projects picture folder. the actor name is Cless; I named the file Cless_face.bmp which is what you explained
Rune-san. I put the scriptlet inside the CMS on the top. and I put "Cless_face" just like you said... still says "Unable to find file Graphics/Pictures/ClessCless_face."

yes it says it twice... so does that mean i need to name my Actor "Cless_face"?

lol I dunno but it would be kinda weird eh?, umm if there is any way you can help me I would greatly appreciate it Rune-san ^^
Title: Re: A brand new, shiny CMS
Post by: Rune on March 19, 2008, 11:39:40 AM
Make sure the scriptlet says
Code: [Select]
    bitmap = RPG::Cache.picture(actor.name + "_face")
And doesn't repeat actor.name twice.
Title: Re: A brand new, shiny CMS
Post by: Klarth F. Lester on March 20, 2008, 02:05:06 AM
Code: [Select]
#==============#
#=>  CMS #3  <=#
#=>   Rune   <=#
#=> Feb 2008 <=#
#==============#
class Window_Base 
  def draw_actor_graphic(actor, x, y)
     bitmap = RPG::Cache.picture(actor.name + "Aluxes_face")
    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
$data_mapinfos = load_data('Data/MapInfos.rxdata')

class Window_Steps
  def initialize
    super(0, 0, 410, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
  contents.clear
  contents.font.color = system_color
  contents.draw_text(0, 0, 378, 32, 'Location', 1)
  contents.font.color = normal_color
  name = $data_mapinfos[$game_map.map_id].name 
  contents.draw_text(0, 32, 378, 32, name, 1)
  end
end

class Window_GName < Window_Base
  def initialize
    super(0, 0, 250, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 218, 32, "Nagi", 1)
  end
end

class Window_GLogo < Window_Base
  def initialize
    super(0, 0, 250, 320)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    bitmap = RPG::Cache.picture("Nagi")
    self.contents.blt(0, 0, bitmap, Rect.new(0, 0, 220, 288))
  end
end

class Window_MenuStatus < Window_Selectable
  def initialize
    super(0, 0, 230, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 40, y + 75)
      draw_actor_name(actor, x - 60, y - 5)
      draw_actor_class(actor, x - 20, y + 19)
      draw_actor_level(actor, x + 30, y - 5)
      draw_actor_state(actor, x + 54, y + 19)
      draw_actor_hp(actor, x - 16, y + 43)
      draw_actor_sp(actor, x - 16, y + 67)
    end
  end
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
  end
end

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    s1 = "Items"
    s2 = "Skills"
    s3 = "Equipment"
    s4 = "Status"
    s5 = "Save Game"
    s6 = "Quit Game"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.x = 480
    @command_window.height = 32 * 7 + 1
    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
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 480
    @playtime_window.y = 288
    @steps_window = Window_Steps.new
    @steps_window.x = 230
    @steps_window.y = 384
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 224
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    @gnam_window = Window_GName.new
    @gnam_window.x = 230
    @gnam_window.y = 0
    @glog_window = Window_GLogo.new
    @glog_window.x = 230
    @glog_window.y = 64
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @gnam_window.dispose
    @glog_window.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update
    @gnam_window.update
    @glog_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      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)
        $scene = Scene_Save.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
  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)
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end

that's the jig of it... the file name is Aluxes_face.bmp and is on my picture folder. I have tried several other methods and same thing happens...

sorry for being a pain in the ass... ><;; , lol I feel embarrased that many that used this script didn't have any problems.. and I'm the only idiot that does... xD
Title: Re: A brand new, shiny CMS
Post by: modern algebra on March 20, 2008, 02:24:50 AM
Yeah, that line there:

Code: [Select]
     bitmap = RPG::Cache.picture(actor.name + "Aluxes_face")

should be

Code: [Select]
     bitmap = RPG::Cache.picture(actor.name + "_face")
Title: Re: A brand new, shiny CMS
Post by: Klarth F. Lester on March 20, 2008, 03:04:36 AM
YAY~!!

Thanks Rune-san... you shall be golrified ny me for many decades to come and even my concubines xDD

thank you~!!! /ok
Title: Re: A brand new, shiny CMS
Post by: A13x on March 20, 2008, 10:14:56 AM
Perfect. not overdone, or oversimple. ill use it!
Title: Re: A brand new, shiny CMS
Post by: Rune on March 20, 2008, 11:32:11 PM
Thanks for the replies, and i'm glad your problem's sorted Klarth :D
Title: Re: A brand new, shiny CMS
Post by: Sx2 on March 23, 2008, 09:49:05 AM
I have 2 issues installing the script (imma noob)
1. Do I delete the current "window_steps" "window_menustatus" and "scene_menu"
2. I always get an error about the line "super(0, 0, 410, 96)"

Please help
Title: Re: A brand new, shiny CMS
Post by: Rune on March 23, 2008, 11:46:40 AM
1. You don't delete the current Window_Steps, but you do delete Window_MenuStatus. You replace the default Scene_Menu with the one I posted in the first post.
2. Did you delete the current Window_Steps already?
Title: Re: A brand new, shiny CMS
Post by: Sx2 on March 24, 2008, 07:11:33 AM
1. okay I wasn't sure.

2. yeah but I always make a back-up file so its fine

Thanks Rune for taking time to help a noobie.
Title: Re: A brand new, shiny CMS
Post by: Rune on March 24, 2008, 12:19:16 PM
No prob. 's what I do. ;)
Title: Re: A brand new, shiny CMS
Post by: Sx2 on March 25, 2008, 12:07:05 AM
ok I got it working but the characters Hp/Mp don't appear.
And the Game Title and Map Name don't appear
Help again
Title: Re: A brand new, shiny CMS
Post by: Rune on March 25, 2008, 09:59:28 AM
Does everything else show up? And do they show it with the Monotype Corsiva font?
If not, download the font (link in first post) and put it in your computer's 'Fonts' folder.
Title: Re: A brand new, shiny CMS
Post by: Demonic Blade on March 25, 2008, 01:55:44 PM
This is real nice and cool, and I have a question for it; Would it be possible to change the logo with a call script? Like to show change in chapters or to show that you've done something special like beaten the game...?
If not, still friggin' cool ;)
Title: Re: A brand new, shiny CMS
Post by: Revo on March 25, 2008, 06:13:21 PM
Rune, I should give you lots of love for this one. I was worried this wouldn't have support for more than 4 characters, but it does. I finally have a decent CMS that can support all 8 of my characters. :tpg:

[offtopic]Your avatar is awesome[/offtopic]
Title: Re: A brand new, shiny CMS
Post by: Rune on March 25, 2008, 08:10:07 PM
I never actually tried it with more than 4 characters :D
Glad you like it ;)

[offtopic]Thanks ;8[/offtopic]

@Demonic Blade
You're in luck! I updated the script just now. Look at the first post, and take the script off that ;)

Your logo must be no bigger than 220 x 288 pixels, and must go inside your 'pictures' folder.
When inserting it, look for the first line of actual code in the script:
Code: [Select]
$LOGO = RPG::Cache.picture("Logo")
Change "Logo" to whatever your logo is called. Case sensitive. DO NOT REMOVE THE QUOTATION MARKS.
To change the logo in-game, simply use a call script command:
Code: [Select]
$LOGO = RPG::Cache.picture("Logo")
Do as above, change the text inside the quotation marks to the name of the logo you would like to change to.
That'll solve your query ;)
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Sx2 on March 25, 2008, 09:37:41 PM
everything else shows up and I just got the font
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on March 25, 2008, 10:38:37 PM
Ugh, I have too many scripts xD
I got confused between two, this one doesn't use the font.

I'll look into what might be wrong :-\

~Edit
Post a screeny of what it looks like.
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Demonic Blade on March 26, 2008, 12:25:36 PM
Sweet. Now to tryin' it out...
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Sx2 on March 30, 2008, 02:39:35 AM
Ugh, I have too many scripts xD
I got confused between two, this one doesn't use the font.

I'll look into what might be wrong :-\

~Edit
Post a screeny of what it looks like.

ok here is the problem;

Spoiler for:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi230.photobucket.com%2Falbums%2Fee110%2FSx2_%2Ferrorcms.jpg&hash=2ffd30122b7714b6d2e55dd24f964df4ad978f22)
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on March 30, 2008, 11:39:26 AM
Post the script so I can compare it with the one I have. I'll see what's wrong.
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Innerdarkness14620 on May 12, 2008, 11:30:03 PM
I ran into a bug with this.  None of the Text is appearing in my menu whatsoever.  Anyone got any ideas?
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on May 13, 2008, 05:09:15 PM
Hmm... go into your main script and add in these lines just after begin, don't paste it over anything. -.-
Code: [Select]
  $fontface = "Tahoma"
  $fontsize = 22
If that fails, change $fontface and $fontsize to $defaultfonttype and $defaultfontsize.
If that also fails, inform me.
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Klarth F. Lester on May 23, 2008, 05:20:02 AM
Rune-sempai~!!


I don't know who else to turn to... ><


I have made a post of my problem in the troubleshooting site, but it has been useless... only you can help me...

is about this same CMS I need some help:

http://rmrk.net/index.php/topic,26630.0.html

thats the link to the other post... i would apreciate every bit of your help thanks so much~
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Blasphemy on June 23, 2008, 03:44:32 PM
Hey, first ; nice guide, the text and logo thing in the menu has given me a few possible ideas to make my game cooler.

But I'm having the same problem as Sx2.

I've attached a screenshot of what happens with me to this message. BTW the blackness isn't an error, I done that myself, but as you can see there is allot of text missing that should be there.
I'm only doing this as a bit of practice (as you can see from the game title xD), and then I'll probably have my own menu, but I want to use this one for a while.

Here is the code I'm using :

Code: [Select]
      return
    end
  end
  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)
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end

Could my problem be something to do with the fact that I deleted Window_(something) earlier on? (it's mentioned in one of your earlier posts that I have to delete it)?
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Blasphemy on June 23, 2008, 05:22:40 PM
Oh, I've fixed my little problem guys. For those of you who were also experiencing my problem, here's what to do :

Go into the script, and into Scene_Menu.
Now go down until you see
Code: [Select]
class Window_GName < Window_Base

Once you've found that, a little bit down should be :
Code: [Select]
self.contents = Bitmap.new(width - 32, height - 32)

Under that line, put this :
Code: [Select]

self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize

Now that's that, sorted. We have a font to display the text in the Game Name bit above the logo. Now for the characters... Go down until you find :
Code: [Select]
class Window_MenuStatus < Window_Selectable

And again, look for this under that bit of code :
Code: [Select]
self.contents = Bitmap.new(width - 32, height - 32)

And then put under that ;
Code: [Select]

self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize

Again. There we go.
I think the problem was that the game didn't know what font to use.

I done not bad for a total newb at this, huh?
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on June 23, 2008, 05:43:31 PM
Nice work. I had a strong feeling it was to do with the script not knowing which font to use. Thanks for posting your solution, but remember to use the edit post feature next time. ;)

One more tip, '$defaultfonttype' and '$defaultfontsize' could be replaced with '$fontface' and '$fontsize', or 'Font.default_type' and 'Font.default_size'. ;)
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Dlarhen on August 04, 2008, 03:25:38 PM
I like it, and I'm going to use it in my game.
But is there any way to get the text with the hero's current status out of the menu's first page or into another line? See, my heroes' classes' names are sort of long, and the "[Normal]" or "[Unconscious]" cover it.
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on August 06, 2008, 12:03:14 AM
Code: [Select]
#==============#
#=>  CMS #3  <=#
#=>   Rune   <=#
#=> Feb 2008 <=#
#==============#
$LOGO = RPG::Cache.icon("001-Weapon01")

$data_mapinfos = load_data('Data/MapInfos.rxdata')

class Window_Steps
  def initialize
    super(0, 0, 410, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
  contents.clear
  contents.font.color = system_color
  contents.draw_text(0, 0, 378, 32, 'Location', 1)
  contents.font.color = normal_color
  name = $data_mapinfos[$game_map.map_id].name 
  contents.draw_text(0, 32, 378, 32, name, 1)
  end
end

class Window_GName < Window_Base
  def initialize
    super(0, 0, 250, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 218, 32, "Insert Game Name Here", 1)
  end
end

class Window_GLogo < Window_Base
  def initialize
    super(0, 0, 250, 320)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, $LOGO, Rect.new(0, 0, 220, 288))
  end
end

class Window_MenuStatus < Window_Selectable
  def initialize
    super(0, 0, 230, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 40, y + 75)
      draw_actor_name(actor, x - 60, y - 8)
      draw_actor_class(actor, x - 20, y + 11)
      draw_actor_level(actor, x + 30, y - 8)
      draw_actor_state(actor, x - 20, y + 30)
      draw_actor_hp(actor, x - 20, y + 51)
      draw_actor_sp(actor, x - 20, y + 71)
    end
  end
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
  end
end

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    s1 = "Inventory"
    s2 = "Techniques"
    s3 = "Equipment"
    s4 = "Status"
    s5 = "Save Game"
    s6 = "Quit Game"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.x = 480
    @command_window.height = 32 * 7 + 1
    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
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 480
    @playtime_window.y = 288
    @steps_window = Window_Steps.new
    @steps_window.x = 230
    @steps_window.y = 384
    @gold_window = Window_Gold.new
    @gold_window.x = 480
    @gold_window.y = 224
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    @gnam_window = Window_GName.new
    @gnam_window.x = 230
    @gnam_window.y = 0
    @glog_window = Window_GLogo.new
    @glog_window.x = 230
    @glog_window.y = 64
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @gnam_window.dispose
    @glog_window.dispose
  end
  def update
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update
    @gnam_window.update
    @glog_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      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)
        $scene = Scene_Save.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
  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)
        $scene = Scene_Equip.new(@status_window.index)
      when 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end
There you go, if it still ain't enough, tell me. ;)
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Dlarhen on August 06, 2008, 05:12:14 AM
You're awesome, Rune. Thanks!
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: calebmoorehead on September 20, 2008, 02:39:51 AM
I'm having trouble scripting...mainly because I just started..
Okay here is what I get when I put the script in (https://rmrk.net/proxy.php?request=http%3A%2F%2Fi196.photobucket.com%2Falbums%2Faa245%2Faster527%2Fscripterror.png&hash=cf524ff2c66b2064c7fb64cb5719aa0ce788af65)
I put logo 200X200, cuz I made it and such. Title "Knights of Dranora"
Any help?

Oh, I think it might be this added script, but I need it...got a way of making it where both work? It's an additional Scene_Menu for a FFVII menu system that makes you recieve and use items differently.
Spoiler for:
#==============================================================================
# ? Scene_Menu
#==============================================================================

class Scene_Menu
 
  def main
    s1 = $data_system.words.item
    s2 = "Trade"
    s3 = $data_system.words.skill
    s4 = $data_system.words.equip
    s5 = "Status"
    s6 = "Save"
    s7 = "Exit"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    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)
      @command_window.disable_item(4)
    end
    if $game_system.save_disabled
      @command_window.disable_item(5)
    end
    @playstep_window = Window_PlayTimeStep.new
    @playstep_window.x = 0
    @playstep_window.y = 256
    @gold_window = Window_Gold.new
    @gold_window.x = 0
    @gold_window.y = 416
    @status_window = Window_MenuStatus.new
    @status_window.x = 160
    @status_window.y = 0
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @playstep_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
 
    def update
    @command_window.update
    @playstep_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        unless $game_party.actors.size > 1
        $scene = Scene_Item.new(@status_window.index)
        else
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
        end
      when 2
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 5
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 6
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      when 1#Code for opening trade menu
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Trade.new(0)
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  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 0
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new(@status_window.index)
      when 2
        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 3
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Equip.new(@status_window.index)
      when 4
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end
Title: Re: A brand new, shiny CMS [Update: Edit logo in-game]
Post by: Rune on October 03, 2008, 10:06:07 PM
The second script is obviously overwriting mine, I'll look into making them compatible and shizz. Sorry for the late reply, I haven't been able to access the internet for a few weeks. It's late at the moment, so I'll have a closer look at your problem tomorrow ;)