Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Mog Styled Menus

Status
Not open for further replies.
Hey, my main character named by player, so it is possible to make the face appear on Menu / Stat / etc ?
I mean, the script use actorname_fc2 to get the actor face, but when the player change the name of actor, then he will lost his fae on menu, can u possible fix it ? like if actor id = 1 then the picture will be"hero_fc2" and not actorname_fc2  or something like that ? I just want my actor with id = 1 to have absolut path of face file patch

Thanxs
 
BabyColor. Look back a may earlier posts, about 5 up. I explain it there. long story short, you'll add the face to the menu backgrounds image in paint/photoshop/ect.
 
BabyCOlor":19zjfagf said:
oh, i see... o yeah, thats right, i can just put it on the BG
but how about in the status menu ?
Should no-one be able to answer your question, you'd better get in contact directly with Moghunter.
He runs a brazilian site called "Atelier RGSS", google it or mail him through his profile on post 1 of this topic.

Just to add: He improved a lot these scripts. Many of them were already updated. He's already doing some RGSS2 scripting as well... ^_^
 
May i use some in my game...plz????
I will make some edits...
But you can be sure i will put your name in the credits!

Btw how should i put your name?

Mog,You are Brazilian?
If the answer is yes...

Eu tambem sou! Menus legais cara!
Eu vou usar uns no meu projeto atual...
como vc quer que eu coloque seus nome nos creditos?

If no,nevermind...

Good job man!
 
I'm wondering the same thing as Shirkio1989... I have both XP and VX, but I'm looking for a character selection screen rather like this for VX! :(
 
HoRe":3ip8u1at said:
Is there a party changer script that works with these scripts? I'm using the Mog Scene Menu script, and while the 5th character is clearly in the party, you can't scroll down the menu to view him. Anyone know a way to fix that?...
^

I also am wondering how to fix this.
 
HoRe":248g2ey8 said:
Is there a party changer script that works with these scripts? I'm using the Mog Scene Menu script, and while the 5th character is clearly in the party, you can't scroll down the menu to view him. Anyone know a way to fix that?...

aight well as long as its only the menu......I found a method that works.....I just merged Dargors Large Party script and Moghunters Menu......(Sorry if either of you guys (Moghunter/Dargor) have a problem with that.....)
Anyway.....i don't want any credit....unless u guys really want to mention my name.......not really concerned....but if you use this....you *have* to credit Moghunter and Dargor.......

any way here it is:

Mog Style Menu (Remix) feat. Dargor's Large Party Script

Code:
#_______________________________________________________________________________
# MOG Scene Menu Itigo V1.2 *REMIX*REMIX*REMIX*           
#_______________________________________________________________________________
# By Moghunter feat. Dragor, Produced by: Epik_Chance  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
#((((((((((((((((((****REMIX****REMIX***REMIX****REMIX****))))))))))))))))))))))
#_______________________________________________________________________________
# Remix w/ Large Party(Dargor)
#
# By: Epik_Chance
#_______________________________________________________________________________
#
# First off.....i'm not a scripter...infact i started using RM XP 2 months ago
# This is also not my original script.......
# I can't answer any questions, or help you, or fix any problems that may occur
# Please ask Dragor or Moghunter or any of the other Scripters on this site for
# help.....
#
# all i did was add parts of Dragor's Script to Moghunter's script then play
# around with the numbers till i got it to look right
# 
# This worked in a blank project with just the Mog Menu script and Dargors Large
# Party Script both above main in this order: 
#              
#                    Mog's Menu--->Large Party--->Main
#
#
# **Outlined all the parts I added....so you can see what I did....and maybe
#   come up with a more effecient script or sumthing.....(cuz i'm sure half the
#   things i did were not needed**
#_______________________________________________________________________________
# 
# Not trying to steal anyone's credit, just merged the 2 scripts because a lot
# of people seemed to be needing a larger party using Mog's Menu
#
# Crediting me is not really important......unless u really want to....won't say
# no if u guys really want to.......
#
# more importantly credit both Moghunter and Dargor.......
#_______________________________________________________________________________
module MOG
#Transition Time. 
MNTT = 20
#Transition Type (Name)
MNTP = "006-Stripe02"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_itigo"] = true
##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
###############
# Window_Base #
###############
class Window_Base < Window 
def nada
face = RPG::Cache.picture("")
end    
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
cw = face.width 
ch = face.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect)    
end   
def draw_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("HP_Bar")    
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("HP_Tx")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
end  
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("SP_Bar")    
cw = meter.width  * actor.sp / actor.maxsp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = RPG::Cache.picture("SP_Tx")    
cw = text.width  
ch = text.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)    
end  
def draw_mexp2(actor, x, y)
bitmap2 = RPG::Cache.picture("Exp_Back")
cw = bitmap2.width 
ch = bitmap2.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
bitmap = RPG::Cache.picture("Exp_Meter")
if actor.level < 99
cw = bitmap.width * rate 
else
cw = bitmap.width
end   
ch = bitmap.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
exp_tx = RPG::Cache.picture("Exp_tx")
cw = exp_tx.width 
ch = exp_tx.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 55 , y - ch + 30, exp_tx, src_rect)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width 
ch = lv_tx.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 125 , y - ch + 35, lv_tx, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 161, y + 7, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 160, y + 6, 24, 32, actor.level.to_s, 1)
end
def draw_actor_state2(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text,2)
end  
end
######################----------------------------------------##
# Window_MenuStatus2 #Only edited this section of the script  ##
######################----------------------------------------##
class Window_MenuStatus2 < Window_Selectable
#-------------------------------------------------------------------##
alias large_party_menu_status_initialize initialize                 ##
alias large_party_menu_status_update_cursor_rect update_cursor_rect ##
#-------------------------------------------------------------------##
def initialize
super(0, 0, 415, 280)
self.contents = Bitmap.new(width - 32, height - 32)
#-------------------------------------------------------------##    
    @item_max = $game_party.actors.size                       ##
    height = @item_max * 118                                  ##
    self.contents = Bitmap.new(width - 32, height - 32)       ##
