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.

[vx]Weapons give different actors different skills. (Basic script included).

ikos

Member

I guess this is more of an edit request? I have a script with a nice FFIX system where when equipment A is equipped, skill B is learned (mastered when an x amount of TP is gained).

I was wondering, could someone be able to make it to where, if equipment A is equipped to Actor/Class1, skill B is learned. However, if equipment A is equipped to Actor/Class1, skill C is learned.  :huh:

Code:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/    â—†           Equipment Skills System - KGC_EquipLearnSkill         â—† VX â—†
#_/    â—‡                     Last Update: 2008/02/10                          â—‡
#_/    â—†                  Translation by Mr. Anonymous                        â—†
#_/-----------------------------------------------------------------------------
#_/  This script allows you to assign skills that can be "learned" by equipping
#_/  designated equipment. Everytime the party defeats an enemy, they recieve
#_/  TP (Training Points) that go toward mastering a skill. Once a skill is 
#_/  mastered (with the default setting of NEED_FULL_AP = true), that skill is
#_/  learned. This system is much like the one in Final Fantasy Tactics Advance.
#_/=============================================================================
#_/                       â—† Instructions For Usage â—†
#_/  To make use of these functions, you must insert the desired tag into the
#_/   "Notes" box located in the specified section of the database. 
#_/ <learnskill> is for equipment, <needTP> is for Skills, and <TP> for enemies.
#_/  For example, you want the Club to supply the Dual Attack skill and be
#_/   mastered at 20 TP. You would locate the Club in the weapons tab of the
#_/   database and insert <learnskill 1>. Then, you'd locate Dual Attack in  
#_/   the Skills tab of the database and insert <needTP 20>. Simple, effective.
#_/
#_/  Key: n = Number
#_/       SkillID = The ID number of the desired skill in the skills database
#_/       Amount = The desired amount of TP.
#_/
#_/                        <learnskill SkillID>
#_/  Assigns the given skill to the designated equipment for the actor to use.
#_/
#_/                           <needTP Amount>
#_/  Assigns a specified amount of TP the actor must aquire in order to master
#_/   the skill.
#_/                             <TP Amount>
#_/  Assigns a specified amount of TP earned from defeating the enemy.
#_/
#_/
#_/                          â—† Script Commands â—†
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * gain_actor_ap(ActorID, AP Amount, show)
#_/     Allows you to give an actor a specified amount of AP. 
#_/     "Show" is a toggle. If set to true, if the skill is mastered, it will
#_/     display the "Skill Mastered" screen. (Ex. gain_actor_ap (1, 50, true))
#_/
#_/  * change_actor_ap(ActorID, SkillID, AP Amount)
#_/     Allows you to modify the amount of AP a specified skill has.
#_/      (Ex. change_actor_ap (1, 3, 100)
#_/  
#_/  * call_ap_viewer(index: ActorID)
#_/     This calls the AP Viewer screen. If you exclude (index:), the first
#_/      actor in the index is automatically called.
#_/     Note: To use this properly, Ex. call_ap_viewer(index: 2) would pull up  
#_/      the AP Viewer screen for the second actor.
#_/
#_/  [Further, please see "Equipment Exclusion" and "Skills Exclusion" located]
#_/  [near the bottom of the Customize block for more control.                ]
#_/
#_/=============================================================================
#_/ Installation: Install above KCG_SkillCPSystem, if you use that script.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

$data_system = load_data("Data/System.rvdata") if $data_system == nil

#==============================================================================#
#                           ★ Customization ★                                  #
#==============================================================================#

