Hi there, I recently found this cms which is perfect for my game, however whenever it is in and I try to bring it up, a text box pops up saying
This is the CMS I'm using
[EDIT] I'm an idiot, I posted the wrong script earlier. Should be better now.
I've tried doing it myself but sadly I had no satisfying results. Best I got was completely taking out line 40 in the Window_Command script, but all that got me was a bunch of empty boxes. So if someone could please help me out or point me in the right direction it would be greatly appreciated. :fap:
Script 'Window_Command' line 4: TypeError occurred.
Â
cannot convert nil to String.
This is the CMS I'm using
Code:
#==============================================================================
# Window_Gold
#==============================================================================
class Window_Gold < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(439, 413, 200, 64)
  #Create Bitmap
  self.contents = Bitmap.new(width - 32, height - 32)
  #Z-Pos
  self.z = 100
  #Refresh and add the contents to window
  refresh
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  #Advanced Gold Display mini-script by Dubealex.
  self.contents.clear  Â
  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
Â
  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, 0, 160-cx-2, 32, gold_word)
  self.contents.font.color = text_color(0)
  self.contents.draw_text(164-cx2+2, 0, cx2, 32, gold.to_s, 2)
 end
end
Â
Â
Â
#==============================================================================
# **Game_Map
#==============================================================================
class Game_Map  Â
 def name
   $map_infos[@map_id]
 end Â
end
Â
Â
#========================================
# **Scene_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_MapName
#==============================================================================
class Window_MapName < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  super(0, 413, 239, 64)
  #Create Bitmap
  self.contents = Bitmap.new(width - 32, height - 32)
  #Z-Pos
  self.z = 100
  #Refresh and add the contents to window
  refresh
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  #Clear Bitmap
  self.contents.clear  Â
  self.contents.font.color = normal_color
  #if $scene.current_location = ""
   self.contents.draw_text(4, 0, 200, 32, $game_map.name.to_s, 1)
  #else
   #self.contents.draw_text(4, 32, 120, 32, $scene.current_location.to_s, 1)
  #end
 end Â
end
Â
Â
#==============================================================================
# Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  $game_party.actors.size < 4 ? i = 14 : i = 0
  $game_party.actors.size == 1 ? i = 24 : i = i
  super(177, 0, 462, ($game_party.actors.size * 72)+i)
  #Create Bitmap
  self.contents = Bitmap.new(width - 32, height - 32)
  #Z-Pos
  self.z = 100
  #Refresh and add the contents to window  Â
  refresh
  self.active = false
  self.index = -1
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
  #Clear Bitmap
  self.contents.clear
  @item_max = $game_party.actors.size
  for i in 0...$game_party.actors.size
   x = 16
   y = i*64
   actor = $game_party.actors[i]
   draw_actor_name(actor, x, y)
   draw_actor_class(actor, x + 144, y)   Â
   draw_actor_state(actor, x + 260, y )
   draw_actor_level(actor, x, y + 32)
   draw_actor_hp(actor, x + 98, y + 32)
   draw_actor_sp(actor, x + 254, y + 32)
  end
 end
 #--------------------------------------------------------------------------
 # * Cursor Rectangle Update
 #--------------------------------------------------------------------------
 def update_cursor_rect
  if @index < 0
   self.cursor_rect.empty
  else
   self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
  end
 end
