FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.3 (8-8-2010)
#1
Quote:DO YOU LIKE THIS SCRIPT? YOU MAY WANT TO ALSO CHECK OUT DERVVULFMAN'S SKILL LEVELING SYSTEM, FULLY COMPATIBLE WITH THIS ONE.
Skills Learning System by Charlie Fleed
Version 2.3 (8-8-2010)

Introduction

Hi all. This script started as a Skills Learning System modeled after the system featured in Final Fantasy 9, but it now offers a lot more.
With this system you can:
1) learn skills by using weapons and armors/accessories and earning weapon/armor exp points;
2) set up skills that are immediately available once the corresponding weapon/armor/accessory is equipped;
3) set some skills to require a specified equipment in order to be used during battles;
4) set some skills to require a minimum character level before they can be learned;
5) limit the skills a character can learn to the only ones listed as available for his/her class in the database;
6) teach skills or give skill exp points for specific skills to characters by using items.
Methods have been added to give characters exp points with events, using the script event command. See the examples in the demo.

The following screen shows the learning status.

[Image: learningstatus22.jpg]

The character has mastered "Cross Cut", and is learning Barrier and Spiral Blade. Barrier can be permanently learned from the shield, Spiral Blade from the sword.
The skills however are already available as they also are equipment skills, as indicated by the yellow dot over the equipment icons.

As usual I would like you to try it, and report bugs, give comments, suggestions...
Enjoy!

Demo

Skills Learning System by Charlie Fleed v2.3 (mediafire) (includes a patch for GTBSv1.4.1 and a plugin for BlizzABS)

Author's notes

Author's notes.

Features

Features

Screenshots

Screenshots

Instructions

Inside the demo.

FAQs

How to add a Learning Status entry in the menu.

Old Versions