#-------------------------------------------------------------##
refresh
self.active = false
self.opacity = 0
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 20
y = i * 62
actor = $game_party.actors[i]
self.contents.font.name = "Georgia"
if $mogscript["TP_System"] == true
draw_actor_tp(actor ,x + 285, y - 5,4)  
draw_actor_state2(actor ,x + 190, y - 5)
else  
draw_actor_state2(actor ,x + 220, y - 5)
end
drw_face(actor,x,y + 50)
draw_maphp3(actor,x + 40, y - 5)
draw_mapsp3(actor,x + 40, y + 20 )
draw_mexp2(actor,x + 140, y + 15 )
end
end
def update_cursor_rect
#-------------------------------------------------##
large_party_menu_status_update_cursor_rect        ##
row = @index / @column_max                        ##
if row < self.top_row                             ##
self.top_row = row                                ##
end                                               ##
if row > self.top_row + (self.page_row_max - 1)   ##
self.top_row = row - (self.page_row_max - 1)      ##
end                                               ##
cursor_width = self.width / @column_max - 32      ##
x = @index % @column_max * (cursor_width + 32)    ##
y = @index / @column_max * 62 - self.oy           ##
self.cursor_rect.set(x, y, cursor_width, 50)      ##
#-------------------------------------------------##

#if @index < 0
#self.cursor_rect.empty
#else
#self.cursor_rect.set(5, @index * 62, self.width - 32, 50)
#end

end
#-----------------------------------------------------------------------------##
def top_row                                                                   ##
    return self.oy / 62                                                       ##
  end                                                                         ##
  #---------------------------------------------------------------------------##
  # * Set Top Row
  #     row : new row
  #---------------------------------------------------------------------------##
  def top_row=(row)                                                           ##
    if row < 0                                                                ##
      row = 0                                                                 ##
    end                                                                       ##
    if row > row_max - 1                                                      ##
      row = row_max - 1                                                       ##
    end                                                                       ##
    self.oy = row * 62                                                        ##
  end                                                                         ##
  #---------------------------------------------------------------------------##
  # * Page Row Max
  #---------------------------------------------------------------------------##
  def page_row_max                                                            ##
    return 4                                                                  ##
  end                                                                         ##
