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.

Help with simple edit of Status screen?

Hello,

I don't know if this is the correct forum. I'm not asking for a full script. I just need help with a few edits.

I know next to nothing of Ruby and I want to replace the EXP information with a line of text and a few pictures. Here's a pair of before & after mock pics of what I'm looking for:

jackpaperdollbefore.png


jackpaperdollafter.png


(The EXP information isn't important for my game.)

-I'm using RMXP.
-I'm not using any script that alters the default Status screen.
-The favorite foods for each character never changes through the entire game. So the pictures I want to display are just static and never change.
-Each character has a different set of favorite foods.
-Each character has 2-7 favorite foods.

Can someone provide me with step-by-step instructions on how to do this?
(Is it as easy as I think it is, or is it more involved?)

Will it be easier if I made a single pic for all food items? Or can a series of pics (for each food item) be easier? If it doesn't matter, I'd rather keep them as separate pics and grab them directly from the Graphics/Icons folder.

I'm guessing there will be separate lines I need to add for each character, based on Character IDs. If you provide the code for Character 001 and what and how to add pics, I should be able to figure out the rest.

Any help is appreciated.
 
I'm done. I won't go into details, but you have a module called FavoriteFoods with a method called favorite_foods. The method has a simple case conditional branching. The method returns an array with the name of the icons. Remember to add the icons in the Icons folder, not the Pictures folder.

If you have any questions about conditional branching, look into the RPG Maker help file, under Ruby Syntax. If you have any other doubts, feel free to contact me.

Ruby:
#==============================================================================

# ** FavoriteFoods

#------------------------------------------------------------------------------

#  This class is for all in-game windows.

#==============================================================================

 

module FavoriteFoods

  #--------------------------------------------------------------------------

  # * Favorite Foods

  #     actor : actor

  #--------------------------------------------------------------------------

  def self.favorite_foods(actor)

    case actor.id

    when 1

      return ['032-Item01','033-Item02','034-Item03']

    when 2

      return ['032-Item01','033-Item02']

    when 3

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05',

              '037-Item06','038-Item07']

    when 4

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05']

    when 5

      return ['032-Item01','033-Item02','034-Item03']

    when 6

      return ['032-Item01','033-Item02']

    when 7

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05',

              '037-Item06','038-Item07']

    when 8

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05']

    end

    return []

  end

end

 

 

#==============================================================================

# ** Window_Base

#------------------------------------------------------------------------------

#  This class is for all in-game windows.

#==============================================================================

 

class Window_Base < Window

  #--------------------------------------------------------------------------

  # * Draw Favorite Foods

  #     actor : actor

  #     x     : draw spot x-coordinate

  #     y     : draw spot y-coordinate

  #--------------------------------------------------------------------------

  def draw_actor_favorite_foods(actor, x, y)

    return if actor == nil

    favorite_foods = FavoriteFoods::favorite_foods(actor)

    for i in 0...favorite_foods.size

      icon_name = favorite_foods[i]

      bitmap = RPG::Cache.icon(icon_name)

      self.contents.blt(x + i*32, y + 4, bitmap, Rect.new(0, 0, 24, 24))

    end

  end

end

 

 

#==============================================================================

# ** Window_Status

#------------------------------------------------------------------------------

#  This window displays full status specs on the status screen.

#==============================================================================

 

class Window_Status < Window_Base

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    draw_actor_graphic(@actor, 40, 112)

    draw_actor_name(@actor, 4, 0)

    draw_actor_class(@actor, 4 + 144, 0)

    draw_actor_level(@actor, 96, 32)

    draw_actor_state(@actor, 96, 64)

    draw_actor_hp(@actor, 96, 112, 172)

    draw_actor_sp(@actor, 96, 144, 172)

    draw_actor_parameter(@actor, 96, 192, 0)

    draw_actor_parameter(@actor, 96, 224, 1)

    draw_actor_parameter(@actor, 96, 256, 2)

    draw_actor_parameter(@actor, 96, 304, 3)

    draw_actor_parameter(@actor, 96, 336, 4)

    draw_actor_parameter(@actor, 96, 368, 5)

    draw_actor_parameter(@actor, 96, 400, 6)

    self.contents.font.color = system_color

    self.contents.draw_text(320, 48, 120, 32, "Favorite Foods")

    draw_actor_favorite_foods(@actor, 320, 80)

    self.contents.draw_text(320, 160, 96, 32, "Equipment")

    draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)

    draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)

    draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)

    draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)

    draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)

  end

