[RMVX ACE] Make Skill Menu look like Item Menu

Tw0Face

Chief Executive Officer
Veteran
Joined
Nov 12, 2018
Messages
332
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
332
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
332
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

I was planning to release a useless plugin for april fools, but then I thought I let it be.
Tfw every dev around me is using Live2D in their MV games and make me question my skills repeatedly.

Spending the day reworking my maps, especially the first "biome". This time it's not even in the dark. :LZSwink:
Activity on the forums has increased lately, probably because of people staying home. The amount of work for moderators has increased lol.
At this point I've gotten so tired of April Fools on the internet that last year I just refused to even post anything on the RMW Social Media on April Fools in protest. Considering doing it again.

Forum statistics

Threads
95,521
Messages
929,776
Members
125,787
Latest member
PollyS
Top