#-----------------------------------------------------------------------------##
end
################
# Window_Gold2 #
################
class Window_Gold2 < Window_Base
def initialize
super(0, 0, 160, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
end
end
####################
# Window_PlayTime2 #
####################
class Window_PlayTime2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
@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(4, 32, 120, 32, text, 2)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#################
# Window_Steps2 #
#################
class Window_Steps2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, $game_party.steps.to_s, 2)
end
end
##############
# Scene_Menu #
##############
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = ""
s2 = ""
s3 = ""
s4 = ""
s5 = ""
s6 = ""
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
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
@command_window.visible = false
@command_window.x = -640
@mnlay = Sprite.new
@mnlay.bitmap = RPG::Cache.picture("Mn_lay")
@mnlay.z = 10
@mnback = Plane.new
@mnback.bitmap = RPG::Cache.picture("Mn_back")
@mnback.blend_type = 0
@mnback.z = 5
@mnback2 = Plane.new
@mnback2.bitmap = RPG::Cache.picture("Mn_back")
@mnback2.blend_type = 0
@mnback2.z = 5
@mnback2.opacity = 60
@mnsel = Sprite.new
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel")
@mnsel.z = 20
@mnsel.x = 0
@mnsel.y = 110
@mnop = 150
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime2.new
@playtime_window.x = 30
@playtime_window.y = 375
@playtime_window.opacity = 0
@playtime_window.z = 15
@steps_window = Window_Steps2.new
@steps_window.x = 230
@steps_window.y = 375
@steps_window.opacity = 0
@steps_window.z = 15
@gold_window = Window_Gold2.new
@gold_window.x = 455
@gold_window.y = 405
@gold_window.opacity = 0
@gold_window.z = 15
@status_window = Window_MenuStatus2.new
@status_window.x = 195
@status_window.y = 110
@status_window.opacity = 0
@status_window.z = 15
Graphics.transition(MOG::MNTT, "Graphics/Transitions/" + MOG::MNTP)
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
@mnlay.dispose
@mnback.dispose
@mnback2.dispose
@mnsel.dispose
Graphics.update
end
def update
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
@mnback.oy += 1
@mnback.ox += 1
@mnback2.oy += 1
@mnback2.ox -= 1
@mnop += 5
if @command_window.active == true
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel")    
else
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel_off")
@mnsel.zoom_x = 1
@mnsel.opacity = 255
end
if @mnop >= 255
@mnop = 120
end   
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if @mnsel.zoom_x <= 1.6
@mnsel.zoom_x += 0.03
@mnsel.opacity -= 10
elsif @mnsel.zoom_x > 1.6
@mnsel.zoom_x = 1.0
@mnsel.opacity = 255
end   
case @command_window.index
when 0  
@mnsel.x = 0
@mnsel.y = 110
when 1
@mnsel.x = 25
@mnsel.y = 155
when 2
@mnsel.x = 40
@mnsel.y = 197
when 3
@mnsel.x = 45
@mnsel.y = 242
when 4
@mnsel.x = 25
@mnsel.y = 285
when 5
@mnsel.x = 0
@mnsel.y = 325
end    
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0 
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1 
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 
$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
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5 
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1 
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2  
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3  
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end

and Dargor's Large Party Script:

Code:
#==============================================================================
# ** Large Party
#------------------------------------------------------------------------------
#  Author: Dargor
#  Version 1.3
#  02/08/2007
#==============================================================================

#==============================================================================
# ** Large Party Customization Module
#==============================================================================

module Dargor
  module Large_Party
    # Maximum number of actors allowed in the party
    Max_Size = 9
    # Battle status window refresh rate (used in phase5)
    Battle_Refresh_Rate = 64
  end
end

#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
#  Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :battle_actor_index  # @actor_index in battle scene
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_temp_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    large_party_temp_initialize
    @battle_actor_index = 0
  end
end

#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold 
#  and items. Refer to "$game_party" for the instance of this class.
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :max_size   # Max number of actors allowed in the party
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_initialize initialize
  alias large_party_add_actor add_actor
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    large_party_initialize
    @max_size = Dargor::Large_Party::Max_Size
  end
  #--------------------------------------------------------------------------
  # * Add an Actor
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def add_actor(actor_id)
    # Original method
    large_party_add_actor(actor_id)
    # Get actor
    actor = $game_actors[actor_id]
    # If the party has less than 4 members and this actor is not in the party
    if @actors.size < @max_size and not @actors.include?(actor)
      # Add actor
      @actors.push(actor)
      # Refresh player
      $game_player.refresh
    end
  end
