[RMVX ACE] Make Skill Menu look like Item Menu

Tw0Face

Chief Executive Officer
Veteran
Joined
Nov 12, 2018
Messages
331
Reaction score
337
First Language
German
Primarily Uses
RMVXA
Hi, ppl.

Is there a way to make the Skill Window in the Main Menu look like the Item Menu? Also, when neither Skills nor Magic is selected, I want to display a help text for these points as well. For example, when I hover on Magic, I want to add text to the help window to explain Magic.

I don't need faces, HP, MP, bars or anything like this. Just what you see on the sketch.

Can someone help me out with this? Seems kinda simple but I can't find anything like this.

 

A-Moonless-Night

WINTER IS COMING
Veteran
Joined
Mar 17, 2012
Messages
570
Reaction score
392
First Language
English
Primarily Uses
RMVXA
Here you go, see how you get on with this:
Ruby:
=begin
#==============================================================================#
#   AMN Simple Skill Scene
#   Version   1.01
#   Author:   AMoonlessNight
#   Date:     23 Feb 2020
#   Latest:   23 Feb 2020
#==============================================================================#
#   UPDATE LOG
#------------------------------------------------------------------------------#
# 23 Feb 2020 - created the script
#==============================================================================#
#   TERMS OF USE
#------------------------------------------------------------------------------#
# - Please credit AMoonlessNight or A-Moonless-Night
# - Free for non-commercial use; contact for commercial use
# - If you would like to edit/adjust this script, please make edits as a new
#   script (do not edit this script directly) and provide proper credit
# - I'd love to see your game if you end up using one of my scripts
#==============================================================================#

Requested by Tw0Face

This script makes the skill scene look more like the item scene. You can also
set text for the help window to explain about each skill type.
 
=end

module AMN_SkillWindow
  HELP_TEXT = {
#==============================================================================
# ** EDITABLE REGION BELOW
#------------------------------------------------------------------------------
#  Change the values in the area below to suit your needs.
#==============================================================================

  # Skill Type ID => "Help window text",
    1 => "These are the special skills.",
    2 => "These are the magical skills.",
    
#==============================================================================
# ** END OF EDITABLE REGION
#------------------------------------------------------------------------------
#  Please do not edit below this point unless you know what you are doing.
#==============================================================================
  }
end

class Window_SkillHorzCommand < Window_HorzCommand
  include AMN_SkillWindow
  attr_reader   :skill_window

  def initialize(x, y)
    super(x, y)
    @actor = nil
  end

  def window_width; Graphics.width; end
  def col_max; [[@list.size,1].max, 4].min; end
 
  def actor=(actor)
    return if @actor == actor
    @actor = actor
    refresh
    select_last
  end

  def make_command_list
    return unless @actor
    @actor.added_skill_types.sort.each do |stype_id|
      name = $data_system.skill_types[stype_id]
      add_command(name, :skill, true, stype_id)
    end
  end

  def update
    super
    @skill_window.stype_id = current_ext if @skill_window
  end

  def skill_window=(skill_window)
    @skill_window = skill_window
    update
  end

  def select_last
    skill = @actor.last_skill.object
    if skill
      select_ext(skill.stype_id)
    else
      select(0)
    end
  end
 
  def update_help
    text = HELP_TEXT.key?(current_ext) ? HELP_TEXT[current_ext] : ""
    @help_window.set_text(text)
  end
end

class Scene_Skill < Scene_ItemBase

  def create_command_window
    wy = @help_window.height
    @command_window = Window_SkillHorzCommand.new(0, wy)
    @command_window.viewport = @viewport
    @command_window.help_window = @help_window
    @command_window.actor = @actor
    @command_window.set_handler(:skill,    method(:command_skill))
    @command_window.set_handler(:cancel,   method(:return_scene))
    @command_window.set_handler(:pagedown, method(:next_actor))
    @command_window.set_handler(:pageup,   method(:prev_actor))
  end
    
  def create_item_window
    wx = 0
    wy = @command_window.y + @command_window.height
    ww = Graphics.width
    wh = Graphics.height - wy
    @item_window = Window_SkillList.new(wx, wy, ww, wh)
    @item_window.actor = @actor
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @command_window.skill_window = @item_window
  end
 
end
 

Tw0Face

Chief Executive Officer
Veteran
Joined
Nov 12, 2018
Messages
331
Reaction score
337
First Language
German
Primarily Uses
RMVXA
That's quite nice, @A-Moonless-Night. Thanks for helping me out again. However, it seems like you're calling names for the Skill types directly from the Database. Can you make me able to give custom names for Special and Magic?
 

A-Moonless-Night

WINTER IS COMING
Veteran
Joined
Mar 17, 2012
Messages
570
Reaction score
392
First Language
English
Primarily Uses
RMVXA
Why don't you just change the names directly in the database?
 

ZirconStorms

VX & VX Ace Scripts
Veteran
Joined
Dec 22, 2014
Messages
359
Reaction score
112
First Language
English
Primarily Uses
RMVXA
I use two languages. German and English. That's why. :LZSwink:
How do you bring up German and English text/vocab? Is it an option users can change whenever?
 

A-Moonless-Night

WINTER IS COMING
Veteran
Joined
Mar 17, 2012
Messages
570
Reaction score
392
First Language
English
Primarily Uses
RMVXA
Yeah, I can add that in, but just let me know how you're changing between the two languages.
 

Tw0Face

Chief Executive Officer
Veteran
Joined
Nov 12, 2018
Messages
331
Reaction score
337
First Language
German
Primarily Uses
RMVXA
@A-Moonless-Night All fine. I did it. I just had to change
Code:
name = $data_system.skill_types[stype_id]
to
Code:
name = Vocab.get_skilltype(stype_id)
Works for me now. :LZSjoy:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Ami
4 days im not using my laptop to waiting someone to reinstall (sigh)
Stream will be live shortly with some Donkey Kong 64! Feel free to drop by!
Working on a test Boss for the new No Travel Game Jam
- Name Plugin by Moghunter -
Free RPG Maker Ready Charging Up Animation

Enjoy -No Credit Needed But Appreciated -
Download it at https://lvgames.itch.io/free-charging-up-pixel-animation-fx-rpg-maker-ready
:/ .... so, thought I’d go to the park to sit in the cool breeze and get out of the house a little. Nope, guess that’s quarantined too. Ok...

Forum statistics

Threads
95,486
Messages
929,524
Members
125,733
Latest member
whypzk
Top