end

 

EDIT: I almost forgot, this goes above Main, or at least below Window_Status.
 
Okay, another problem, semi-related. A little more involved:

A couple years ago I got help with a secondary status screen for my game. He provided me with a demo project where it worked perfectly fine. He gave me the following script to add above Main:

Ruby:
#==============================================================================

# ** UO_Skills

#==============================================================================

 

module UO_Skills

  #--------------------------------------------------------------------------

  # * Constant Setup (Do not modify)

  #--------------------------------------------------------------------------

  Actor_Skills = {}

  Skill_Names = {}

  Skill_Locks = {}

  #--------------------------------------------------------------------------

  # * Actor Skill Setup

  #

  # Chad Sexington    - Poisoning (16), Hiding (19), Cannibalism (22)

  # TheOneEyedJack    - Magery (11), Meditation (23), Fishing (56)

  # Baby Eating Ogre  - None

  # Endrick           - Chivalry (15), Focus (28), Healing (7)

  # Lord Book Master  - Magery (12), Meditation (26), Inscription (21)

  # Special SixtyNyn  - Blacksmithy (51), Mining (49), Tinkering (50)

  # Robyn Banks       - Lockpicking (57), Luck (69), Disguise Kit (71)

  # Endrick / B.E.O.  - Chivalry (15), Focus (28), Healing (7)

  #--------------------------------------------------------------------------

  Actor_Skills[1]     = [16, 19, 22]

  Actor_Skills[2]     = [11, 23, 56]

  Actor_Skills[3]     = []

  Actor_Skills[4]     = [15, 28,  7]

  Actor_Skills[5]     = [12, 26, 21]

  Actor_Skills[6]     = [51, 49, 50]

  Actor_Skills[7]     = [57, 69, 71]

  Actor_Skills[8]     = [15, 28,  7]

  #--------------------------------------------------------------------------

  # * Skill Name Setup

  #--------------------------------------------------------------------------

  Skill_Names[7]  = 'Healing'       # (7)

  Skill_Names[11] = 'Magery'        # (11)

  Skill_Names[12] = 'Magery'        # (12)

  Skill_Names[15] = 'Chivalry'      # (15)

  Skill_Names[16] = 'Poisoning'     # (16)

  Skill_Names[19] = 'Hiding'        # (19)

  Skill_Names[21] = 'Inscription'   # (21)

  Skill_Names[22] = 'Cannibalism'   # (22)

  Skill_Names[23] = 'Meditation'    # (23)

  Skill_Names[26] = 'Meditation'    # (26)

  Skill_Names[28] = 'Focus'         # (28)

  Skill_Names[56] = 'Fishing'       # (56)

  Skill_Names[57] = 'Lockpicking'   # (57)

  Skill_Names[69] = 'Luck'          # (69)

  Skill_Names[71] = 'Disguise Kit'  # (71)

  #--------------------------------------------------------------------------

  # * Skill Locks

  #--------------------------------------------------------------------------

  Skill_Locks[19] = 258

  Skill_Locks[22] = 260

  Skill_Locks[69] = 259

  Skill_Locks[71] = 261

  #--------------------------------------------------------------------------

  # * Get Skills

  #--------------------------------------------------------------------------

  def self.actor_skills(actor_id)

    # Start Skill List

    skills = Actor_Skills[actor_id]

    # Remove Locked Skills

    skills.each do |sid|

      if Skill_Locks.has_key?(sid)

        skills.delete(sid) unless $game_switches[Skill_Locks[sid]]

      end

    end

    # Return Skill List

    return skills

  end

end

 

#==============================================================================