end

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display the battler.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_sprite_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Original method
    large_party_sprite_update
    # Set sprite coordinates
    if @battler.is_a?(Game_Actor)
      self.x = @battler.screen_x - ($game_temp.battle_actor_index / 4) * 640
    end
  end
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_spriteset_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Cycle through all extra actors (4+)
    # Create/update sprites
    for i in 4...$game_party.actors.size
      if @actor_sprites[i].nil?
        @actor_sprites.push(Sprite_Battler.new(@viewport2))
      end
      @actor_sprites[i].battler = $game_party.actors[i]
    end
    # Original method
    large_party_spriteset_update
  end
end

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

class Window_MenuStatus < Window_Selectable#Window_MenuStatus
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_menu_status_initialize initialize
  alias large_party_menu_status_refresh refresh
  alias large_party_menu_status_update_cursor_rect update_cursor_rect
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Original method
    large_party_menu_status_initialize
    # Adjust contents height
    @item_max = $game_party.actors.size
    height = @item_max * 118
    self.contents = Bitmap.new(width - 32, height - 32)
    # Refresh
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh(*args)
    # Original method
    large_party_menu_status_refresh(*args)
    # Adjust default height
    self.height = 480
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
    large_party_menu_status_update_cursor_rect
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  #--------------------------------------------------------------------------
  # * Top Row
  #--------------------------------------------------------------------------
  def top_row
    return self.oy / 116
  end
  #--------------------------------------------------------------------------
  # * Set Top Row
  #     row : new row
  #--------------------------------------------------------------------------
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
  #--------------------------------------------------------------------------
  # * Page Row Max
  #--------------------------------------------------------------------------
  def page_row_max
    return 4
  end
end

#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
#  This window displays the status of all party members on the battle screen.
#==============================================================================

class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_battle_status_initialize initialize
  alias large_party_battle_status_refresh refresh
  alias large_party_battle_status_update update
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @column_max = 4
    large_party_battle_status_initialize
    width = $game_party.actors.size * 160
    self.contents = Bitmap.new(width - 32, height - 32)
    self.width = 640
    @level_up_flags = []
    for i in 0...$game_party.actors.size
      @level_up_flags << false
    end
    @item_max = $game_party.actors.size
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    # Refresh contents when actors are added/removed in-battle
    if $game_party.actors.size != @item_max
      @item_max = $game_party.actors.size
      width = @item_max * 160
      self.contents = Bitmap.new(width - 32, height - 32)
      self.width = 640
    end
    large_party_battle_status_refresh
    column = $game_temp.battle_actor_index / 4
    self.ox = column * 640
  end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias large_party_phase3_setup_command_window phase3_setup_command_window
  alias large_party_update_phase4_step2 update_phase4_step2
  alias large_party_start_phase5 start_phase5
  alias large_party_update_phase5 update_phase5
  #--------------------------------------------------------------------------
  # * Actor Command Window Setup
  #--------------------------------------------------------------------------
  def phase3_setup_command_window
    $game_temp.battle_actor_index = @actor_index
    @status_window.refresh
    large_party_phase3_setup_command_window
    @actor_command_window.x = (@actor_index%4) * 160
  end
  #--------------------------------------------------------------------------
  # * Frame Update (main phase step 2 : start action)
  #--------------------------------------------------------------------------
  def update_phase4_step2
    if @active_battler.is_a?(Game_Actor)
      $game_temp.battle_actor_index = @active_battler.index
      @status_window.refresh
    end
    large_party_update_phase4_step2
  end
  #--------------------------------------------------------------------------
  # * Start After Battle Phase
  #--------------------------------------------------------------------------
  def start_phase5
    @actor_index = 0
    @status_wait = Graphics.frame_count
    large_party_start_phase5
  end
  #--------------------------------------------------------------------------
  # * Frame Update (after battle phase)
  #--------------------------------------------------------------------------
  def update_phase5
    refresh_rate = Dargor::Large_Party::Battle_Refresh_Rate
    if Graphics.frame_count >= @status_wait + refresh_rate
      $game_temp.battle_actor_index = @actor_index
      @status_window.refresh
      @status_wait = Graphics.frame_count
      max = ($game_party.actors.size.to_f/4).ceil * 4
      @actor_index = (@actor_index+1) % max
    end
    large_party_update_phase5
  end
end

and here's a link to his thread:
his party changer thread.....(has his large party script)
and.....
his actual large party thread


Oh yeah.....you need both the remixed mog menu and the large party script for this to work.......
 
