Main Menu
  • Welcome to The RPG Maker Resource Kit.

[AVAILABLE] Can someone edit this script?

Started by The Shadow, December 18, 2007, 07:38:30 PM

0 Members and 1 Guest are viewing this topic.

The Shadow

I asked a friend of mine to make me a 8 Player CMS. He agreed to make the CMS, but someone else needs to edit it, so it can have 8 players.

So Im asking if someone could add this script, so it can have 8 players instead of 4?

Here's the script.

#------------------------------------------------------------------------------
class Window_Commands < Window_Selectable
  def initialize
    super(0,150,120,35*6)
    self.contents = Bitmap.new(width-32,height-32)
    self.windowskin = RPG::Cache.windowskin("WS")
    self.contents.font.name = "Arial"
    @commands = ["Items","Skills","Status","Equip","Quit"]
    for i in 0...5
    self.contents.draw_text(4,i*32,200,35,@commands[i])
    end
    self.index = 0
    @item_max = 5
  end
end

class Window_Info < Window_Base
  def initialize
    super(0,0,700,100)
    self.windowskin = RPG::Cache.windowskin("WS")
    self.contents = Bitmap.new(width-32,height-32)
end
def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
  def refresh
    self.contents.clear
    data = load_data("Data/MapInfos.rxdata")
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    textime = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.draw_text(140,0,200,70,textime)
    self.contents.font.name = "Arial"
    self.contents.font.color = text_color(6)
    self.contents.draw_text(260,0,200,32,"Gold")
    self.contents.draw_text(360,0,200,32,"Location")
    self.contents.draw_text(130,0,200,32,"Play Time")
    self.contents.font.color = text_color(0)
    self.contents.draw_text(270,0,200,70,$game_party.gold.to_s)
    self.contents.draw_text(370,0,200,70,data[$game_map.map_id].name)
  end
end
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
class Window_Chars < Window_Selectable
  def initialize
    super(120,130,600,340)
    self.contents = Bitmap.new(width-32,height-32)
    self.windowskin = RPG::Cache.windowskin("WS")
    self.contents.font.name = "Arial"
    #Draws Charcters status
for i in 0...$game_party.actors.size
  actor = $game_party.actors[i]
  self.contents.font.size = 14
  self.contents.draw_text(125*i+100,32,200,32,actor.level.to_s)
  self.contents.draw_text(125*i+25,0,200,32,actor.name)
  self.contents.draw_text(125*i+25,32,200,32,"Level :")
  self.contents.font.size = 14
  self.contents.draw_text(125*i+25,64,200,32,"HP")
  self.contents.draw_text(125*i+25,96,200,32,"SP")
  draw_actor_class(actor,125*i+90,0)
  draw_actor_state(actor, 125*i+25,96+22)
  draw_actor_exp(actor, 125*i-55,96+44)
  draw_actors_hp(actor, 125*i-10,64)
  draw_actors_sp(actor, 125*i-10,96)
end
#End draw
self.index = 0
@item_max = $game_party.actors.size
@column_max = 4
end
#Sets cursor position and dimensions
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * 125+22, 0, self.width/4-50, self.height-30)
    end
  end
  #End setting cursor
  #--------------------------------------------------------------------------
  # * Draw HP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  def draw_actors_hp(actor, x, y, width = 144)
    # Draw "HP" text string
    self.contents.font.color = system_color
    # Calculate if there is draw space for MaxHP
    if width - 32 >= 108
      hp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      hp_x = x + width - 48
      flag = false
    end
    # Draw HP
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    # Draw MaxHP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw SP
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     width : draw spot width
  #--------------------------------------------------------------------------
  def draw_actors_sp(actor, x, y, width = 144)
    # Draw "SP" text string
    self.contents.font.color = system_color
    # Calculate if there is draw space for MaxHP
    if width - 32 >= 108
      sp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      sp_x = x + width - 48
      flag = false
    end
    # Draw SP
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
    self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    # Draw MaxSP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    end
  end
end

modern algebra

Is that the entire thing? There's no scene, and many of the windows I'd expect are not there, and Window_Commands seems like it is the same as Window_Command, just hard coded. Do you want someone to write the scene?

The Shadow

Oh! Sorry, I forgot to post the Scene>_<

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @window_commands = Window_Commands.new
    @window_info = Window_Info.new
    @window_chars = Window_Chars.new
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.picture("bg")
    @sprite.z = 100
    @bg = Spriteset_Map.new
    # 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
    @window_commands.dispose
    @window_chars.dispose
    @window_info.dispose
    @sprite.dispose
    @bg.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @window_commands.update
    @window_chars.update
    @window_info.update
    update_selection
  end
  def update_selection
   
  if Input.trigger?(Input::C)
    case @window_commands.index
    when 0
      $scene = Scene_Item.new
    when 1
      $scene = Scene_Skill.new(@window_chars.index)
    when 2
      $scene = Scene_Status.new(@window_chars.index)
    when 3
      $scene = Scene_Equip.new(@window_chars.index)
    when 4
      $scene = Scene_End.new
    end
   
  end
  if Input.trigger?(Input::B)
    $scene = Scene_Map.new
    end
  end
  end

The Shadow


The Shadow


modern algebra

#5
Sure, what multi-member party script are you using? In other words, in what variable are the reserve members of your party kept?

Also, inform your friend that the width of the window in RMXP is 640, not 700.

The Shadow


modern algebra

Then how do you have eight members in your party? Default is 4

The Shadow

I thought that was able to fix by edit that in the CMS. I didn't know that you needed a multiplayer script.

modern algebra

Well, it's not difficult to modify it so that you can have more, but it will need to be compatible with your Battle System, and there are numerous features, for instance if you want active and reserve party or if you want all characters active, etc...