# ** UO_Skills::Window_Skills

#==============================================================================

 

class UO_Skills::Window_Skills < Window_Base

  #--------------------------------------------------------------------------

  # * Object Initialization

  #--------------------------------------------------------------------------

  def initialize

    super(0, 0, 640, 480)

    @actors = $game_party.actors

    self.contents = Bitmap.new(width - 32, @actors.size * 112)

    refresh

  end

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    # Clear Window

    self.contents.clear

    # Draw Actor Info

    for i in 0...@actors.size

      draw_actor_info(i)

    end

  end

  #--------------------------------------------------------------------------

  # * Draw Actor Info

  #--------------------------------------------------------------------------

  def draw_actor_info(index)

    # Gets Actor Info

    actor = @actors[index]

    # Gets Y Position

    y = index * 112 + 8

    # Draws Actor Name & Graphic

    self.contents.draw_text(4, y, 196, 32, actor.name, 1)

    draw_actor_graphic(actor, 102, y + 100)

    # Collects Skill Numbers

    skills = UO_Skills.actor_skills(actor.id)

    # If No Skills

    if skills.empty?

      # Draw No Skills

      self.contents.draw_text(200, y + 32, 160, 32, 'None')

      return

    end

    # Pass Through Skills

    for i in 0...skills.size

      # Get Skill Variable ID

      vid = skills[i]

      # Gets Skill Name

      name = UO_Skills::Skill_Names[vid]

      # Draws Skill Name & Max Value

      amt = "#{$game_variables[vid]} / 1000"

      self.contents.draw_text(208, y + 32 * i, 196, 32, name, 1)

      self.contents.draw_text(412, y + 32 * i, 196, 32, amt, 1)

    end

  end

end

  

#==============================================================================

# ** UO_Skills::Scene_Skills

#==============================================================================

 

class UO_Skills::Scene_Skills

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    # Make skills window

    @skills_window = UO_Skills::Window_Skills.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

    @skills_window.dispose

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    # Update skills window

    @skills_window.update

    # If B or C Button is Pressed

    if Input.trigger?(Input::B) || Input.trigger?(Input::C)

      # Play decision SE

      $game_system.se_play($data_system.decision_se)

      # Switch to menu screen

      $scene = Scene_Menu.new(4)

      return

    end

  end

end

 

Like I said, it's a very simple script that displays a table of variables that matches up with the current party. I lost contact with him after that and never got an explanation on how to make it work in my game. I was looking through my scripts I still have the script (above).

It seems to me that I just have to alter the Scene_Menu script and point the menu option in the right direction.

Is this something that can be fixed easily?

If anyone's ever played my game, you'll know that instead of that script, I've been using a very crude Common Event that displays a series of text boxes. If possible, I want to get this to work.
 
I understand. Here's a simpler question:

How do you display variables in the status screen above? (What is the code for that?)

I bet I could just squeeze the other data around and display the variable information in the existing status screen. That's simple enough for me to do on my own.
 
The same status screen above.

In other words, if I wanted to display the value of Variable 001 to the right of the name, "TheOneEyedJack" what would the code look like? (And like the Favorite Foods, these would be unique to each character.)

Once I have that information, I'm sure I could fill out the rest of what I want to display.

If this is too involved, don't worry about it.
 
Under the 'draw_actor_name(@actor, 4, 0)'
(On line 76)
Add:
Code:
    self.contents.draw_text(4 + self.contents.text_size(@actor.name).width + 10, 0, 120, 32, "#{$game_variables[1]}")

 

Change $game_variables[1] to whatever variable you are displaying.
eg. $game_variables[7] will show the variable in the database with the id of 007.
 
ZenVirZan":yoz47lm6 said:
Under the 'draw_actor_name(@actor, 4, 0)'
(On line 76)
Add:
Code:
    self.contents.draw_text(4 + self.contents.text_size(@actor.name).width + 10, 0, 120, 32, "#{$game_variables[1]}")

 

Change $game_variables[1] to whatever variable you are displaying.
eg. $game_variables[7] will show the variable in the database with the id of 007.

Hi,

Almost what I'm looking for. The value displays like it should, but I still need to customize it to each character (actor.id). I'm guessing it'll look similar to the "Module Favorite Foods" ?

Thanks.


edit: I'll try to figure it out on my own, but if I don't post an updated screenshot, I still haven't figured it out.

Here's another mock screenshot of what I'm trying to do:

jackupdatedfavoritefoods2.png


-The skills "magery, meditation, and fishing" are all unique to TheOneEyedJack.
-The skills never change throughout the entire game.
-Each character has exactly 3 Ultima Skills.
-The first number is the variable.
-All skills have a maximum of 1000, so the "/" and "1000" are all just text.
 
If you want to set it to each actor individually, I think a better option would be to use a variable under Game_Actor. The reason is because when you view the status screen, the only variable that changes is the actor, which is an instance of Game_Actor (and it keeps things more organised in general).
So I've made a script - Do the skills names change ingame as well as the values? And do the values save? Because at the moment, the values will be erased if the skill is changed.
 
Okay, here you go!
I really like this script :)


THE METHODS:
set_skill1(actor_id,number)
set_skill2(actor_id,number)
set_skill3(actor_id,number)

gain_skill1(actor_id,number)
gain_skill2(actor_id,number)
gain_skill3(actor_id,number)

set_skill1_name(actor_id,name)
set_skill2_name(actor_id,name)
set_skill3_name(actor_id,name)



HOW TO USE:
Each actor has a set of blank skills (3 of them)
The first player in the party has an id of 0.
I want his skills to be 'Fighting', 'Mining' and 'Fishing'.
So, in an event, click the script option and put in:

set_skill1_name(0,'Mining')
set_skill2_name(0,'Fishing')
set_skill3_name(0,'Fighting')

That will set the actor with the id 0 (the player)'s skills.
Then, if you wish to set those skills to a value, use

set_skill1(0,55)

That will set my Mining skill to 55/1000.
You can also use

gain_skill1(0,5)

That will raise the 55 to 60/1000
You can use negative numbers too.

gain_skill1(0,-4)

That will reduce the skill from 60 to 56.


THE SCRIPT:
Code:
#==============================================================================

# ** FavoriteFoods

#------------------------------------------------------------------------------

#  This class is for all in-game windows.

#==============================================================================

 

module FavoriteFoods

  #--------------------------------------------------------------------------

  # * Favorite Foods

  #     actor : actor

  #--------------------------------------------------------------------------

  def self.favorite_foods(actor)

    case actor.id

    when 1

      return ['032-Item01','033-Item02','034-Item03']

    when 2

      return ['032-Item01','033-Item02']

    when 3

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05',

              '037-Item06','038-Item07']

    when 4

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05']

    when 5

      return ['032-Item01','033-Item02','034-Item03']

    when 6

      return ['032-Item01','033-Item02']

    when 7

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05',

              '037-Item06','038-Item07']

    when 8

      return ['032-Item01','033-Item02','034-Item03','035-Item04','036-Item05']

    end

    return []

  end

end

 

 

#==============================================================================

# ** Window_Base

#------------------------------------------------------------------------------

#  This class is for all in-game windows.

#==============================================================================

 

class Window_Base < Window

  #--------------------------------------------------------------------------

  # * Draw Favorite Foods

  #     actor : actor

  #     x     : draw spot x-coordinate

  #     y     : draw spot y-coordinate

  #--------------------------------------------------------------------------

  def draw_actor_favorite_foods(actor, x, y)

    return if actor == nil

    favorite_foods = FavoriteFoods::favorite_foods(actor)

    for i in 0...favorite_foods.size

      icon_name = favorite_foods[i]

      bitmap = RPG::Cache.icon(icon_name)

      self.contents.blt(x + i*32, y + 4, bitmap, Rect.new(0, 0, 24, 24))

    end

  end

end

 

 

#==============================================================================

# ** Window_Status

#------------------------------------------------------------------------------

#  This window displays full status specs on the status screen.

#==============================================================================

 

class Window_Status < Window_Base

  #--------------------------------------------------------------------------

  # * Refresh

  #--------------------------------------------------------------------------

  def refresh

    self.contents.clear

    draw_actor_graphic(@actor, 40, 112)

    draw_actor_name(@actor, 4, 0)

    draw_actor_class(@actor, 4 + 144, 0)

    draw_actor_level(@actor, 96, 32)

    draw_actor_state(@actor, 96, 64)

    draw_actor_hp(@actor, 96, 112, 172)

    draw_actor_sp(@actor, 96, 144, 172)

    draw_actor_parameter(@actor, 96, 192, 0)

    draw_actor_parameter(@actor, 96, 224, 1)

    draw_actor_parameter(@actor, 96, 256, 2)

    draw_actor_parameter(@actor, 96, 304, 3)

    draw_actor_parameter(@actor, 96, 336, 4)

    draw_actor_parameter(@actor, 96, 368, 5)

    draw_actor_parameter(@actor, 96, 400, 6)

    self.contents.font.color = system_color

    self.contents.draw_text(320, 48-32, 160, 32, "Favorite Foods")

    self.contents.font.color = system_color

    self.contents.draw_text(320, 48+32+16, 120, 32, "Ultima Skills")

    self.contents.font.color = normal_color

    self.contents.draw_text(320, 96+32, 120, 32, "#{@actor.skill1[0]}:", 0)

    self.contents.draw_text(320, 96+64, 120, 32, "#{@actor.skill2[0]}:", 0)

    self.contents.draw_text(320, 96+96, 120, 32, "#{@actor.skill3[0]}:", 0)

    self.contents.draw_text(320 + 120-36,  96+32, 120, 32, "#{@actor.skill1[1]} / 1000", 2)

    self.contents.draw_text(320 + 120-36,  96+64, 120, 32, "#{@actor.skill2[1]} / 1000", 2)

    self.contents.draw_text(320 + 120-36,  96+96, 120, 32, "#{@actor.skill3[1]} / 1000", 2)

    self.contents.font.color = system_color

    draw_actor_favorite_foods(@actor, 320, 48)

    self.contents.draw_text(320, 160+64+16, 96, 32, "Equipment")

    draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208+64)

    draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256+64)

    draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304+64)

    draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352+64)

    draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400+64)

  end

end

 

 

class Game_Actor

  attr_accessor :skill1

  attr_accessor :skill2

  attr_accessor :skill3

  alias more_vars_init initialize

  def initialize(actor_id)

    @skill1 = ['name',0]

    @skill2 = ['name',0]

    @skill3 = ['name',0]

    more_vars_init(actor_id)

  end

end

 

class Interpreter

  def gain_skill1(actor,num)

    $game_party.actors[actor].skill1[1] += num

  end

  def set_skill1(actor,num)

    $game_party.actors[actor].skill1[1] = num

  end

  def set_skill1_name(actor,name)

    $game_party.actors[actor].skill1[0] = name

  end

  

  def gain_skill2(actor,num)

    $game_party.actors[actor].skill2[1] += num

  end

  def set_skill2(actor,num)

    $game_party.actors[actor].skill2[1] = num

  end

  def set_skill2_name(actor,name)

    $game_party.actors[actor].skill2[0] = name

  end

  

  def gain_skill3(actor,num)

    $game_party.actors[actor].skill3[1] += num

  end

  def set_skill3(actor,num)

    $game_party.actors[actor].skill3[1] = num

  end

  def set_skill3_name(actor,name)

    $game_party.actors[actor].skill3[0] = name

  end

  

end


You will need to delete all saves if you wish to use this.
I think I might use this too :)
 
Hm... okay, from what I understand:

1) In my game there are 7 main characters and they swap back and forth in the active party quite a bit. So every time they do, I would have to set all the actor IDs to the correct party number?
2) I have to actively add the line of script to + or - the variable value. It doesn't just grab the variable value that's already present?

It might be worth it later on, but there are literally thousands or maybe tens-of-thousands of instances where their skill values have the chance to gain in my game. I would have to comb all 500+ maps and 800+ common events for every skill and party change for this to work. This is the kind of thing I wish I had when I first started the game 6 years ago. But like I said to Juan (above), I already have a very crude system in place that uses a common event to display a series of text boxes with the information. It's not ideal, but it works for now.

But thanks for your help. Still appreciated. <3
 
Use gain_skill1(actor_id,number) to add on points. I explained that in the 'How to use'

so if actor 0's skill1 is currently 760/1000,
using gain_skill(0, 10) will raise it to 770/1000.

Swapping party member however. . . It may work but its untested. You should probably get a script that saves the actor data rather than re-initializing it each time. (i'm not entirely sure if it would work or not, as i've never had more than 4 actors.)
You could give it a go though.

EDIT: Wait, so the problem is that the system already uses Variables from RMXP's Variable editor, and you dont want to re-do them all?

I can fix that, if that's the case :)
It's just a lot neater and user friendly this way.
 
ZenVirZan":1uih8g09 said:
Use gain_skill1(actor_id,number) to add on points. I explained that in the 'How to use'

so if actor 0's skill1 is currently 760/1000,
using gain_skill(0, 10) will raise it to 770/1000.

Swapping party member however. . . It may work but its untested. You should probably get a script that saves the actor data rather than re-initializing it each time. (i'm not entirely sure if it would work or not, as i've never had more than 4 actors.)
You could give it a go though.

EDIT: Wait, so the problem is that the system already uses Variables from RMXP's Variable editor, and you dont want to re-do them all?

I can fix that, if that's the case :)
It's just a lot neater and user friendly this way.

*points to edit*

Exactly.

In the example above:

TheOneEyedJack actor.ID = 2
Magery variable = 11
Meditation variable = 23
Fishing variable = 56

So what I had in mind was a script that would identify the actor by his ID. Based on that ID, it would then display the correct skills in text ("magery," "meditation," and "fishing"), display the skill values (var 11, var 23, and var 56), and then display the rest in text ("/ 1000").
 
ZenVirZan":qq7pwtfj said:
Sure, I'll change that now :)
Actually, is it just the one player?
You have 1 set of variables for Jack, but what about the others? How are they set up?

Sure. I was just going to fill out the rest but, I'll list the rest. Note that some of the skill names are redundant, but the variables are unique:

Chad Sexington, ID = 1
Stealing, Var = 17
Stalking, Var = 109
Eating, Var = 22

TheOneEyedJack, ID = 2
Magery, Var = 11
Meditation, Var = 23
Fishing, Var = 56

BEO, ID = 3
Tactics, Var = 134
Eating, Var = 106
Bonding, Var = 195

Lord Book Master, ID = 4
Magery, Var = 12
Meditation, Var = 26
Inscription, Var = 21

Endrick, ID = 5
Chivalry, Var = 15
Focus, Var = 28
Taming, Var = 196

Special SixtyNyn, ID = 6
Blacksmithy, Var = 51
Mining, Var = 49
Fortune Telling, Var = 44

Robyn Banks, ID = 8
Stealing, Var = 78
Mimic, Var = 108
Focus, Var = 139


And now that I think about it... I do have 1 more character. 1/3 through the game, Endrick begins "riding" around on BEO. BEO's an ogre. But in reality, he's a brand new character that shares their stats and equipment. The problem is, they're still separate people, and they still have 3 skills each. In reality, all 6 of their skills should be displayed. I can see how that can be a problem for formatting and scripting in general to have to make an exception. It might just work with 3 skills:

Endrick / BEO, ID = 12
Chivalry, Var = 15
Focus, Var = 28
Tactics, Var = 134

It actor.ID is new, but the variables for their skills are the same. His name is actually listed as "Endrick / BEO" in the menu.




edit: One more thing. At different point in the game, other characters join the party temporarily. They aren't main characters and they don't have any Ultima Skills. Is it possible to have the "Ultima Skills" text visible, but the rest of the data blank?

Right now, that's how the Favorite Foods works. The "Favorite Foods" title is visible, but no pictures are displayed.
 

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