aight......finished it.......works just like Dargor's party changer....(well....it is Dargor's party changer (no surprises there).....just made to work with Mog's Menu).
Hmmm.....lemme see if i can explain it a bit........basically you can have a bunch of people in the party.....and u can have a battle party........you won't see the people in your party....you'll just be able to equip, use item/skill on only your battle party....but you can change that party whenever you want...from the menu....or (optional) from the battle.....(don't know if it will work with your battle system Gustave....but you can try.....) :thumb:.....well its kinda long to paste the scripts...so i'll just upload a demo.......(oh yeah....and i don't know how to change the order of the menu....so you'll just have to stick with this......(and ur gonna have to change ur mn_lay to update the new commands.....srry  :sad:)

any way.....enough of my ramblings.....
here it is:

Mirror 1
(well theres only 1 mirror....tell me if any1 has a problem downloading it and i'll upload it sumwhere else......)
 
I am tring to add a 5th character to the screen/party so far nothing is working.

Also I am looking for information on the bars used in the script. I am messing in and out of game with the bars so that I can edit them but if it's possible to know which bars does what, that would be a step forward for me.
 
I was wondering, could someone please help me make an edit of the character selection scene where the character name is placed higher up but not to close to the battler to fit a description under it, specific to each character? I have an edit so I only have 4 character selections, the other characters are just an image file, no selection:
Code:
#_________________________________________________
# MOG_Character Select Screen V1.1          
#_________________________________________________
# By Moghunter               
#_________________________________________________
if true
module MOG
#Transition Type(Name).  
CSTR = "006-Stripe02"  
end
$mogscript = {} if $mogscript == nil
$mogscript["char_select"] = true
############
# Win Char #
############
class Win_Char < Window_Selectable
def initialize
super(-600, 0, 150, 150)
@column_max = 2
self.opacity = 0
refresh    
self.index = 1
self.visible = false
end
def item
return @data[self.index]
end  
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@item_max = 4
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end end end  
def draw_item(index)
end end
##############
# Scene_Char #
##############
class Scene_Char
def main
@command_window = Win_Char.new
@command_window.back_opacity = 0
@command_window.visible = false
@command_window.index = 0    
@back = Plane.new
@back.bitmap = RPG::Cache.picture("MN_BK")
@back.z = 10
@char_back = Sprite.new
@char_back.bitmap = RPG::Cache.picture("CH_Menu0")
@char_back.z = 20
@char_back.opacity = 0
@char_sel = Sprite.new
@char_sel.bitmap =  RPG::Cache.picture("CH_ID1")
@char_sel.z = 100
@char_sel.opacity = 0
@char_name = Sprite.new
@char_name.bitmap = RPG::Cache.battler("001-Fighter01",0)
@char_name.z = 100
@char_name.x = -300
@char_name.y = 180    
@char_name.opacity = 0
@fundo6 = Plane.new
@fundo6.bitmap = RPG::Cache.fog("Fog01",0)
@fundo6.blend_type = 1
@fundo6.z = 15
@fundo6.opacity = 200   
actor = $data_actors[1]
@name = Sprite.new
@name.bitmap = Bitmap.new(200,100)
@name.bitmap.font.size = 48
@name.bitmap.font.bold = false
@name.bitmap.font.name = "Georgia"
@name.color.set(0,0,0)    
@name.x = 100
@name.y = 500
@name.z = 9998
@name.color.set(0,0,0,255)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2 = Sprite.new
@name2.bitmap = Bitmap.new(160,100)
@name2.bitmap.font.size = 48
@name2.bitmap.font.bold = false
@name2.bitmap.font.name = "Georgia"
@name2.color.set(0,0,0)    
@name2.x = 102
@name2.y = 502
@name2.z = 9998
@name2.color.set(55,200,255,255)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
Graphics.transition(60, "Graphics/Transitions/" + MOG::CSTR,1)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end end
for i in 1..50
@char_back.zoom_x += 0.01
@char_back.opacity -= 10
@char_back.x -= 5
@char_name.x -= 3
@char_name.y -= 3
@char_name.zoom_x += 0.02
@char_name.zoom_y += 0.02    
@char_name.opacity -= 7
@char_sel.opacity -= 10
@char_sel.zoom_x += 0.01
@char_sel.opacity -= 10
@char_sel.x -= 5
@name.opacity -= 10
@name2.opacity -= 10    
Graphics.update  
end
Graphics.freeze
@command_window.dispose
@back.dispose
@char_back.dispose
@char_sel.dispose
@char_name.dispose
@fundo6.dispose
@name.dispose
@name2.dispose
$game_map.autoplay
end
def update
@back.ox -= 1
@fundo6.ox += 1
@fundo6.oy += 1    
@command_window.update    
@char_back.opacity += 10
@char_sel.opacity += 10
if @char_name.x < 100
@char_name.x += 20
@char_name.opacity += 6
@name.y -= 7
@name.opacity += 6
@name2.y -= 7
@name2.opacity += 6       
elsif @char_name.x >= 0  
@char_name.x = 100
@name.y = 370
@name.opacity = 255
@name2.y = 372
@name2.opacity = 255
@char_name.opacity = 255
@char_back.opacity = 255
@char_sel.opacity = 255
end    
case @command_window.index
when 0
actor = $data_actors[1]  
@char_sel.bitmap =  RPG::Cache.picture("CH_ID1")
@char_name.bitmap = RPG::Cache.battler("001-Fighter01",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)    
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)    
when 1
actor = $data_actors[2]
@char_sel.bitmap =  RPG::Cache.picture("CH_ID2")
@char_name.bitmap = RPG::Cache.battler("010-Lancer02",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s) 
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)      
when 2
actor = $data_actors[3]      
@char_sel.bitmap =  RPG::Cache.picture("CH_ID3")
@char_name.bitmap = RPG::Cache.battler("013-Warrior01",0)   
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)  
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)    
when 3
actor = $data_actors[4]      
@char_sel.bitmap = RPG::Cache.picture("CH_ID4")
@char_name.bitmap = RPG::Cache.battler("019-Thief04",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)        
when 4
actor = $data_actors[5]      
@char_sel.bitmap = RPG::Cache.picture("CH_ID5")
@char_name.bitmap = RPG::Cache.battler("008-Fighter08",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s) 
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)      
end
if Input.press?(Input.dir4)
@char_name.x = -300
@name.y = 500
@name.opacity = 0
@name2.y = 502
@name2.opacity = 0
@char_name.opacity = 0
@name.bitmap.clear
@name2.bitmap.clear
end
if Input.trigger?(Input::B)
$scene = Scene_Title.new  
end    
if Input.trigger?(Input::C)
Audio.se_play("Audio/SE/007-System07", 150,150)      
case @command_window.index
when 0 
$game_party.add_actor(17)
when 1      
$game_party.add_actor(18)
when 2
$game_party.add_actor(19)
when 3
$game_party.add_actor(20)
end
$scene = Scene_Map.new 
end 
end
end
end

Could someone please help me with this small edit?
 
dayhjawk":ml5bb79o said:
I am tring to add a 5th character to the screen/party so far nothing is working.

it should work......does it work in the demo? worked for me when i tried....maybe you're not copying all the scripts fully.....(you'll need all of them....)?if thats not the problem....then can't help you bro........

edit:-

diablosbud":ml5bb79o said:
I was wondering, could someone please help me make an edit of the character selection scene where the character name is placed higher up but not to close to the battler to fit a description under it, specific to each character? I have an edit so I only have 4 character selections, the other characters are just an image file, no selection

Here's what i would do.....its not brilliant....its not economical.....but it should work......

first off....change all the @name.x = whatever
and the                       @name.y = whatever till you get where you want the name to be.......
(repeat the same for all @name2.x and @name2.y)

then.....copy these lines
Code:
@name = Sprite.new
@name.bitmap = Bitmap.new(200,100)
@name.bitmap.font.size = 48
@name.bitmap.font.bold = false
@name.bitmap.font.name = "Georgia"
@name.color.set(0,0,0)    
@name.x = 100
@name.y = 500
@name.z = 9998
@name.color.set(0,0,0,255)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)

add a 3 to the end of the all the "name"(@name.x -----> @name3.x)......change whatever else you need....(size, font, position etc.....) add that below all the lines with name2 under scene_char, main.......change the actor.name.to_s to whatever text appears for the first character.....

then wherever you see  @name2 add the exact same thing below it just replacing the 2 with 3....(@name2.dispose -------> @name3.dispose)


under each character change the actor.name.to_s to whatever text appears for that character.....

repeat the process for every line.....

that should work...but i'm not sure....i'll be able to check if it works in 2 weeks...when i get back from my vacation...(and back to my laptop) srry if it doesn't work...but hey.....atleast i tried........
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top