end
Â
Â
#==============================================================================
# Scene_Menu
#==============================================================================
class Scene_Menu
 def initialize(menu_index = 0)
  @menu_index = menu_index
  commands_init
  @changer = 0 #Change Party Order by Yargovish
  @where = 0 #
  @checker = 0  #
 end
 #--------------------------------------------------------------------------
 # * Set Commands
 #--------------------------------------------------------------------------
 def commands_init
  # MenuCommand
  @commands = []
  s1 = "Item"
  s2 = "Skill"
  s3 = "Equip"
  s4 = "Status"
  s5 = "Order"
  s6 = "System"
  @commands.push(s1, s2, s3, s4, s5, s6).flatten!
 Â
  @system_commands = []
  o1 = "Save"
  o2 = "Load"
  o3 = "Exit"
  @system_commands.push(o1, o2, o3).flatten!
 end
 #--------------------------------------------------------------------------
 # * Main - Handles drawing/disposing windows and the main loop
 #--------------------------------------------------------------------------
 def main
  #Draw Windows
  main_command_window
  system_command_window
  main_draw
  #Execute transition
  Graphics.transition
  #Main Loop
  loop do
   #Main Loop
   main_loop
   break if main_scenechange?
  end
  #Prepare for transition
  Graphics.freeze
  #Dispose Windows
  main_dispose
 end
 #--------------------------------------------------------------------------
 # * Main Draw - Handles drawing windows
 #--------------------------------------------------------------------------
 def main_draw
  #Draw Background
  @background = Spriteset_Map.new
  #Draw Windows Â
  @gold_window = Window_Gold.new
  @gold_window.x = 439
  @gold_window.y = 413 Â
  @map_window = Window_MapName.new
  @map_window.x = 0
  @map_window.y = 413
  @map_window.z = 100
  @status_window = Window_MenuStatus.new    Â
 end
 #--------------------------------------------------------------------------
 # * Main Command Window
 #--------------------------------------------------------------------------
 def main_command_window Â
  @command_window = Window_Command.new(160, @commands)
  @command_window.index = @menu_index
  # If number of party members is 0
  if $game_party.actors.size == 0
   # Disable items, skills, equipment, and status
   @command_window.disable_item(0)
   @command_window.disable_item(1)
   @command_window.disable_item(2)
   @command_window.disable_item(3)
  end
 Â
  if $game_party.actors.size <= 1 #
   @command_window.disable_item(4)
  end Â
 end
 Â
 def system_command_window
  @load_enabled = false
  @sys_command_window = Window_Command.new(160, @system_commands)
  @sys_command_window.visible = false
  @sys_command_window.active = false
  @sys_command_window.x = 100
  @sys_command_window.y = 180
  @sys_command_window.z = 0
  if $game_system.save_disabled
   @sys_command_window.disable_item(2)
  end
  for i in 0..3
   if (FileTest.exist?("Save#{i+1}.rxdata"))    Â
    @load_enabled = true
   end
  end Â
  if !@load_enabled
   @sys_command_window.disable_item(3)
  end
 end  Â
 #--------------------------------------------------------------------------
 # * Main Scene Change
 #--------------------------------------------------------------------------
 def main_scenechange?
  # Abort loop if screen is changed
  if $scene != self
   return true
  end
  return false
 end
 #--------------------------------------------------------------------------
 # * Main Dispose
 #--------------------------------------------------------------------------
 def main_dispose
  #Dispose Background
  @background.dispose
  # Dispose All Windows
  @gold_window.dispose
  @map_window.dispose
  @status_window.dispose
  @command_window.dispose
  @sys_command_window.dispose
 end
 #--------------------------------------------------------------------------
 # * Main Loop
 #--------------------------------------------------------------------------
 def main_loop
  # Update game screen
  Graphics.update
  # Update input information
  Input.update
  # Frame update
  update
 end
 #--------------------------------------------------------------------------
 # * Update
 #--------------------------------------------------------------------------
 def update
  # Update Windows
  update_windows
  #update_command if @command_window.active and @command_window.visible
  #update_sys_command if @sys_command_window.active and @sys_command_window.visible
  #update_status if @status_window.active
 Â
  if @sys_command_window.active
   @sys_command_window.z = +500
  end
 Â
  # If command window is active: call update_command
  if @command_window.active
   update_command
   return
  end
  # If system window is active: call update_sys_command
  if @sys_command_window.active
   update_sys_command
   return
  end
  # If status window is active: call update_status
  if @status_window.active
   update_status
   return
  end
 end
 #--------------------------------------------------------------------------
 # * Window Update
 #--------------------------------------------------------------------------
 def update_windows  Â
  @command_window.update if @command_window.visible
  @sys_command_window.update if @sys_command_window.visible
  @gold_window.update
  @map_window.update
  @status_window.update
 end
 #--------------------------------------------------------------------------
 # * Update Command Window
 #--------------------------------------------------------------------------
 def update_command
  # If B button was pressed
  if Input.trigger?(Input::B)
   # Play cancel SE
   $game_system.se_play($data_system.cancel_se)
   # Switch to map screen
   $scene = Scene_Map.new
   return
  end
  # If C button was pressed
  if Input.trigger?(Input::C)
   # If command other than save or end game, and party members = 0
   if $game_party.actors.size == 0 and @command_window.index < 4
    # Play buzzer SE
    $game_system.se_play($data_system.buzzer_se)
    return
   end
   # Branch by command window cursor position
   case @command_window.index
   when 0 # Item   Â
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to item screen
    $scene = Scene_Item.new
   when 1 # Skill
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Make status window active
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0
   when 2 # Equip
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Make status window active
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0   Â
   when 3 # Status
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Make status window active
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0     Â
   when 4 # Order
    #Change Party Order by Yargovish
    $game_system.se_play($data_system.decision_se)
    @checker = 0
    @command_window.active = false
    @status_window.active = true
    @status_window.index = 0   Â
   when 5 # System
    $game_system.se_play($data_system.decision_se)
    @sys_command_window.active = true
    @sys_command_window.visible = true
    @command_window.active = false    Â
   end
  end
 end
 #--------------------------------------------------------------------------
 # * Update SysCommand Window
 #--------------------------------------------------------------------------
 def update_sys_command
  if Input.trigger?(Input::B)
   $game_system.se_play($data_system.cancel_se)
   @command_window.active = true
   @sys_command_window.active = false
   @sys_command_window.visible = false
   @sys_command_window.index = 0
   @sys_command_window.z = 0
   return
  end
 Â
  if Input.trigger?(Input::C)
   case @sys_command_window.index   Â
   when 0
    # # If saving is forbidden
    if $game_system.save_disabled
     # Play buzzer SE
     $game_system.se_play($data_system.buzzer_se)
     return
    end
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to save screen
    $scene = Scene_Save.new
   when 1
    if !@load_enabled
     # Play buzzer SE
     $game_system.se_play($data_system.buzzer_se)
     return
    end
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to load screen
    $scene = Scene_Load.new
   when 2
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to end game screen
    $scene = Scene_End.new
   end
   return
  end
 end
 #--------------------------------------------------------------------------
 # * Frame Update (when status window is active)
 #--------------------------------------------------------------------------
 def update_status
  # If B button was pressed
  if Input.trigger?(Input::B)
   # Play cancel SE
   $game_system.se_play($data_system.cancel_se)
   # Make command window active
   @command_window.active = true
   @status_window.active = false
   @status_window.index = -1
   return
  end
  # If C button was pressed
  if Input.trigger?(Input::C)
   # Branch by command window cursor position
   case @command_window.index
   when 1  # skill
    # If this actor's action limit is 2 or more
    if $game_party.actors[@status_window.index].restriction >= 2
     # Play buzzer SE
     $game_system.se_play($data_system.buzzer_se)
     return
    end
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to skill screen
    $scene = Scene_Skill.new(@status_window.index)
   when 2  # equipment
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to equipment screen
    $scene = Scene_Equip.new(@status_window.index)
   when 3  # status
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Switch to status screen
    $scene = Scene_Status.new(@status_window.index)
   when 4
    #Change Party Order by Yargovish
    $game_system.se_play($data_system.decision_se)
    if @checker == 0
     @changer = $game_party.actors[@status_window.index]
     @where = @status_window.index
     @checker = 1
    else
     $game_party.actors[@where] = $game_party.actors[@status_window.index]
     $game_party.actors[@status_window.index] = @changer
     @checker = 0
     @status_window.refresh
     $game_player.refresh #
    end    Â
   end
   return
  end
 end Â
end
Â
Â
class Scene_Load < Scene_File
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------
 alias load_initialize initialize
 alias load_on_cancel on_cancel
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
  @scene = $scene
  load_initialize
 end
 #--------------------------------------------------------------------------
 # * Cancel Processing
 #--------------------------------------------------------------------------
 def on_cancel
  load_on_cancel
  $scene = @scene
 end
end
[EDIT] I'm an idiot, I posted the wrong script earlier. Should be better now.
I've tried doing it myself but sadly I had no satisfying results. Best I got was completely taking out line 40 in the Window_Command script, but all that got me was a bunch of empty boxes. So if someone could please help me out or point me in the right direction it would be greatly appreciated. :fap: