[XP] Stormtronics CMS

Started by Blizzard, January 09, 2008, 04:00:35 pm

Previous topic - Next topic

Mightylink

Blizzard... you are a GOD!

Works perfectly, finally I can bitch slap this aside and move on with my game, thank you :)

Darok

Hi, i have a problem with the Items, everytime i go to items and press an time apear this:



All the others options works perfectly, and i have a question, is necessary to have Tons? If you say yes, you are the master, not me, i will have every script you say is good :P :P

Blizzard

No, Tons is not necessary. This seems to be a problem with another script since it doesn't actually seem to be having anything to do with the CMS. Do you have your scripts in the right order? http://forum.chaos-project.com/index.php?topic=23.0 If yes, make a demo and I will take a look at it.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

May 19, 2009, 04:46:13 am #163 Last Edit: May 19, 2009, 05:16:02 am by reaper72004
Great Script.. had a prob though.. im using charlie lee's ctb along with your script and it was working fine but as soon as i put the your tons of add-on's in and went to the option's menu I got this error.. "note" that all the other menu's worked.


I started looking to see what the problem was I couldn't figure it out so as a temp fix I went to line 1082 and did this:

changed this:
@font_name = $game_system.fontname

to this:
@font_name = "Arial"


**Off Topic**
Oh and some useful info for other people that use charlie lee's ctb and tons of add-on's. You will need to comment out facesets and death image in tons

Blizzard

Quote# Compatibility:
#
#   97% compatible with SDK v1.x. 80% compatible with SDK v2.x. Glitchs with
#   Fukuyama's Caterpillar script (but not with mine). Designed only for 8
#   elements. WILL corrupt old savegames.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

May 19, 2009, 09:07:56 am #165 Last Edit: May 19, 2009, 10:44:47 am by reaper72004
Would this be why a custom skill scene replace's the status menu too...

  when 3
        if @actor.restriction >= 2
          $game_system.se_play($data_system.buzzer_se)
        else
          $game_system.se_play($data_system.decision_se)
          if BlizzCFG::CUSTOM_SKILL_SCENE <--------------------
            @scene = Scene_Skill.new(@actor_index)
          else
            @skill_window = Window_CMSSkill.new(@actor)
            @skill_window.help_window = @help_window
            @help_window.visible = true
            @help_window.x, @help_window.y = -768, 0
            @status_windows.each {|win| win.active = false}
          end
        end
      when 4
        $game_system.se_play($data_system.decision_se)
        if BlizzCFG::CUSTOM_SKILL_SCENE <----------------------
          @scene = Scene_Status.new(@actor_index)
        else
          @playerstatus_window = Window_CMSStatus.new(@actor)
          @status_windows.each {|win| win.active = false}
        end
      end



And I need some help...
Where would I put these codes in your cms:


class Scene_Status
  alias sa_update update
  def update
    if Input.trigger?(Input::SHIFT)
      @actor.toggle_superart_type
      @status_window.refresh
      return
    end
    sa_update
  end
end

class Window_Status
  alias sa_refresh refresh
  def refresh
    sa_refresh
    # Superarts
    actor=@actor
    return if !actor.has_superarts?
    x=300
    y=0
      temp_fontsize=self.contents.font.size
      temp_fontbold=self.contents.font.bold
      self.contents.font.size = 12
      bar_sa=Bar.new(x,y+16,200,4,self.contents)
      bar_sa.back_opacity=200
      bar_sa.bar="bar"
      bar_sa.bar_background="bar_hp_bg"
      bar_sa.highlight_complete = true
      bar_sa.bar_complete = "bar complete - superarts"
      bar_sa.refresh(actor.super_arts_points,SUPER_ARTS_MAX)
      self.contents.draw_text(x,y,200,24,"SUPERARTS GAUGE")
      self.contents.draw_text(x,y+16,200,24,"SUPERARTS TYPE: "+
      actor.superart_type_s)
      self.contents.blt(x+140,y+20,RPG::Cache.picture("shift"),
      Rect.new(0, 0, 28, 12))
      self.contents.draw_text(x+170,y+16,60,24,": change")
      self.contents.font.size=temp_fontsize
      self.contents.font.bold=temp_fontbold
  end
