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
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?
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
Bump
Bump again.
No one?
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.
There's no multiplayer script.
Then how do you have eight members in your party? Default is 4
I thought that was able to fix by edit that in the CMS. I didn't know that you needed a multiplayer script.
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...