The RPG Maker Resource Kit

RMRK RPG Maker Creation => RPG Maker General => General Scripting => Topic started by: fadark on March 08, 2007, 12:37:32 AM

Title: need cms script edit [resolved]
Post by: fadark on March 08, 2007, 12:37:32 AM
Here is the cms that needs to change a little:
[spoiler=my window skin](https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg81.imageshack.us%2Fimg81%2F1542%2Fcustomwscopy1es4.png&hash=0cc6ac6e599a31515eb0b9e5f1fae843b4b80ebf) (http://imageshack.us)[/spoiler]
[spoiler=cms script]#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================

class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, -5, 120, 32, "Play Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(-15, 15, 120, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays amount of gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 54)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh

    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
  end
end

#Displays Real Time

class Window_RealTime < Window_Base

#Object Initialization
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
#Refresh
  def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(10, -5, 120, 32, "Real Time")
   @time_string = Time.now
   text = @time_string.strftime("%A %H:%M:%S")
   self.contents.font.color = normal_color
   self.contents.draw_text(-3, 20, 110, 32, text, 2)
  end
#Time changes in menu
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#     Displays Location in Menu

class Window_Location < Window_Base

def initialize
   super(0, 0, 500, 50)
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
end
def refresh
   self.contents.clear
   self.contents.font.color = normal_color
   $data_location = load_data("Data/MapInfos.rxdata")
   self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(0, -9, 120, 32, "Location")
end
end

# Displays Game Name

class Window_GameName < Window_Base

  def initialize
    super(0, 0, 500, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
  end
end


# Displays the Word "Menu"


class Window_MenuWord < Window_Base

  def initialize
    super(0, 0, 140, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.font.color = crisis_color
    self.contents.draw_text(10, -10, 120, 32, "Menu")
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 500, 400)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  def draw_actor_battler(actor, x, y, opacity = 255)
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
     cw = bitmap.width
     ch = bitmap.height
     src_rect = Rect.new(0, 0, cw, ch)
     x = i * 120
     y = 180
  self.contents.blt(x, y, bitmap, src_rect, opacity)
   end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = i * 118
      y = 0
      actor = $game_party.actors[i]
      draw_actor_battler(actor, x, y - 10)
      self.contents.font.color = knockout_color
      self.contents.draw_text(x, -10, 45, 32, actor.name, 2)
      self.contents.font.color = normal_color
      draw_actor_class(actor, x, 15)
      draw_actor_state(actor, x, 40)
      draw_actor_level(actor, x, 110)
    # draw exp
    self.contents.font.color = system_color
    self.contents.draw_text(x, 130, 80, 32, "Exp")
    self.contents.draw_text(x, 150, 80, 32, "Next Level")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
    # draw hp
       self.contents.font.color = system_color
    self.contents.draw_text(x, 65, 32, 32, "HP") 
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
     self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
    #draw sp
    self.contents.font.color = system_color
    self.contents.draw_text(x, 85, 32, 32, "SP") 
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
     self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 118, 0, 118, 400)
    end
  end
end


#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs menu screen processing.
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # ????????????
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status"
    s5 = "Save"
    s6 = "Exit"
    @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index 
    # If # Party Members = 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 Save is Forbidden
    if $game_system.save_disabled
      # Disable Save
      @command_window.disable_item(4)
    end
    # Displays Play Time
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 500
    @playtime_window.y = 50
    # Displays the "Word Menu" Window
    @wordmenu_window = Window_MenuWord.new
    @wordmenu_window.x = 500
    @wordmenu_window.y = 0
    # Displays the Gold Window
    @gold_window = Window_Gold.new
    @gold_window.x = 500
    @gold_window.y = 426
    # The Menu Status Screen
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    # Game Name Window
    @gamename_window = Window_GameName.new
    @gamename_window.x = 0
    @gamename_window.y = 400
    # Location Window
    @map_window = Window_Location.new
    @map_window.x = 0
    @map_window.y = 440
    # Real Time Window
    @realtime_window = Window_RealTime.new
    @realtime_window.x = 500
    @realtime_window.y = 130
    # Execute Transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of windows
    @command_window.dispose
    @playtime_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @wordmenu_window.dispose
    @map_window.dispose
    @realtime_window.dispose
    @gamename_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update windows
    @command_window.update
    @playtime_window.update
    @gold_window.update
    @status_window.update
    @map_window.update
    @realtime_window.update
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  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  # equipment
        # 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  # save
        # 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 5  # end game
        # 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)
      end
      return
    end
  end
end
[/spoiler]
[spoiler=cms screenshot](https://rmrk.net/proxy.php?request=http%3A%2F%2Fi163.photobucket.com%2Falbums%2Ft284%2Ffadarkrmxp%2Fcms.jpg&hash=52dec2cbf74f04da33bddfbda81abb8ac6010981)[/spoiler]
I want there to be a little arrow next to (to the right of) the "status" option. when you press the "right" key on your keyboard, the option changes to "status reference". if you press that option it brings up a screen with the following options:
"back" which brings you back to the main menu, and "status effects" which brings your curser to the other side of the screen where: blank images are with blank words next to them that are the names of the status effects. when you put your curser on one of the status effects: in a long window at the top of the screen, it will say the blank which is the description of the status effect.



thanks if you help. I would imagine that this would be a big challenge so I thank you so much if you can poll this off!
Title: Re: need cms script edit
Post by: blazinhandle on March 09, 2007, 04:12:59 AM
that can easily be done, man. if you've edited ur CMS thus far you can do it just by setting input keys to moving through different menus.

input:: (Key for RIGHT)
  Scene_StatusReference.new

it's not exact by any means but u have the idea.

btw the CMS looks nice, just drop down the font size of the stats so it doesnt look so crowded.
Title: Re: need cms script edit
Post by: fadark on March 09, 2007, 03:07:38 PM
I didn't make the cms. I can't script. modern algebra made the script.
Title: Re: need cms script edit
Post by: fadark on March 09, 2007, 08:35:02 PM
can anyone make this edit?
Title: Re: need cms script edit
Post by: modern algebra on March 09, 2007, 09:00:13 PM
It's kind of strange that you are putting Status Reference as an option in the menu, but I guess you must have a lot of custom status effects. Anyway, I guess I can do it, but my initial idea is that since Status Effects are not assigned descriptions or images in the database, you might as well use strings and type everything you want displayed in the window, and so it might look better just to have it as a sheet like:

Image   Status Effect Name             Description
Image   Status Effect Name             Description
...

rather than a scrolling menu, because there would be a lot of empty space with that. In any case, if you want a competent scripter to do it as you want it done, then just post and I'll leave you alone.
Title: Re: need cms script edit
Post by: fadark on March 10, 2007, 04:14:37 AM
Actualy, I like your idea but I still need a script that makes a side scroll next to "status" to make a new option that opens that window that shows the information that I want it to show.
Title: Re: need cms script edit
Post by: modern algebra on March 10, 2007, 04:56:53 AM
Okay, I'll do it once I find some time
Title: Re: need cms script edit
Post by: fadark on March 10, 2007, 04:26:05 PM
ty
Title: Re: need cms script edit
Post by: fadark on March 13, 2007, 11:08:00 PM
is it done yet? (not to be rude, but I'v been wwaiting for a while now)
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: Falcon on March 13, 2007, 11:13:56 PM
You haven't even waited a damn week, I have people who haven't gotten their CMSs in over a month because I've been busy with school, and errors happen.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: modern algebra on March 14, 2007, 05:33:32 AM
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  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

[color=red]
    if Input.trigger?(Input::RIGHT)
      case @command_window.index
      when 3
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_StatRef.new
      end
    end
[/color]

    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


Add the stuff in red to your code. It should be around line 355 or so.

Then add this script in:

class Window_StatRef < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
    self.contents.font.color = crisis_color
    self.contents.draw_text(270,0,100,32, "Status Reference")
  #--------------------------------------------------------------------------
  # Change the part where it says "049-Skill06" to whatever Icon you want.
  # They have to be in your Icon Folder and it has to be the exact name of
  # the picture you want to show
  #--------------------------------------------------------------------------
    self.contents.blt(0,24, RPG::Cache.icon("050-Skill07"), src_rect, 255)
    self.contents.blt(0,48, RPG::Cache.icon("047-Skill04"), src_rect, 255)
    self.contents.blt(0,72, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,96, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,120, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,144, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,168, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,192, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,216, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,240, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,288, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,312, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,336, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,360, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.font.color = system_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n" to the name of the Status
  # Effects you want to display info on.
  #--------------------------------------------------------------------------
    self.contents.draw_text(30, 24, 170, 32, "Venom")
    self.contents.draw_text(30, 48, 180, 32, "Lice")
    self.contents.draw_text(30, 72, 180, 32, "Status Effect 3")
    self.contents.draw_text(30, 96, 180, 32, "Status Effect 4")
    self.contents.draw_text(30, 120, 180, 32, "Status Effect 5")
    self.contents.draw_text(30, 144, 180, 32, "Status Effect 6")
    self.contents.draw_text(30, 168, 180, 32, "Status Effect 7")
    self.contents.draw_text(30, 192, 180, 32, "Status Effect 8")
    self.contents.draw_text(30, 216, 180, 32, "Status Effect 9")
    self.contents.draw_text(30, 240, 180, 32, "Status Effect 10")
    self.contents.draw_text(30, 264, 180, 32, "Status Effect 11")
    self.contents.draw_text(30, 288, 180, 32, "Status Effect 12")
    self.contents.draw_text(30, 312, 180, 32, "Status Effect 13")
    self.contents.draw_text(30, 336, 180, 32, "Status Effect 14")
    self.contents.draw_text(30, 360, 180, 32, "Status Effect 15")
    self.contents.font.color = normal_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n Description" to the description
  # of the corresponding Status Effect
  #--------------------------------------------------------------------------
    self.contents.draw_text(200, 24, 400, 32, "Deals damage over time")
    self.contents.draw_text(200, 48, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
    self.contents.draw_text(200, 72, 400, 32, "Status Effect 3 Description")
    self.contents.draw_text(200, 96, 400, 32, "Status Effect 4 Description")   
    self.contents.draw_text(200, 120, 400, 32, "Status Effect 5 Description")
    self.contents.draw_text(200, 144, 400, 32, "Status Effect 6 Description")
    self.contents.draw_text(200, 168, 400, 32, "Status Effect 7 Description")
    self.contents.draw_text(200, 192, 400, 32, "Status Effect 8 Description")
    self.contents.draw_text(200, 216, 400, 32, "Status Effect 9 Description")
    self.contents.draw_text(200, 240, 400, 32, "Status Effect 10 Description")
    self.contents.draw_text(200, 264, 400, 32, "Status Effect 11 Description")
    self.contents.draw_text(200, 288, 400, 32, "Status Effect 12 Description")
    self.contents.draw_text(200, 312, 400, 32, "Status Effect 13 Description")
    self.contents.draw_text(200, 336, 400, 32, "Status Effect 14 Description")
    self.contents.draw_text(200, 360, 400, 32, "Status Effect 15 Description")
  end
end

class Scene_StatRef
 
  def main
    @StatRef_window = Window_StatRef.new
    Graphics.transition
    # Main loop
    loop do
      # Update Game Screen
      Graphics.update
      # Update Input Information
      Input.update
      # Frame Update
      update
      # Abort loop if screen changes
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of window
    @StatRef_window.dispose
  end
  def update
    # If pressing ESC
    if Input.trigger?(Input::B)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::LEFT)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
  end
end


And it should work. If you want to reduce font size for the Menu, just add this line:

self.contents.font.size = 20

in the initialize method for any window.

And as for an arrow, just find this line:

s4 = "Status"

around line 250 and change it to

s4 = "Status   ->"

There is a more fancy way to make your arrow, but I figured you'd want me to finish the edit as soon as possible my Lord Fadark, and I did not want to waste away those precious seconds.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 15, 2007, 12:58:19 AM
QuoteYou haven't even waited a damn week, I have people who haven't gotten their CMSs in over a month because I've been busy with school, and errors happen.

excuse you! lol just kidding.

QuoteInsert Quote
Code:

  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  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

[color=red]
    if Input.trigger?(Input::RIGHT)
      case @command_window.index
      when 3
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_StatRef.new
      end
    end
[/color]

    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


Add the stuff in red to your code. It should be around line 355 or so.

Then add this script in:

Code:

class Window_StatRef < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
    self.contents.font.color = crisis_color
    self.contents.draw_text(270,0,100,32, "Status Reference")
  #--------------------------------------------------------------------------
  # Change the part where it says "049-Skill06" to whatever Icon you want.
  # They have to be in your Icon Folder and it has to be the exact name of
  # the picture you want to show
  #--------------------------------------------------------------------------
    self.contents.blt(0,24, RPG::Cache.icon("050-Skill07"), src_rect, 255)
    self.contents.blt(0,48, RPG::Cache.icon("047-Skill04"), src_rect, 255)
    self.contents.blt(0,72, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,96, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,120, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,144, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,168, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,192, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,216, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,240, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,288, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,312, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,336, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,360, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.font.color = system_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n" to the name of the Status
  # Effects you want to display info on.
  #--------------------------------------------------------------------------
    self.contents.draw_text(30, 24, 170, 32, "Venom")
    self.contents.draw_text(30, 48, 180, 32, "Lice")
    self.contents.draw_text(30, 72, 180, 32, "Status Effect 3")
    self.contents.draw_text(30, 96, 180, 32, "Status Effect 4")
    self.contents.draw_text(30, 120, 180, 32, "Status Effect 5")
    self.contents.draw_text(30, 144, 180, 32, "Status Effect 6")
    self.contents.draw_text(30, 168, 180, 32, "Status Effect 7")
    self.contents.draw_text(30, 192, 180, 32, "Status Effect 8")
    self.contents.draw_text(30, 216, 180, 32, "Status Effect 9")
    self.contents.draw_text(30, 240, 180, 32, "Status Effect 10")
    self.contents.draw_text(30, 264, 180, 32, "Status Effect 11")
    self.contents.draw_text(30, 288, 180, 32, "Status Effect 12")
    self.contents.draw_text(30, 312, 180, 32, "Status Effect 13")
    self.contents.draw_text(30, 336, 180, 32, "Status Effect 14")
    self.contents.draw_text(30, 360, 180, 32, "Status Effect 15")
    self.contents.font.color = normal_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n Description" to the description
  # of the corresponding Status Effect
  #--------------------------------------------------------------------------
    self.contents.draw_text(200, 24, 400, 32, "Deals damage over time")
    self.contents.draw_text(200, 48, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
    self.contents.draw_text(200, 72, 400, 32, "Status Effect 3 Description")
    self.contents.draw_text(200, 96, 400, 32, "Status Effect 4 Description")   
    self.contents.draw_text(200, 120, 400, 32, "Status Effect 5 Description")
    self.contents.draw_text(200, 144, 400, 32, "Status Effect 6 Description")
    self.contents.draw_text(200, 168, 400, 32, "Status Effect 7 Description")
    self.contents.draw_text(200, 192, 400, 32, "Status Effect 8 Description")
    self.contents.draw_text(200, 216, 400, 32, "Status Effect 9 Description")
    self.contents.draw_text(200, 240, 400, 32, "Status Effect 10 Description")
    self.contents.draw_text(200, 264, 400, 32, "Status Effect 11 Description")
    self.contents.draw_text(200, 288, 400, 32, "Status Effect 12 Description")
    self.contents.draw_text(200, 312, 400, 32, "Status Effect 13 Description")
    self.contents.draw_text(200, 336, 400, 32, "Status Effect 14 Description")
    self.contents.draw_text(200, 360, 400, 32, "Status Effect 15 Description")
  end
end

class Scene_StatRef
 
  def main
    @StatRef_window = Window_StatRef.new
    Graphics.transition
    # Main loop
    loop do
      # Update Game Screen
      Graphics.update
      # Update Input Information
      Input.update
      # Frame Update
      update
      # Abort loop if screen changes
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of window
    @StatRef_window.dispose
  end
  def update
    # If pressing ESC
    if Input.trigger?(Input::B)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::LEFT)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
  end
end


And it should work. If you want to reduce font size for the Menu, just add this line:

Code:

self.contents.font.size = 20


in the initialize method for any window.

And as for an arrow, just find this line:

Code:

s4 = "Status"



around line 250 and change it to

Code:

s4 = "Status   ->"


There is a more fancy way to make your arrow, but I figured you'd want me to finish the edit as soon as possible my Lord Fadark, and I did not want to waste away those precious seconds.

thanks so much! you rock! sorry for the impatience btw.
I dont know how to repay you except by saying thank you!
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 15, 2007, 01:28:14 AM
I realized a problem. There aren't enough status spots. if you can add 4 more status effect slots, that would be great.


class Window_StatRef < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
    self.contents.font.color = crisis_color
    self.contents.draw_text(270,0,100,32, "Status Reference")
  #--------------------------------------------------------------------------
  # Change the part where it says "049-Skill06" to whatever Icon you want.
  # They have to be in your Icon Folder and it has to be the exact name of
  # the picture you want to show
  #--------------------------------------------------------------------------
    self.contents.blt(0,24, RPG::Cache.icon("Death"), src_rect, 255)
    self.contents.blt(0,48, RPG::Cache.icon("Stun"), src_rect, 255)
    self.contents.blt(0,72, RPG::Cache.icon("Poison"), src_rect, 255)
    self.contents.blt(0,96, RPG::Cache.icon("Dizzy"), src_rect, 255)
    self.contents.blt(0,120, RPG::Cache.icon("Silence"), src_rect, 255)
    self.contents.blt(0,144, RPG::Cache.icon("Confused"), src_rect, 255)
    self.contents.blt(0,168, RPG::Cache.icon("Sleep"), src_rect, 255)
    self.contents.blt(0,192, RPG::Cache.icon("Paralyzed"), src_rect, 255)
    self.contents.blt(0,216, RPG::Cache.icon("Weak"), src_rect, 255)
    self.contents.blt(0,240, RPG::Cache.icon("Clumsy"), src_rect, 255)
    self.contents.blt(0,264, RPG::Cache.icon("Delayed"), src_rect, 255)
    self.contents.blt(0,288, RPG::Cache.icon("Enfeebled"), src_rect, 255)
    self.contents.blt(0,312, RPG::Cache.icon("Sharpen"), src_rect, 255)
    self.contents.blt(0,336, RPG::Cache.icon("Barrier"), src_rect, 255)
    self.contents.blt(0,360, RPG::Cache.icon("Resist"), src_rect, 255)
    self.contents.blt(0,384, RPG::Cache.icon("Blink"), src_rect, 255)
    self.contents.blt(0,408, RPG::Cache.icon("Muscular Endurance"), src_rect, 255)
    self.contents.font.color = system_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n" to the name of the Status
  # Effects you want to display info on.
  #--------------------------------------------------------------------------
    self.contents.draw_text(30, 24, 170, 32, "Death")
    self.contents.draw_text(30, 48, 180, 32, "Stun")
    self.contents.draw_text(30, 72, 180, 32, "Poison")
    self.contents.draw_text(30, 96, 180, 32, "Dizzy")
    self.contents.draw_text(30, 120, 180, 32, "Silence")
    self.contents.draw_text(30, 144, 180, 32, "Confused")
    self.contents.draw_text(30, 168, 180, 32, "Sleep")
    self.contents.draw_text(30, 192, 180, 32, "Paralyzed")
    self.contents.draw_text(30, 216, 180, 32, "Weak")
    self.contents.draw_text(30, 240, 180, 32, "Clumsy")
    self.contents.draw_text(30, 264, 180, 32, "Delayed")
    self.contents.draw_text(30, 288, 180, 32, "Enfeebled")
    self.contents.draw_text(30, 312, 180, 32, "Sharpen")
    self.contents.draw_text(30, 336, 180, 32, "Barrier")
    self.contents.draw_text(30, 360, 180, 32, "Resist")
    self.contents.draw_text(30, 384, 180, 32, "Blink")
    self.contents.draw_text(30, 408, 180, 32, "Muscular Endurance")
    self.contents.font.color = normal_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n Description" to the description
  # of the corresponding Status Effect
  #--------------------------------------------------------------------------
    self.contents.draw_text(200, 24, 400, 32, "Causes Death")
    self.contents.draw_text(200, 48, 400, 32, "Prevents target from preforming actions durring this turn")
    self.contents.draw_text(200, 72, 400, 32, "Deals damage over time")
    self.contents.draw_text(200, 96, 400, 32, "Causes target's Accuracy to decrease")   
    self.contents.draw_text(200, 120, 400, 32, "Prevents the target from using Skills")
    self.contents.draw_text(200, 144, 400, 32, "Causes target to attack allies")
    self.contents.draw_text(200, 168, 400, 32, "Prevents target from preforming actions while Asleep")
    self.contents.draw_text(200, 192, 400, 32, "Prevents target from preforming actions while Paralyzed")
    self.contents.draw_text(200, 216, 400, 32, "Lowers the Strength of the target")
    self.contents.draw_text(200, 240, 400, 32, "Lowers the Dexterity of the target")
    self.contents.draw_text(200, 264, 400, 32, "Lowers the Agility of the target")
    self.contents.draw_text(200, 288, 400, 32, "Lowers the Intelligence of the target")
    self.contents.draw_text(200, 312, 400, 32, "Increases the Attack Power of target")
    self.contents.draw_text(200, 336, 400, 32, "Increases the Physical Defense of target")
    self.contents.draw_text(200, 360, 400, 32, "Increases the Magic Defense of target")
    self.contents.draw_text(200, 384, 400, 32, "Increases the Evasion of target")
    self.contents.draw_text(200, 408, 400, 32, "Doubles the max Heath Points of the target")
  end
end

class Scene_StatRef
 
  def main
    @StatRef_window = Window_StatRef.new
    Graphics.transition
    # Main loop
    loop do
      # Update Game Screen
      Graphics.update
      # Update Input Information
      Input.update
      # Frame Update
      update
      # Abort loop if screen changes
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of window
    @StatRef_window.dispose
  end
  def update
    # If pressing ESC
    if Input.trigger?(Input::B)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::LEFT)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
  end
end


Thanks!
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: modern algebra on March 16, 2007, 10:21:49 PM
It's not very hard to edit the number of slots yourself... the only problem is that it might be too large for the window. Easiest way is to lower the font size, I'll repost soon.
Title: Re: need cms script edit
Post by: modern algebra on March 16, 2007, 10:49:35 PM
K, just replace Window_StatRef with this:


class Window_StatRef < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 18
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
    self.contents.font.color = crisis_color
    self.contents.draw_text(250,0,200,32, "Status Reference")
  #--------------------------------------------------------------------------
  # Change the part where it says "049-Skill06" to whatever Icon you want.
  # They have to be in your Icon Folder and it has to be the exact name of
  # the picture you want to show
  #--------------------------------------------------------------------------
    self.contents.blt(0,22, RPG::Cache.icon("050-Skill07"), src_rect, 255)
    self.contents.blt(0,44, RPG::Cache.icon("047-Skill04"), src_rect, 255)
    self.contents.blt(0,66, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,88, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,110, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,132, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,154, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,176, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,198, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,220, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,242, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,286, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,308, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,330, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,352, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,374, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,396, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,418, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.font.color = system_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n" to the name of the Status
  # Effects you want to display info on.
  #--------------------------------------------------------------------------
  for i in 1...$data_states.length
    self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
  end
    self.contents.font.color = normal_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n Description" to the description
  # of the corresponding Status Effect
  #--------------------------------------------------------------------------
    self.contents.draw_text(200, 22, 400, 32, "Deals damage over time")
    self.contents.draw_text(200, 44, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
    self.contents.draw_text(200, 66, 400, 32, "Status Effect 3 Description")
    self.contents.draw_text(200, 88, 400, 32, "Status Effect 4 Description")   
    self.contents.draw_text(200, 110, 400, 32, "Status Effect 5 Description")
    self.contents.draw_text(200, 132, 400, 32, "Status Effect 6 Description")
    self.contents.draw_text(200, 154, 400, 32, "Status Effect 7 Description")
    self.contents.draw_text(200, 176, 400, 32, "Status Effect 8 Description")
    self.contents.draw_text(200, 198, 400, 32, "Status Effect 9 Description")
    self.contents.draw_text(200, 220, 400, 32, "Status Effect 10 Description")
    self.contents.draw_text(200, 242, 400, 32, "Status Effect 11 Description")
    self.contents.draw_text(200, 264, 400, 32, "Status Effect 12 Description")
    self.contents.draw_text(200, 286, 400, 32, "Status Effect 13 Description")
    self.contents.draw_text(200, 308, 400, 32, "Status Effect 14 Description")
    self.contents.draw_text(200, 330, 400, 32, "Status Effect 15 Description")
    self.contents.draw_text(200, 352, 400, 32, "Status Effect 16 Description")
    self.contents.draw_text(200, 374, 400, 32, "Status Effect 17 Description")
    self.contents.draw_text(200, 396, 400, 32, "Status Effect 18 Description")
    self.contents.draw_text(200, 418, 400, 32, "Status Effect 19 Description")
  end
end


I also made it so you don't have to manually enter the names of the states, but you still have to define icons and descriptions.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 17, 2007, 04:16:32 PM
I replaced the scripts and there is a problem when I press "right" in the menu to go to the status referance screen:

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg78.imageshack.us%2Fimg78%2F2885%2Fhiguyjd2.png&hash=ff0d63968110eee84b2bce9636e4823656b5f4a0) (http://imageshack.us)
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: modern algebra on March 17, 2007, 05:09:30 PM
It worked before right? I don't know what could cause the problem, as mine works well. Try finding the place in the CMS where it says if Input.trigger?(Input::RIGHT) and replacing it with what I have below. If that doesn't work, post up the Scene_Menu part of your script

   
    if Input.trigger?(Input::RIGHT)
      case @command_window.index
      when 3
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_StatRef.new
      end
    end


Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 17, 2007, 07:05:32 PM
now it wont even let me play the game.

here is scene_menu:
#==============================================================================
# ? Scene_Menu
#------------------------------------------------------------------------------
# ???????????????????
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # ? ?????????
  #     menu_index : ?????????????
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def main
    # ????????????
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status"
    s5 = "Save"
    s6 = "Exit"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    # ??????? 0 ????
    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 = 0
    @playtime_window.y = 224
    # ??????????
    @steps_window = Window_Steps.new
    @steps_window.x = 0
    @steps_window.y = 320
    # ????????????
    @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
    @playtime_window.dispose
    @steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    # ????????
    @command_window.update
    @playtime_window.update
    @steps_window.update
    @gold_window.update
    @status_window.update
    # ??????????????????: update_command ???
    if @command_window.active
      update_command
      return
    end
    # ???????????????????: update_status ???
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????? (??????????????????)
  #--------------------------------------------------------------------------
  def update_command
    # B ??????????
    if Input.trigger?(Input::B)
      # ????? SE ???
      $game_system.se_play($data_system.cancel_se)
      # ??????????
      $scene = Scene_Map.new
      return
    end
    # C ??????????
    if Input.trigger?(Input::C)
      # ??????? 0 ??????????????????????
      if $game_party.actors.size == 0 and @command_window.index < 4
        # ??? SE ???
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # ???????????????????
      case @command_window.index
      when 0  # ????
        # ??  SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????
        $scene = Scene_Item.new
      when 1  # ???
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????????????
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # ??
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ???????????????????
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # ?????
        # ?? SE ???
        $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
          # ??? SE ???
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ??????????
        $scene = Scene_Save.new
      when 5  # ?????
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ????????????
        $scene = Scene_End.new
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????? (???????????????????)
  #--------------------------------------------------------------------------
  def update_status
    # B ??????????
    if Input.trigger?(Input::B)
      # ????? SE ???
      $game_system.se_play($data_system.cancel_se)
      # ??????????????????
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # C ??????????
    if Input.trigger?(Input::C)
      # ???????????????????
      case @command_window.index
      when 1  # ???
        # ???????????? 2 ?????
        if $game_party.actors[@status_window.index].restriction >= 2
          # ??? SE ???
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ??????????
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # ??
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ?????????
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # ?????
        # ?? SE ???
        $game_system.se_play($data_system.decision_se)
        # ????????????
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end


here is my cms:
#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================

class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, -5, 120, 32, "Play Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(-15, 15, 120, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays amount of gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 54)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh

    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
  end
end

#Displays Real Time

class Window_RealTime < Window_Base

#Object Initialization
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
#Refresh
  def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(10, -5, 120, 32, "Real Time")
   @time_string = Time.now
   text = @time_string.strftime("%A %H:%M:%S")
   self.contents.font.color = normal_color
   self.contents.draw_text(-3, 20, 110, 32, text, 2)
  end
#Time changes in menu
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#     Displays Location in Menu

class Window_Location < Window_Base

def initialize
   super(0, 0, 500, 50)
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
end
def refresh
   self.contents.clear
   self.contents.font.color = normal_color
   $data_location = load_data("Data/MapInfos.rxdata")
   self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(0, -9, 120, 32, "Location")
end
end

# Displays Game Name

class Window_GameName < Window_Base

  def initialize
    super(0, 0, 500, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
  end
end


# Displays the Word "Menu"


class Window_MenuWord < Window_Base

  def initialize
    super(0, 0, 140, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.font.color = crisis_color
    self.contents.draw_text(10, -10, 120, 32, "Menu")
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 500, 400)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  def draw_actor_battler(actor, x, y, opacity = 255)
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
     cw = bitmap.width
     ch = bitmap.height
     src_rect = Rect.new(0, 0, cw, ch)
     x = i * 120
     y = 180
  self.contents.blt(x, y, bitmap, src_rect, opacity)
   end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = i * 118
      y = 0
      actor = $game_party.actors[i]
      draw_actor_battler(actor, x, y - 10)
      self.contents.font.color = knockout_color
      self.contents.draw_text(x, -10, 45, 32, actor.name, 2)
      self.contents.font.color = normal_color
      draw_actor_class(actor, x, 15)
      draw_actor_state(actor, x, 40)
      draw_actor_level(actor, x, 110)
    # draw exp
    self.contents.font.color = system_color
    self.contents.draw_text(x, 130, 80, 32, "Exp")
    self.contents.draw_text(x, 150, 80, 32, "Next Level")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
    # draw hp
       self.contents.font.color = system_color
    self.contents.draw_text(x, 65, 32, 32, "HP") 
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
     self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
    #draw sp
    self.contents.font.color = system_color
    self.contents.draw_text(x, 85, 32, 32, "SP") 
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
     self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 118, 0, 118, 400)
    end
  end
end


#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs menu screen processing.
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # ????????????
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status   ->"
    s5 = "Save"
    s6 = "Exit"
    @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index 
    # If # Party Members = 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 Save is Forbidden
    if $game_system.save_disabled
      # Disable Save
      @command_window.disable_item(4)
    end
    # Displays Play Time
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 500
    @playtime_window.y = 50
    # Displays the "Word Menu" Window
    @wordmenu_window = Window_MenuWord.new
    @wordmenu_window.x = 500
    @wordmenu_window.y = 0
    # Displays the Gold Window
    @gold_window = Window_Gold.new
    @gold_window.x = 500
    @gold_window.y = 426
    # The Menu Status Screen
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    # Game Name Window
    @gamename_window = Window_GameName.new
    @gamename_window.x = 0
    @gamename_window.y = 400
    # Location Window
    @map_window = Window_Location.new
    @map_window.x = 0
    @map_window.y = 440
    # Real Time Window
    @realtime_window = Window_RealTime.new
    @realtime_window.x = 500
    @realtime_window.y = 130
    # Execute Transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of windows
    @command_window.dispose
    @playtime_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @wordmenu_window.dispose
    @map_window.dispose
    @realtime_window.dispose
    @gamename_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update windows
    @command_window.update
    @playtime_window.update
    @gold_window.update
    @status_window.update
    @map_window.update
    @realtime_window.update
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  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 Input.trigger?(Input::RIGHT)
      case @command_window.index
      when 3
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_StatRef.new
      end
    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  # equipment
        # 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  # save
        # 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 5  # end game
        # 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)
      end
      return
    end
  end
end
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: :) on March 17, 2007, 07:06:39 PM
maybe to save time if he agrees, you upload and send him your game and he can put it in.?
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 18, 2007, 12:10:10 AM
what's the point of that? he already has my cms and scene_menu
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: Falcon on March 18, 2007, 12:32:51 PM
Upload your project, that should be the obvious choice.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 18, 2007, 02:05:15 PM
can he just fix the script with the scripts that I gave him? I dont want to give away my project yet.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: :) on March 18, 2007, 02:26:05 PM
xD to one person who willl put in a script and send it back. and delete it off his computer.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: Falcon on March 18, 2007, 02:28:13 PM
QuoteIt worked before right? I don't know what could cause the problem, as mine works well. Try finding the place in the CMS where it says if Input.trigger?(Input::RIGHT) and replacing it with what I have below. If that doesn't work, post up the Scene_Menu part of your script

He doesn't know the fucking problem, so the logical thing to do is send him your whole project so he can find it.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: modern algebra on March 18, 2007, 04:56:42 PM
Okay, well, here, this is exactly the code that works properly for me.


#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================

class Window_PlayTime < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, -5, 120, 32, "Play Time")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.font.color = normal_color
    self.contents.draw_text(-15, 15, 120, 32, text, 2)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays amount of gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 140, 54)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh

    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
  end
end

#Displays Real Time

class Window_RealTime < Window_Base

#Object Initialization
  def initialize
    super(0, 0, 140, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
#Refresh
  def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(10, -5, 120, 32, "Real Time")
   @time_string = Time.now
   text = @time_string.strftime("%A %H:%M:%S")
   self.contents.font.color = normal_color
   self.contents.draw_text(-3, 20, 110, 32, text, 2)
  end
#Time changes in menu
    def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#     Displays Location in Menu

class Window_Location < Window_Base

def initialize
   super(0, 0, 500, 50)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.size = 20
   refresh
end
def refresh
   self.contents.clear
   self.contents.font.color = normal_color
   $data_location = load_data("Data/MapInfos.rxdata")
   self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(0, -9, 120, 32, "Location")
end
end

# Displays Game Name

class Window_GameName < Window_Base

  def initialize
    super(0, 0, 500, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
  end
end


# Displays the Word "Menu"


class Window_MenuWord < Window_Base

  def initialize
    super(0, 0, 140, 50)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.font.color = crisis_color
    self.contents.draw_text(10, -10, 120, 32, "Menu")
  end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 500, 400)
    self.contents = Bitmap.new(width - 32, height - 32)  # "Main" window font
    self.contents.font.size = 20
    refresh
    self.active = false
    self.index = -1
  end
  def draw_actor_battler(actor, x, y, opacity = 255)
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
     cw = bitmap.width
     ch = bitmap.height
     src_rect = Rect.new(0, 0, cw, ch)
     x = i * 120
     y = 180
    self.contents.blt(x, y, bitmap, src_rect, opacity)
   end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = i * 118
      y = 0
      actor = $game_party.actors[i]
      draw_actor_battler(actor, x, y - 10)
      self.contents.font.color = knockout_color
      self.contents.draw_text(x, -9, 45, 32, actor.name, 2)
      self.contents.font.color = normal_color
      draw_actor_class(actor, x, 15)
      draw_actor_state(actor, x, 40)
      draw_actor_level(actor, x, 110)
    # draw exp
      self.contents.font.color = system_color
      self.contents.draw_text(x, 130, 80, 32, "Exp")
      self.contents.draw_text(x, 150, 80, 32, "Next Level")
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
      self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
    # draw hp
      self.contents.font.color = system_color
      self.contents.draw_text(x, 65, 32, 32, "HP") 
      self.contents.font.color = actor.hp == 0 ? knockout_color :
    actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
      self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
    #draw sp
      self.contents.font.color = system_color
      self.contents.draw_text(x, 85, 32, 32, "SP") 
      self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
     self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
      self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 118, 0, 118, 400)
    end
  end
end
#==============================================================================
# **Scene_StatRef and Window_StatRef
#------------------------------------------------------------------------------
# This class show status reference
#==============================================================================
class Window_StatRef < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 18
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
    self.contents.font.color = crisis_color
    self.contents.draw_text(250,0,200,32, "Status Reference")
  #--------------------------------------------------------------------------
  # Change the part where it says "049-Skill06" to whatever Icon you want.
  # They have to be in your Icon Folder and it has to be the exact name of
  # the picture you want to show
  #--------------------------------------------------------------------------
    self.contents.blt(0,22, RPG::Cache.icon("050-Skill07"), src_rect, 255)
    self.contents.blt(0,44, RPG::Cache.icon("047-Skill04"), src_rect, 255)
    self.contents.blt(0,66, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,88, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,110, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,132, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,154, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,176, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,198, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,220, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,242, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,286, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,308, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,330, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,352, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,374, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,396, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.blt(0,418, RPG::Cache.icon("049-Skill06"), src_rect, 255)
    self.contents.font.color = system_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n" to the name of the Status
  # Effects you want to display info on.
  #--------------------------------------------------------------------------
  for i in 1...$data_states.length
    self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
  end
    self.contents.font.color = normal_color
  #--------------------------------------------------------------------------
  # Change the part where it says "Status Effect n Description" to the description
  # of the corresponding Status Effect
  #--------------------------------------------------------------------------
    self.contents.draw_text(200, 22, 400, 32, "Deals damage over time")
    self.contents.draw_text(200, 44, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
    self.contents.draw_text(200, 66, 400, 32, "Status Effect 3 Description")
    self.contents.draw_text(200, 88, 400, 32, "Status Effect 4 Description")   
    self.contents.draw_text(200, 110, 400, 32, "Status Effect 5 Description")
    self.contents.draw_text(200, 132, 400, 32, "Status Effect 6 Description")
    self.contents.draw_text(200, 154, 400, 32, "Status Effect 7 Description")
    self.contents.draw_text(200, 176, 400, 32, "Status Effect 8 Description")
    self.contents.draw_text(200, 198, 400, 32, "Status Effect 9 Description")
    self.contents.draw_text(200, 220, 400, 32, "Status Effect 10 Description")
    self.contents.draw_text(200, 242, 400, 32, "Status Effect 11 Description")
    self.contents.draw_text(200, 264, 400, 32, "Status Effect 12 Description")
    self.contents.draw_text(200, 286, 400, 32, "Status Effect 13 Description")
    self.contents.draw_text(200, 308, 400, 32, "Status Effect 14 Description")
    self.contents.draw_text(200, 330, 400, 32, "Status Effect 15 Description")
    self.contents.draw_text(200, 352, 400, 32, "Status Effect 16 Description")
    self.contents.draw_text(200, 374, 400, 32, "Status Effect 17 Description")
    self.contents.draw_text(200, 396, 400, 32, "Status Effect 18 Description")
    self.contents.draw_text(200, 418, 400, 32, "Status Effect 19 Description")
  end
end

class Scene_StatRef
 
  def main
    @StatRef_window = Window_StatRef.new
    Graphics.transition
    # Main loop
    loop do
      # Update Game Screen
      Graphics.update
      # Update Input Information
      Input.update
      # Frame Update
      update
      # Abort loop if screen changes
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of window
    @StatRef_window.dispose
  end
  def update
    # If pressing ESC
    if Input.trigger?(Input::B)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::LEFT)
      # Play SE
      $game_system.se_play($data_system.cancel_se)
      # Return to Status Window
      $scene = Scene_Menu.new(3)
      return
    end
  end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs menu screen processing.
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # ????????????
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "Status   ->"
    s5 = "Save"
    s6 = "Exit"
    @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index 
    # If # Party Members = 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 Save is Forbidden
    if $game_system.save_disabled
      # Disable Save
      @command_window.disable_item(4)
    end
    # Displays Play Time
    @playtime_window = Window_PlayTime.new
    @playtime_window.x = 500
    @playtime_window.y = 50
    # Displays the "Word Menu" Window
    @wordmenu_window = Window_MenuWord.new
    @wordmenu_window.x = 500
    @wordmenu_window.y = 0
    # Displays the Gold Window
    @gold_window = Window_Gold.new
    @gold_window.x = 500
    @gold_window.y = 426
    # The Menu Status Screen
    @status_window = Window_MenuStatus.new
    @status_window.x = 0
    @status_window.y = 0
    # Game Name Window
    @gamename_window = Window_GameName.new
    @gamename_window.x = 0
    @gamename_window.y = 400
    # Location Window
    @map_window = Window_Location.new
    @map_window.x = 0
    @map_window.y = 440
    # Real Time Window
    @realtime_window = Window_RealTime.new
    @realtime_window.x = 500
    @realtime_window.y = 130
    # Execute Transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Frame update
      update
      # Abort loop if screen is changed
      if $scene != self
        break
      end
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of windows
    @command_window.dispose
    @playtime_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @wordmenu_window.dispose
    @map_window.dispose
    @realtime_window.dispose
    @gamename_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update windows
    @command_window.update
    @playtime_window.update
    @gold_window.update
    @status_window.update
    @map_window.update
    @realtime_window.update
    # If command window is active: call update_command
    if @command_window.active
      update_command
      return
    end
    # If status window is active: call update_status
    if @status_window.active
      update_status
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  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 Input.trigger?(Input::RIGHT)
      case @command_window.index
      when 3
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_StatRef.new
      end
    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  # equipment
        # 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  # save
        # 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 5  # end game
        # 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)
      end
      return
    end
  end
end


This has both the CMS and Scene_StatRef (and Window_StatRef). If it still doesn't work, load the script into a new project and test it. If it doesn't work in he new project, then send that project to me.
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 18, 2007, 09:26:08 PM
it works but some things are out of order. the descriptions and images are fine, but the names of the status effects are not.

the word "sharpen" should be 1 spot below where it is.
"barrier" needs to be moved down 1 spot also.
same with "resist"
and "blink"
and "muscular endurance"
and "endless intellect"
but "obstruction of force" needs to be moved to where "shapen" in
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi163.photobucket.com%2Falbums%2Ft284%2Ffadarkrmxp%2Fjo.jpg&hash=ca4b8896f04002e7f4686b914af88fcc9a4ac92e)


I just noticed: the order that is in the screen shot ubove, is the order that they are in at the database. But thats not the order that i want them in
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: :) on March 18, 2007, 10:11:10 PM
change the databse order.?
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: modern algebra on March 18, 2007, 10:42:48 PM
Yeah, for the names I used a for loop which goes through and writes the names of the status effects based on the order they are in in the database. If you want that fixed you can do one of three things:

1. Change the way they are arranged in Database

2. Change the descriptions and icons so that they are aligned properly

3. edit this part of the script (It's in Window_StatRef):


  for i in 1...$data_states.length
    self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
  end


to


  for i in 1...$data_states.length
    if (i < 13)
      self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
    else
      if (i > 13)
        self.contents.draw_text(30, 22*i, 170, 32, $data_states[i-1].name)
      else
        self.contents.draw_text(30, 22*i, 170, 32, $data_states[19].name)
      end
    end
  end


... i think anyway. It makes the script a little messier though, so you should really just do one of the first two
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 19, 2007, 02:46:49 AM
ok thanks! I did #1. your a real help!
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: :) on March 19, 2007, 02:55:43 AM
since this is solved? remove *cough* *cough* darklord, and add [RESOLVED]
Title: Re: need cms script edit (*cough* darklord *cough*)
Post by: fadark on March 19, 2007, 08:17:54 PM
okaly dokaly ;D


edit: holy crap! my rep. is -9!!!!!!!!!!!!!!!! how is that?????????? I have been very nice to people and have given them my all!!!!!! ???:-\:'(