end

class Window_MenuStatus < Window_Selectable
  alias sa_refresh refresh
  def refresh
    sa_refresh
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      next if !actor.has_superarts?
      x = 64+236
      y = i * 116
      temp_fontsize=self.contents.font.size
      temp_fontbold=self.contents.font.bold
      self.contents.font.size = 12
      bar_sa=Bar.new(x,y+16,100,4,self.contents)
      bar_sa.back_opacity=200
      bar_sa.bar="bar"
      bar_sa.bar_background="bar_hp_bg"
      bar_sa.highlight_complete = true
      bar_sa.bar_complete = "bar complete - superarts"
      bar_sa.refresh(actor.super_arts_points,SUPER_ARTS_MAX)
      self.contents.draw_text(x,y,200,24,"SUPERARTS GAUGE")
      self.contents.draw_text(x,y+16,200,24,"SUPERARTS TYPE: "+
      actor.superart_type_s)
      self.contents.font.size=temp_fontsize
      self.contents.font.bold=temp_fontbold
    end
  end
end

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

May 19, 2009, 05:42:05 pm #167 Last Edit: May 20, 2009, 12:21:39 am by Curly Brace (SRK86)
Quote from: Blizzard on May 19, 2009, 03:07:26 pm
http://forum.chaos-project.com/index.php?topic=23.0



Yes, I've looked at the order of the scripts only thing i have diff is i have ton's above the ctb i have the bestairy and custom end menu below the ctb to get the monster and encounter data but your cms is the last. I have it this way for compatibility reasons.

Anywho  all this does is it draws a superart bar in the menu by the char and in the status window, and when in the status window when u press shift it changes your super arts type like from rage to pain..etc. I can get the code to splice in with your menu but the prob im haveing is getting sa_refresh refresh to work or when i comment out the alias and the sa_refresh another error accours when i goto status window and press shift i get a error at @window_cmsstatus.refresh .  At the moment im only trying get this to work in the cmsstatus screen.. here's how i have the code for it:


#==============================================================================
# Window_CMSStatus
#==============================================================================

class Window_CMSStatus < Window_Base

  def initialize(actor)
    @background = 'CMSFullscreen'
    super(0, 512, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor, self.active, self.z = actor, true, 2999
    refresh
  end
  alias sa_refresh refresh
  def refresh
    self.contents.clear
    ###
    sa_refresh
    # Superarts
    actor=@actor
    return if !actor.has_superarts?
    x=400
    y=200
      temp_fontsize=self.contents.font.size
      temp_fontbold=self.contents.font.bold
      self.contents.font.size = 12
      bar_sa=Bar.new(x,y+16,200,4,self.contents)
      bar_sa.back_opacity=200
      bar_sa.bar="bar"
      bar_sa.bar_background="bar_hp_bg"
      bar_sa.highlight_complete = true
      bar_sa.bar_complete = "bar complete - superarts"
      bar_sa.refresh(actor.super_arts_points,SUPER_ARTS_MAX)
      self.contents.draw_text(x,y,200,24,"SUPERARTS GAUGE")
      self.contents.draw_text(x,y+16,200,24,"SUPERARTS TYPE: "+
      actor.superart_type_s)
      self.contents.blt(x+140,y+20,RPG::Cache.picture("shift"),
      Rect.new(0, 0, 28, 12))
      self.contents.draw_text(x+170,y+16,60,24,": change")
      self.contents.font.size=temp_fontsize
      self.contents.font.bold=temp_fontbold
    ###
   
    self.contents.font.color = normal_color
    self.contents.draw_text(224, 0, 120, 32, @actor.name, 1)
    draw_actor_battler(@actor, 284, 232)
    draw_actor_class(@actor, 400, 32)
    draw_actor_level(@actor, 400, 0)
    draw_actor_state(@actor, 400, 64, 168)
    draw_actor_hp(@actor, 400, 92, 172)
    draw_actor_sp(@actor, 400, 122, 172)
    if $crls
      if BlizzCFG::DRAW_SR_BAR
        draw_actor_sr_with_bar(@actor, 400, 152, 172)
      else
        draw_actor_sr(@actor, 400, 152, 172)
      end
      draw_actor_exp(@actor, 400, 182, 172)
    else
      draw_actor_exp(@actor, 400, 152, 172)
    end
    (0..7).each {|i| draw_actor_parameter(@actor, 4, i*28, i)}
    self.contents.font.color = system_color
    w = self.contents.text_size('Elemental Vulnerability').width
    self.contents.draw_text(365, 244, w, 32, 'Elemental Vulnerability')
    self.contents.font.size -= 4
    draw_actor_element_vulnerability(@actor, 320, 268)
    self.contents.font.size += 4
    self.contents.font.color = system_color
    self.contents.draw_text(84, 244, 96, 32, 'Equipment')
    self.contents.draw_text(4, 276, 96, 32, $data_system.words.weapon)
    self.contents.draw_text(4, 308, 96, 32, $data_system.words.armor1)
    self.contents.draw_text(4, 340, 96, 32, $data_system.words.armor2)
    self.contents.draw_text(4, 372, 96, 32, $data_system.words.armor3)
    self.contents.draw_text(4, 404, 96, 32, $data_system.words.armor4)
    equips = [$data_weapons[@actor.weapon_id], $data_armors[@actor.armor1_id],
        $data_armors[@actor.armor2_id], $data_armors[@actor.armor3_id],
        $data_armors[@actor.armor4_id]]
    equips.each_index {|i|
        if @actor.equippable?(equips[i])
          draw_item_name(equips[i], 108, 276 + i*32)
        else
          self.contents.font.color = (i == 0 ? knockout_color : crisis_color)
          self.contents.draw_text(108, 276 + i*32, 192, 32, 'Nothing equipped')
        end}
  end
 
  def update_actor(actor)
    @actor = actor
    refresh
  end
 
end


And heres a pic to to show it in the status screen
Spoiler: ShowHide

1 is the guage its self
2 is the superarts type: rage  when you press shift its supposed to change to a diff type

now like i said earlier in the post i can comment out the alias sa_refresh refriesh , sa_refresh and it shows and i go down to where the @window_cmsstatus.refresh and take out the .refresh from that line i get no errors but it doesn't refresh the superarts type when pressing shift. to get it to refresh i would have to leave the status screen then go back in.

Hopefully this is detailed enough that you get the idea of what im talking about..

Blizzard

May 19, 2009, 06:17:20 pm #168 Last Edit: May 19, 2009, 06:18:28 pm by Blizzard
Ok, there are a few things you should know. You don't need to make a custom scene for the status screen. It should be enough if you just edit the window. You can safely turn off CUSTOM_STATUS_SCENE.

Now the next thing. Your script goes under STCMS. Alias update_playerstatus and add a handling for the SHIFT button. The current actor shown on the screen is stored in the variable @actor and the status window is in @playerstatus_window. Remember to add a refresh call in the SHIFT handling.

The last thing to do is to edit refresh of Window_CMSStatus as you already did. First call the original method, then do your additional code. You don't need to copy paste any of my code and you don't need to use self.contents.clear.

class Window_CMSStatus
 
  alias refresh_superarts_alias refresh
  def refresh
    refresh_superarts_alias
    # your drawing code here
  end
 
end

class Scene_Menu
 
  alias update_playerstatus_superarts_alias update_playerstatus
  def update_playerstatus
    if Input.trigger?(Input::SHIFT)
      #@actor.superarts = X
      #all the other stuff you might need here
      @playerstatus_window.refresh
    else
      update_playerstatus_superarts_alias
    end
  end
 
end


You can use this skeleton and just add the drawing code that you need. It's not complicated. Also, if you want a bar, you can either do it yourself, or you can call the bar drawing method from Tons of Add-ons.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

May 19, 2009, 06:39:17 pm #169 Last Edit: May 20, 2009, 12:45:22 am by reaper72004
:) your the man..tyvm
oh and it has a bar it just blind's in well  :D

ok one more problem.. i added this:

class Window_CMSMenuStatus
 
  alias refresh_superarts_alias refresh
  def refresh
    refresh_superarts_alias
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      next if !actor.has_superarts?
      x = 64+236
      y = i * 116
      temp_fontsize=self.contents.font.size
      temp_fontbold=self.contents.font.bold
      self.contents.font.size = 12
      bar_sa=Bar.new(x,y+16,100,4,self.contents)
      bar_sa.back_opacity=200
      bar_sa.bar="bar"
      bar_sa.bar_background="bar_hp_bg"
      bar_sa.highlight_complete = true
      bar_sa.bar_complete = "bar complete - superarts"
      bar_sa.refresh(actor.super_arts_points,SUPER_ARTS_MAX)
      self.contents.draw_text(x,y,200,24,"SUPERARTS GAUGE")
      self.contents.draw_text(x,y+16,200,24,"SUPERARTS TYPE: "+
      actor.superart_type_s)
      self.contents.font.size=temp_fontsize
      self.contents.font.bold=temp_fontbold
    end
  end
end


to the above parts you told me and when i start game and goto status and change super arts type then go back to the menu the type that it show's there doesn't change guess i forgot to put a refresh somewhere, also when i exit the menu and go back into the menu all the actors have the same super arts type when i only changed the first one. any suggestions

here's a pic to see:
Spoiler: ShowHide


ok i fixed where all the actors super arts where changeing when i changed one  replaced this actor = $game_party.actors with this @actor = actor

now all i need is to figure out how to refresh the main menu when i exit the status screen

Oh.. I also forgot to mention I never had CUSTOM_STATUS_SCENE turned on I was simply pointing out a bug.. from when you turn on CUSTOM_SKILL_SCENE the custom status scene gets turned on too cause line 2242 and line 2254 are the same when line 2254 should be:  if BlizzCFG::CUSTOM_STATUS_SCENE

Blizzard

I made a mistake. ;_; It's not "Window_CMSStatus" but "Window_CMSPlayerStatus". >.<

I'll fix the bug.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

.... that doesn't mean i have to download the fixed version does it

Blizzard

No. You can keep using yours and fix the bug yourself.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

k good lol done too much work on it allready   :^_^': any idea on how i can refresh the menu screen when i leave the status window


Blizzard

Sure.

  alias update_playerstatus_superarts_alias update_playerstatus
  def update_playerstatus
    if Input.trigger?(Input::SHIFT)
      #@actor.superarts = X
      #all the other stuff you might need here
      @playerstatus_window.refresh
    else
      # add from here
      if Input.trigger?(Input::B)
        @status_windows.each {|win| win.refresh}
      end
      # to here
      update_playerstatus_superarts_alias
    end
  end
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

Woot your the man  :bow: thanks alot

oh here's a pic of the menu after i made some @commands edits
Spoiler: ShowHide

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

Thx: had to do some editing to the info window but it looks good i think. Haven't added a quest book yet though, can't find a good one thats easy to use and good looking.

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

reaper72004

May 20, 2009, 11:49:13 am #179 Last Edit: May 21, 2009, 02:28:04 am by reaper72004
yeah i tried his and i tried to make my own quest and failed lol guess i could try again though.
right now im trying to find some font's ^^ ... 15 fonts out of 323
kinda sorta figured out Zeriab's quest book..

k need some help again, I'm trying to add a font size option in the options menu.. this is what I got so far.

This is under the BlizzCFG :
Spoiler: ShowHide
CMS_FONT_SIZE = [14, 16, 18, 20, 22, 24, 26, 28]


This is the edited options window :
Spoiler: ShowHide

#==============================================================================
# Window_CMSOptions
#==============================================================================

class Window_CMSOptions < Window_Selectable

  attr_accessor :current_font
  attr_accessor :current_fontsize
  attr_reader   :current_skin
  attr_reader   :skin_name
  attr_reader   :font_name
  attr_reader   :fontsize
 
  def initialize
    @background = 'CMSFullscreen'
    super(0, 512, 640, 480)
    @commands = ['BGM Volume', 'SFX Volume', 'Battle BGM']
    @commands.push('Battle Cam') if BlizzCFG::CAM_AVAILABLE
    @commands.push('Bar Style', 'Bar Opacity') if $Blizz_Art
    @commands.push('Font', 'Font Size', 'Windowskin')
    get_skin_and_font
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z, self.index = 2999, 0
    @item_max = @commands.size
    refresh
  end
 
  def get_option
    return @commands[index]
  end
 
  def refresh
    self.contents.clear
    self.contents.font.name = $game_system.fontname
    (0...@item_max).each {|i|
        self.contents.font.color = normal_color
        self.contents.fill_rect(24, 16 + i*36, 192, 32, Color.new(0, 0, 0, 0))
        self.contents.draw_text(24, 16 + i*36, 192, 32, @commands[i])
        draw_arrows(288, 4 + i*36)
        case @commands[i]
        when 'BGM Volume' then draw_volume(288, 4 + i*36)
        when 'SFX Volume' then draw_volume(288, 4 + i*36, true)
        when 'Battle BGM' then draw_battle_bgm(288, 4 + i*36)
        when 'Battle Cam' then draw_battle_cam(288, 4 + i*36)
        when 'Bar Style' then draw_style(288, 4 + i*36)
        when 'Bar Opacity' then draw_opacity(288, 4 + i*36)
        when 'Font' then draw_font(288, 4 + i*36)
        when 'Font Size' then draw_fontsize(288, 4 + i*36)
        when 'Windowskin' then draw_skin(288, 4 + i*36)
        end}
  end
     
  def draw_arrows(x, y)
    self.contents.draw_text(x - 32, y + 13, 32, 32, '<<')
    self.contents.draw_text(x + 249, y + 13, 32, 32, '>>')
  end
 
  def draw_volume(x, y, mode = false, width = 224)
    volume = (mode ? $game_system.sfx_volume.to_f : $game_system.bgm_volume.to_f)
    vol = volume.to_f / 100
    color1 = Color.new(20, 40, 80, 192)
    color2 = Color.new(60, 120, 240, 192)
    color3 = Color.new(0, 0, 80, 192)
    old, $game_system.bar_opacity = $game_system.bar_opacity, 255 if $Blizz_Art
    self.contents.gradient_bar(x, y, width, color1, color2, color3, vol, true)
    $game_system.bar_opacity = old if $Blizz_Art
  end
 
  def draw_style(x, y, width = 224)
    color1 = Color.new(80, 80, 0, 192)
    color2 = Color.new(240, 240, 0, 192)
    self.contents.gradient_bar(x + 32, y, width - 64, color1, color2, color1, 1, true)
  end
 
  def draw_battle_bgm(x, y, width = 224)
    bgm = BlizzCFG::BATTLE_BGMS[$game_variables[BlizzCFG::BGM_Variable]][3]
    if $game_switches[BlizzCFG::BGM_Lock] || BlizzCFG::BATTLE_BGMS.size <= 1
      self.contents.font.color = Color.new(0, 0, 0, 255)
      self.contents.draw_text(x+1, y + 13+1, 224, 32, bgm, 1)
      self.contents.font.color = disabled_color
    else
      self.contents.font.color = normal_color
    end
    self.contents.draw_text(x, y + 13, 224, 32, bgm, 1)
  end
 
  def draw_battle_cam(x, y, width = 224)
    cam = ($game_variables[BlizzCFG::CAM_Variable] == 0 ? 'ON' : 'OFF')
    self.contents.draw_text(x, y + 13, 224, 32, cam, 1)
  end
 
  def draw_opacity(x, y, width = 224)
    alpha = case $game_system.bar_opacity
    when 0 then 'No Bar'
    when 1..85 then 'Light'
    when 86..170 then 'Medium'
    when 171..254 then 'Hard'
    when 255 then 'Full'
    end
    self.contents.draw_text(x, y + 13, 224, 32, alpha, 1)
  end
 
  def draw_font(x, y, width = 224)
    @font_name = BlizzCFG::CMS_FONTS[@current_font]
    self.contents.font.name = @font_name
    self.contents.draw_text(x, y + 13, 224, 32, @font_name, 1)
    self.contents.font.name = $game_system.fontname
  end
 
  def draw_fontsize(x, y, widthe = 224)
    @fontsize = BlizzCFG::CMS_FONT_SIZE[@current_fontsize]
    self.contents.font.size = @fontsize
    self.contents.draw_text(x, y + 13, 224, 32, @fontsize, 1)
    self.contents.font.size = $game_system.fontsize
  end
 
 
  def draw_skin(x, y, width = 224)
    @skin_name = BlizzCFG::CMS_SKINS[self.current_skin]
    self.contents.draw_text(x, y + 13, 224, 32, @skin_name, 1)
    self.contents.fill_rect(x + 48, y +428, 128, 128, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.windowskin(@skin_name)
    self.contents.blt(x + 50, y + 50, bitmap, Rect.new(2, 2, 124, 124))
    self.contents.blt(x + 48, y + 48, bitmap, Rect.new(128, 0, 16, 16))
    self.contents.blt(x + 160, y + 48, bitmap, Rect.new(176, 0, 16, 16))
    self.contents.blt(x + 48, y + 160, bitmap, Rect.new(128, 48, 16, 16))
    self.contents.blt(x + 160, y + 160, bitmap, Rect.new(176, 48, 16, 16))
    (2..4).each {|i|
        self.contents.blt(x+i*32, y+48, bitmap, Rect.new(144, 0, 32, 16))}
    (2..4).each {|i|
        self.contents.blt(x+i*32, y+160, bitmap, Rect.new(144, 48, 32, 16))}
    (2..4).each {|i|
        self.contents.blt(x+48, y+i*32, bitmap, Rect.new(128, 16, 16, 32))}
    (2..4).each {|i|
        self.contents.blt(x+160, y+i*32, bitmap, Rect.new(176, 16, 16, 32))}
  end
 
  def current_skin
    return (@current_skin == nil ? 0 : @current_skin)
  end
 
  def current_skin=(val)
    @current_skin = (val.is_a?(Numeric) ? val : 0)
  end
 
  def get_skin_and_font
    @font_name = "Arial"
    @current_font = BlizzCFG::CMS_FONTS.index(@font_name)
    @fontsize = 24
    @current_fontsize = BlizzCFG::CMS_FONT_SIZE.index(@fontsize)
    @skin_name = $game_system.windowskin_name
    self.current_skin = BlizzCFG::CMS_SKINS.index(@skin_name)
  end
 
  def update_cursor_rect
    if self.index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(16, @index*36 + 16, 128, 32)
    end
  end
 
end


And this is under def update_options :
Spoiler: ShowHide

    when 'Font Size'
      if Input.repeat?(Input::RIGHT)
        $game_system.se_play($data_system.decision_se)
        @options_window.current_fontsize += 1
        @options_window.current_fontsize %= BlizzCFG::CMS_FONT_SIZE.size
        @options_window.refresh
      elsif Input.repeat?(Input::LEFT)
        $game_system.se_play($data_system.decision_se)
        @options_window.current_fontsize += BlizzCFG::CMS_FONT_SIZE.size - 1
        @options_window.current_fontsize %= BlizzCFG::CMS_FONT_SIZE.size
        @options_window.refresh
      elsif Input.repeat?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_system.fontsize = @options_window.fontsize
        @command_window.refresh
        @info_window.refresh
        @status_windows.each {|win| win.refresh}
        @help_window.refresh
        @options_window.refresh
        (0...5).each {|i| @command_window.disable_item(i)} if $game_party.actors.size == 0
        @command_window.disable_item(6) if $game_system.save_disabled
        @command_window.disable_item(7) unless @command_window.continue
      end


Here's the error I get when I goto the options menu : cannot convert fixnum into string :  pointing to this line in the script : self.contents.draw_text(x, y + 13, 224, 32, @fontsize, 1) :

Any ideas...

Woot nvm I got it.. :dance: