Save-Point
FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.3 (8-8-2010) - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Material Development (https://www.save-point.org/forum-8.html)
+--- Forum: Scripts Database (https://www.save-point.org/forum-39.html)
+---- Forum: RPGMaker XP (RGSS) Engine (https://www.save-point.org/forum-116.html)
+---- Thread: FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.3 (8-8-2010) (/thread-2300.html)

Pages: 1 2


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.3 (8-8-2010) - Charlie Fleed - 04-02-2009

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




FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Ace - 11-21-2009

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)


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Charlie Fleed - 11-21-2009

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



FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Ace - 11-21-2009

great, thank you^^


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Charlie Fleed - 01-07-2010

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.


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Ace - 01-07-2010

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


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Charlie Fleed - 01-07-2010

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



FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Ace - 01-07-2010

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.


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Charlie Fleed - 01-07-2010

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.


FFIX Skills Learning System aka Equipment Skills, NEW!!! v2.2 (6-1-2010) - Ace - 01-07-2010

you're right, sorry about that -_-' can't figure out which sctipt interferes with mine... ty anyway^^
EDIT: gotcha!^^ problem solved!