Reply }
#2
i really love this script but i want that if you equip a weapon, you can learn the skill permanently and you can also use it right away. But when i
put a skill in
EQUIPMENT_LEARNINGS and EQUIPMENT_SKILLS as well, it shows the skill 2 times in the window.
What do i have to change that the U(: indicates a skill that can be used right away) Term isn't shown, because
i set up each skill like that (equip a weapon, can learn the skill and use it also right away)
[Image: 76561198077561206.png]
Reply }
#3
In "SLS Windows" at line 171, replace the refresh method with this one
Code:
#--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    x = 0
    y = 0
    if $scene.is_a?(Scene_Shop)
      draw_actor_name(@actor, x, y)
      y+=24
    end    
    self.contents.font.color=system_color
    self.contents.draw_text(x,y,320,self.contents.font.size,"Equipment Skills")
    y+=self.contents.font.size+2
    self.contents.font.color=normal_color
    if @equip_type==0 and @equip_id!=0 and $game_party.
    learning_db[$data_weapons[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_weapons[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
      end
    end
    if @equip_type>0 and @equip_id!=0 and $game_party.
    learning_db[$data_armors[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_armors[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
      end
    end
  end
Reply }
#4
great, thank you^^
[Image: 76561198077561206.png]
Reply }
#5
Updated to version 2.2.
The system has been patched to be compatible with DerVVulfman's Multi-Slots system.
There are a few minor improvements too, including a more clear (I think) learning status.
Reply }
#6
Charlie Fleed Wrote:In "SLS Windows" at line 171, replace the refresh method with this one
Code:
#--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    x = 0
    y = 0
    if $scene.is_a?(Scene_Shop)
      draw_actor_name(@actor, x, y)
      y+=24
    end    
    self.contents.font.color=system_color
    self.contents.draw_text(x,y,320,self.contents.font.size,"Equipment Skills")
    y+=self.contents.font.size+2
    self.contents.font.color=normal_color
    if @equip_type==0 and @equip_id!=0 and $game_party.
    learning_db[$data_weapons[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_weapons[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
      end
    end
    if @equip_type>0 and @equip_id!=0 and $game_party.
    learning_db[$data_armors[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_armors[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
      end
    end
  end

I tried to fill that in (2.2) but then this window doesn't show up in the Equipment Menu. Could you edit this so it's compatible with 2.2?
ty Zare
[Image: 76561198077561206.png]
Reply }
#7
The new version for that patch should be like this:
Code:
#--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @empty=true
    x = 0
    y = 0
    if $scene.is_a?(Scene_Shop)
      self.contents.font.color=system_color
      self.contents.draw_text(x,y,50,32,"Actor:")
      draw_actor_name(@actor, x+54, y)
      y+=24
    end    
    self.contents.font.color=system_color
    self.contents.draw_text(x,y,320,self.contents.font.size,"Equip Skills and Learnings")
    y+=self.contents.font.size+2
    self.contents.font.color=normal_color
    if @equip_type==0 and @equip_id!=0 and $game_party.
    learning_db[$data_weapons[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_weapons[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
        @empty=false
      end
    end
    if @equip_type>0 and @equip_id!=0 and $game_party.
    learning_db[$data_armors[@equip_id].name]!=nil
      for learning in $game_party.
      learning_db[$data_armors[@equip_id].name].learnings
        skill=$data_skills[learning.skill_id]
        rect = Rect.new(x, y, 24, 24)
        self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
        bitmap = RPG::Cache.icon(skill.icon_name)
        self.contents.blt(x, y, bitmap, Rect.new(0, 0, 24, 24), opacity)
        if @actor!=nil
          self.contents.font.color=(@actor.can_learn?(learning.skill_id)) ? normal_color : disabled_color
        end
        self.contents.draw_text(x + 28, y, 172, self.contents.font.size, "L:"+skill.name, 0)
        s=""
        if @actor!=nil and (@actor.skill_learn?(skill.id) or learning.level==0)
          s=s+"A"
        end
        if @actor!=nil and @actor.experience_points_skills[skill.id] >= learning.level
          s=s+" M" unless learning.level==0
        end
        #self.contents.draw_text(x + 200, y, 48, self.contents.font.size, skill.sp_cost.to_s, 2)
        self.contents.draw_text(x + 200, y, 48, self.contents.font.size, s, 2)
        y+=24
        @empty=false
      end
    end
  end
Reply }
#8
ok cool^^ could it be that this isn't compatible with the summons script from your ctb? after battle my actor hasn't returned when i just tried it.
[Image: 76561198077561206.png]
Reply }
#9
I don't think I changed anything that could affect compatibility with the CTB since version 2.1.
I have tried and I don't have problems with summons.
Reply }
#10
you're right, sorry about that -_-' can't figure out which sctipt interferes with mine... ty anyway^^
EDIT: gotcha!^^ problem solved!
[Image: 76561198077561206.png]
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   ATOA CBS Equipment Set Variables Patch kyonides 0 206 10-14-2024, 12:47 AM
Last Post: kyonides
   The Wanderers: The Customizable Encounters System DerVVulfman 0 273 08-24-2024, 07:12 PM
Last Post: DerVVulfman
   Angie's Equipment Sets DerVVulfman 3 9,489 08-04-2024, 01:44 AM
Last Post: DerVVulfman
   Super Simple Vehicle System - Enhanced DerVVulfman 65 94,929 06-02-2023, 06:16 PM
Last Post: Sujabes467
   Klass Change & Skills XP kyonides 1 1,263 05-29-2023, 07:39 AM
Last Post: kyonides
   KDualWield & Accessory Skills XP kyonides 1 1,358 02-10-2023, 06:53 AM
Last Post: kyonides
   Zenith Tactical Battle System Plus (ZTBS+) DerVVulfman 0 2,860 05-10-2022, 10:42 PM
Last Post: DerVVulfman
   Commercial System Package DerVVulfman 11 14,342 01-04-2020, 12:37 AM
Last Post: Pelip
   ACBS - Atoa Custom Battle System 3.2 Victor Sant 150 256,332 03-02-2019, 04:47 AM
Last Post: dragonprincess44
   DerVV's Simple Popup System DerVVulfman 4 12,252 10-08-2017, 04:53 PM
Last Post: DerVVulfman



Users browsing this thread: 1 Guest(s)