module KGC
 module EquipLearnSkill
  # Note: To avoid confusion with the KCG_DistributeParameter script, I use TP
  #       (Training Point) as the default abbreviation. KGC uses AP.
  #                           â—† AP Name â—†
  #  This allows you to change the abbreviation of AP.
  VOCAB_AP     = "TP"
  #                      â—† AP Default Value â—†
  #  This allows you to change the default value of AP gained by an enemy when 
  #   not manually specified using the <TP n> tag.
  DEFAULT_AP   = 1
  #                      â—† Skill Use Mastery â—†
  #  This toggle allows you to change whether a skill is usable when AP hasn't
  #   been maxed out.
  #  true = Skill cannot be used until the skill has been mastered.
  #  false = Skills are usable regardless of AP amount, however, when the item
  #          that provides that skill is unequipped, the skill is removed.
  NEED_FULL_AP = false

  #             â—† AP Result Screen Aquisition Display â—†
  #  The allows you to change the AP aquired message for battle results.
  #  %s : aquired AP amount
  VOCAB_RESULT_OBTAIN_AP         = "Aquired %s #{VOCAB_AP}!"
  # â—† Display message when skill is mastered on results screen 
  #   (beginning of message).
  #  %s : Actor Name
  VOCAB_RESULT_MASTER_SKILL      = "%s's"
  # â—† Display message when skill mastered on results screen.
  #    (ending of message)
  #  %s : Name of mastered skill
  VOCAB_RESULT_MASTER_SKILL_NAME = "%s was mastered!"

  #                         â—† Command Menu â—†
  # This toggle adds the "AP Viewer" (Training Skills) selection to the main 
  #  command menu.
  USE_MENU_AP_VIEWER_COMMAND = true
  # â—† Text of the Equip Skills selection on the main command window.
  # Could also be written: VOCAB_MENU_AP_VIEWER       = "#{VOCAB_AP} Skills"
  VOCAB_MENU_AP_VIEWER       = "Mastery"

  #                       â—† AP Viewer Screen â—†
  #  Mastered AP skills column display.
  VOCAB_MASTER_SKILL      = " - MASTER - "
  #  This toggle shows/hides skills that have 0 AP.
  #   This also evidently affects the skill's usability, though untested.
  #  true = show
  #  false = Hide
  SHOW_ZERO_AP_SKILL      = false
  #  This toggle allows you to hide the name of a skill if the skill has 0 AP.
  #   true = mask the skill name
  #   false = unmask the skill name
  MASK_ZERO_AP_SKILL_NAME = true
  #  This allows you to change the text of a 0 AP masked skill. 
  #  (When MASK_ZERO_AP_SKILL_NAME = true)
  ZERO_AP_NAME_MASK       = "Unavailable"
  #  This toggle allows you to mask the text displayed in the "Help" (topmost) 
  #   window of a skill that has 0 AP.
  #   true = mask the skill's help text
  #   false = display the text normally
  HIDE_ZERO_AP_SKILL_HELP = true
  #  This allows you to change the text displayed in the "Help" (topmost) window 
  #   of a skill that has 0 AP. (When HIDE_ZERO_AP_SKILL_HELP = true)
  ZERO_AP_SKILL_HELP      = "This skill is unavailable."

  #                     â—† Equipment Exclusion â—†
  #  The following lines make it possible for a specified actor to not gain
  #   skills granted by certain Weapons and Armors.
  #  The subscript of the array (The [] brackets) cooresponds to the Actor ID.
  EXCLUDE_WEAPONS = []  # Weapons
  EXCLUDE_ARMORS  = []  # Armor
  #  Example:
  #   ActorID:1 WeaponID:50 and 70 
  #   EXCLUDE_WEAPONS[1] = [50, 70]
  #  Ralph cannot aquire the skills given by the weapon of WeaponID 50 and 70.

  #                       â—† Skills Exclusion â—†
  #  The following line makes it possible for a specified actor to not gain
  #   certain skills provided by any equipment that may normally grant them.
  #  The subscript of the array (The [] brackets) cooresponds to the Actor ID.
  EXCLUDE_SKILLS = []
  #  Example:
  #   ActorID:1 SkillID:30 
  #   EXCLUDE_SKILLS[1] = [30]
  #  Ralph cannot aquire the skill in SkillID 30 granted by any equipped goods. 
  
  #               â—† Call AP Viewer from the Skills Window â—†
  #  This allows you to change what key/button is pressed on the skills window
  #   to shift to the AP Viewer window.
  #  When set to nil, this is disabled. ( CALL_EQUIPSKILLKEY = Input::nil )
  #  Note: Currently this only works with KGC_CategorizeSkill
  #  I'll revise this later so you may do so without that script.
  #  I also need to add a couple more methods to this anyhow.
   CALL_APVIEWERKEY = Input::Z
  #               â—† Call Skills Window from the AP Viewer â—†
  #  This allows you to change what key/button is pressed on the AP Viewer
  #   to shift to the skills window.
  #  When set to nil, this is disabled. ( CALL_SKILLSKEY = Input::nil )
   CALL_SKILLSKEY = Input::Y
 end
end

# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Unless you know what you're doing, it's best not to alter anything beyond  #
#  this point, as this only affects the tags used for "Notes" in database.    #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are 
#   what are used to determine what is searched for in the "Notes" section.

$imported = {} if $imported == nil
$imported["EquipLearnSkill"] = true

module KGC::EquipLearnSkill
  # Regular Expressions Defined
  module Regexp
    # Base Item Module
    module BaseItem
      # Learn Skill tag string
      LEARN_SKILL = /<(?:LEARN_SKILL|learnskill)[ ]*(\d+(?:[ ]*,[ ]*\d+)*)>/i
    end

    # Base Skill Module
    module Skill
      # Need AP tag string
      NEED_AP = /<(?:NEED_AP|needTP)[ ]*(\d+)>/i
    end

    # Base Enemy Module
    module Enemy
      # AP given tag string
      AP = /<TP[ ]*(\d+)>/i
    end
  end
end

#==============================================================================
# â–¡ KGC::Commands
#==============================================================================

module KGC::Commands
  module_function
  #--------------------------------------------------------------------------
  # â—‹ AP ã
 

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