iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

Keep an eye out for the upcoming 3rd Quarter Contest!
2 Pages V   1 2 >  
Reply to this topicStart new topic
> Skill Levels & Requirements [v1.1], Not under active development.
Rating 5 V
dividedbyzero
post Mar 29 2010, 04:10 AM
Post #1



Group Icon


Type: Coder
Alignment: Unaligned





DBZ_SkillLevel v1.0
by dividedbyzero


Introduction
This script allows you to implement a Ragnarok Online-style skill point system in which skills do increased damage for each level. You can also set a sort of "skill tree"; certain skills may only be learned after you have another skill(s) at a specific level. Usage is simple; press "Q" to level up a skill while in the skill menu. Of course, this will only work if the skill is not at its max level AND if you have a skill point to use. Skill points can be set to be given out on level up.

Change Log
v1.1
- Added COMMANDS to "How to Use"
- Added support for resetting skills.
- Added support for setting skill point requirements and curves.

Features
- Skills can be leveled up using skill points, increasing their power.
- Skills can require other skills at certain levels to be learned.
- Monsters can have the level of their skills adjusted as well.
- That's all for now!

Screenshots
Rather unnecessary, but here's one anyways.


Skill Setup
Simply list a skill's requirements in its note field using various "tags".
Such tags include:

<max_lvl x>
Sets a skill's maximum level.

<req x,y[|x,y]>
Sets a skill's requirements. The syntax is: (Skill ID),(Level). Seperate
multiple requirements with a | character like so.
<req 1,10|2,5>

<dmg_curve x>
Determines how much the damage of a skill increases per level. Also works
with negative values (healing).

<mp_curve x>
Determines how much the MP cost of a skill increases per level.

Monster Setup
By default, a monster will use a skill at level 1. To set the skill levels
of a monster's skills, use the following "tag" in its note field:
<skill x,y[|x,y]>
"x" is the ID of the skill you're setting the level for and "y" is the level.
This follows the same basic format as the <req> tag.

Demo
v1.1 (Includes DBZ_PassiveSkill)
v1.0

Script
Spoiler:
CODE
# ============================================================================ #
#
#     * DBZ_SkillLevel *
#     Author: dividedbyzero
#     Version: 1.1
#
# ============================================================================ #
# Introduction:
# ---------------------------------------------------------------------------- #
#   This script allows you to implement a Ragnarok Online-style skill point
# system in which skills do increased damage for each level. You can also
# set a sort of "skill tree"; certain skills may only be learned after you
# have another skill(s) at a specific level.
# ============================================================================ #
# Change Log:
# ---------------------------------------------------------------------------- #
# v1.1  - Added COMMANDS to "How to Use"
#       - Added support for resetting skills.
#       - Added support for setting skill point requirements and curves.
# v1.0  - THE BEGINNING.
# ============================================================================ #
# Features:
# ---------------------------------------------------------------------------- #
#   - Skills can be leveled up using skill points, increasing their power.
#   - Skills can require other skills at certain levels to be learned.
# ============================================================================ #
# How to Use:
# ---------------------------------------------------------------------------- #
# COMMANDS:
#   All commands must be prepended with "$game_actor[x].", where "x" is the ID
#   of the actor you are modifying.
#   add_skill_points(i)
#     Adds skill points according to "i".
#   learn_skill(i)
#     Learns skill ID "i".
#   unlock_skill(i)
#     Unlocks skill ID "i".
#   level_up_skill(i)
#     Levels up skill ID "i".
#   reset_skills
#     Removes all learned skills and grants skill points for their levels.
#
# SKILL SETUP:
#   Simply list a skill's requirements in its note tag using various "tags".
#   Such tags include:
#   <max_lvl x>
#     Sets a skill's maximum level.
#   <req x,y[|x,y]>
#     Sets a skill's requirements. The syntax is: (Skill ID),(Level). Seperate
#     multiple requirements with a | character like so.
#     e.g. <req 1,10|2,5>
#   <dmg_curve x>
#     Determines how much the damage of a skill increases per level. Also works
#     with negative values (healing).
#   <mp_curve x>
#     Determines how much the MP cost of a skill increases per level.
#
# MONSTER SETUP:
#   By default, a monster will use a skill at level 1. To set the skill levels
#   of a monster's skills, use the following "tag" in its note field:
#   <skill x,y[|x,y]>
#   "x" is the ID of the skill you're setting the level for and "y" is the level.
# ============================================================================ #
$imported = {} if $imported == nil
$imported["DBZ_SkillLevel"] = true
# ============================================================================ #
# * Configuration *
# ============================================================================ #
module DBZ
  module SkillLevel
    # How many skill points each character starts with.
    DEFAULT_SKP = 0
    # Appears on the icon of each skill along with its level.
    # e.g. "Lv."
    LVL_PREFIX = ""
    # Adjusts how many skill points an actor gets on level up.
    SKP_PERLEVEL = 1
    # How many skill points are required a level up.
    SKP_REQ = 1
    # Increases the skill point requirement each level.
    SKP_CURVE = 2
  end
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  # Do not edit beyond this point unless you know what you're doing.
  # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  module Regexp
    module Skill
      # Basic
      MAXLVL = /^<(?:maxlvl|max_lvl|max_level?)[ ]*(.*)>/i
      REQ = /^<(?:req|require|requires?)[ ]*(.*)>/i
      ENEMY_SKLV = /^<(?:skill?)[ ]*(.*)>/i
      # Curves
      DMG_CURVE = /^<(?:dmg_curve|dmg|damage?)[ ]*(.*)>/i
      MP_CURVE = /^<(?:mp_curve|mp?)[ ]*(.*)>/i
    end
  end
end
# ============================================================================ #
# * Game_Actor *
# ============================================================================ #
class Game_Actor
  alias sklvl_setup setup
  def setup(actor_id)
    @skill_lvls = []
    @unlocked_skills = []
    @skp = DBZ::SkillLevel::DEFAULT_SKP
    sklvl_setup(actor_id)
    @skills = []
    unlock_skills
  end
  
  def skill_points
    return @skp
  end
  
  def add_skill_points(num)
    @skp += num
  end
  
  def reset_skills
    skp = 0
    @skill_lvls.each { |i|
      skp += i == nil ? 0 : i
    }
    @skills = []
    @skp += skp
    unlock_skills
  end
  
  def unlocked_skills
    result = []
    for i in @unlocked_skills
      result.push($data_skills[i])
    end
    return result
  end
  
  def skill_level(skill_id)
    return @skill_lvls[skill_id]
  end
  
  def learn_skill(skill_id, free=true)
    unless skill_learn?($data_skills[skill_id])
      @skills.push(skill_id)
      unless free
        @skp -= DBZ::SkillLevel::SKP_REQ
      end
      @unlocked_skills.delete(skill_id)
      @skill_lvls[skill_id] = 1
    end
  end
  
  def unlock_skill(skill_id)
    unless skill_learn?($data_skills[skill_id]) and @unlocked_skills.include?(skill_id)
      @unlocked_skills.push(skill_id)
      @skill_lvls[skill_id] = 0
    end
  end
  
  def unlock_skills
    self.class.learnings.each { |i|
      if i.level <= @level and requirements_met(i.skill_id)
        @unlocked_skills.push(i.skill_id)
        @skill_lvls[i.skill_id] = 0
      end
    }
  end
  
  def level_up_skill(skill_id, free=true)
    @skill_lvls[skill_id] += 1
    unless free
      skp = DBZ::SkillLevel::SKP_REQ
      if DBZ::SkillLevel::SKP_CURVE > 0
        skp += (skill_level(skill_id)-1) * DBZ::SkillLevel::SKP_CURVE
      end
      @skp -= skp
    end
    unlock_skills
  end
  
  def level_up
    @level += 1
    @skp += DBZ::SkillLevel::SKP_PERLEVEL
    unlock_skills
  end
  
  def requirements_met(skill_id)
    if skill_learn?($data_skills[skill_id])
      return false
    end
    if @unlocked_skills.include?(skill_id)
      return false
    end
    item = $data_skills[skill_id].note
    item.split(/[\r\n]+/).each { |line|
      if line =~ DBZ::Regexp::Skill::REQ
        skills = $1.split('|')
        skills.each { |req|
          req = req.split(',')
          rskill= req[0].to_i
          rlvl = req[1].to_i
          if !@skills.include?(rskill)
            return false
          end
          if @skill_lvls[rskill] < rlvl
            return false
          end
        }
      end
    }
    return true
  end
  
  def max_lvl(skill_id)
    max_lvl = 1
    item = $data_skills[skill_id].note
    item.split(/[\r\n]+/).each { |line|
      if line =~ DBZ::Regexp::Skill::MAXLVL
        max_lvl = $1.to_i
      end
    }
    return max_lvl
  end
  
  def calc_mp_cost(skill)
    cost = get_curve($game_actors[@actor_id], skill, "mp")
    if half_mp_cost
      return cost / 2
    else
      return cost
    end
  end
  
  def sort_skills
    @skills.sort!
  end
end
# ============================================================================ #
# * Game_Battler *
# ============================================================================ #
class Game_Battler
  def skill_level(skill_id)
    level = 1
    item = enemy.note
    item.split(/[\r\n]+/).each { |line|
      if line =~ DBZ::Regexp::Skill::ENEMY_SKLV
        skills = $1.split('|')
        skills.each { |skill|
          skill = skill.split(',')
          return skill[1].to_i if skill[0].to_i == skill_id
        }
      end
    }
    return level
  end
  
  def get_curve(user, obj, stat)
    case stat
      when "dmg"
        dmg = obj.base_damage
        item = obj.note
        item.split(/[\r\n]+/).each { |line|
          if line =~ DBZ::Regexp::Skill::DMG_CURVE
            dmg = obj.base_damage
            #user.actor?
            skill_lvl = user.skill_level(obj.id)
            dmg += $1.to_i * (skill_lvl - 1)
          end
        }
        return dmg
      when "mp"
        mp = obj.mp_cost
        item = obj.note
        item.split(/[\r\n]+/).each { |line|
          if line =~ DBZ::Regexp::Skill::MP_CURVE
            mp = obj.mp_cost
            unless user.skill_level(obj.id) == 0
              mp += $1.to_i * (user.skill_level(obj.id) - 1)
            end
          end
        }
        return mp
      else
    end
  end
  
  def make_obj_damage_value(user, obj)
    damage = get_curve(user, obj, "dmg")            # get base damage
    if damage > 0                                   # a positive number?
      damage += user.atk * 4 * obj.atk_f / 100      # Attack F of the user
      damage += user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
      unless obj.ignore_defense                     # Except for ignore defense
        damage -= self.def * 2 * obj.atk_f / 100    # Attack F of the target
        damage -= self.spi * 1 * obj.spi_f / 100    # Spirit F of the target
      end
      damage = 0 if damage < 0                      # If negative, make 0
    elsif damage < 0                                # a negative number?
      damage -= user.atk * 4 * obj.atk_f / 100      # Attack F of the user
      damage -= user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
    end
    damage *= elements_max_rate(obj.element_set)    # elemental adjustment
    damage /= 100
    damage = apply_variance(damage, obj.variance)   # variance
    damage = apply_guard(damage)                    # guard adjustment
    if obj.damage_to_mp  
      @mp_damage = damage                           # damage MP
    else
      @hp_damage = damage                           # damage HP
    end
  end
end
# ============================================================================ #
# * Window_SkillPoint *
# ============================================================================ #
class Window_SkillPoint < Window_Base
  def initialize(x, y, actor)
    super(x, y, 180, WLH + 32)
    @actor = actor
    refresh
  end
  
  def refresh
    self.contents.clear
    cx = contents.text_size("Skill Points: ").width
    skp = @actor.skill_points
    self.x = 364
    self.width = 180
    self.contents.font.color = normal_color
    self.contents.draw_text(self.contents.rect, "Skill Points: " + skp.to_s, 0)
  end
end
# ============================================================================ #
# * Window_Skill *
# ============================================================================ #
class Window_Skill < Window_Selectable
  attr_accessor   :index
  
  def refresh
    @data = []
    id = []
    unlocked = []
    for skill in @actor.skills
      @data.push(skill)
      id.push(skill.id)
      unlocked.push(true)
      if skill.id == @actor.last_skill_id
        self.index = @data.size - 1
      end
    end
    unless $game_temp.in_battle
      for skill in @actor.unlocked_skills
        @data.push(skill)
        id.push(skill.id)
        unlocked.push(false)
        if skill.id == @actor.last_skill_id
          self.index = @data.size - 1
        end
      end
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i, id[i], unlocked[i])
    end
  end
  
  def draw_item(index, skill_id, unlocked)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    skill = @data[index]
    if skill != nil
      rect.width -= 4
      enabled = @actor.skill_can_use?(skill)
      learned = @actor.skill_learn?($data_skills[skill_id])
      draw_item_name(skill, rect.x, rect.y, learned, enabled)
      self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
      rect.x += 1
      rect.y += 5
      self.contents.font.bold = true
      self.contents.font.size = 12
      if learned
        skill_lvl = DBZ::SkillLevel::LVL_PREFIX + @actor.skill_level(skill_id).to_s
        self.contents.draw_text(rect,skill_lvl,0)
      end
      self.contents.font.size = 20
      self.contents.font.color = Color.new(255,255,255,255)
      self.contents.font.bold = false
    end
  end
  
  def draw_item_name(item, x, y, learned, enabled = true)
    if item != nil
      draw_icon(item.icon_index, x, y, learned, enabled)
      self.contents.font.color = normal_color
      self.contents.font.color.alpha = enabled ? 255 : 128
      unless learned
        self.contents.font.color = Color.new(153, 153, 153, 255)
      end
      self.contents.draw_text(x + 24, y, 172, WLH, item.name)
    end
  end
  
  def draw_icon(icon_index, x, y, learned, enabled = true)
    bitmap = Cache.system("Iconset")
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    if learned
      self.contents.blt(x, y, bitmap, rect, enabled ? 255 : 128)
    else
      gray = Tone.new(0, 0, 0, 255)
      self.contents.blt(x, y, bitmap, rect, 255)
      self.contents.font.color = Color.new(153, 153, 153, 255)
    end
  end
end
# ============================================================================ #
# * Scene_Skill *
# ============================================================================ #
class Scene_Skill < Scene_Base
    alias sklv_start start
    def start
      sklv_start
      @skp_window = Window_SkillPoint.new(384, 360, @actor)
    end
    
    alias sklv_terminate terminate
    def terminate
      sklv_terminate
      @skp_window.dispose
      $game_party.members[@actor_index].sort_skills
    end
    
    alias sklv_update update
    def update
      sklv_update
      #@skp_window.refresh
      #@skill_window.refresh
    end
    
    def update_skill_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    elsif Input.trigger?(Input::C)
      @skill = @skill_window.skill
      if @actor.skill_learn?(@skill)
        if @skill != nil
          @actor.last_skill_id = @skill.id
        end
        if @actor.skill_can_use?(@skill)
          Sound.play_decision
          determine_skill
        else
          Sound.play_buzzer
        end
      else
        Sound.play_buzzer
      end
      @actor.last_skill_id = nil
    elsif Input.trigger?(Input::X)
      skill_id = @skill_window.skill.id
      req = DBZ::SkillLevel::SKP_REQ
      req += (@actor.skill_level(skill_id)) * DBZ::SkillLevel::SKP_CURVE
      skill_points = @actor.skill_points >= req
      if @actor.skill_level(skill_id) < @actor.max_lvl(skill_id) and skill_points
        Sound.play_use_item
        unless @actor.skill_learn?($data_skills[skill_id])
          @actor.learn_skill(skill_id, false)
          @skill_window.index = @actor.skills.size-1
        else
          @actor.level_up_skill(skill_id, false)
        end
        @skp_window.refresh
        @skill_window.refresh
      else
        Sound.play_buzzer
      end
    end
  end
end


This post has been edited by dividedbyzero: Oct 21 2010, 05:37 PM
Go to the top of the page
 
+Quote Post
   
kazukitokei
post Mar 29 2010, 04:41 AM
Post #2



Group Icon


Type: Writer
Alignment: Chaotic Good




It feels like i've seen this script from somewhere. Can you post up compatibilities for other major scripts packs such as KGC and such? If not then i'll check it's compatability for KGC and RGSS2+. Great script by the way biggrin.gif


--------------------
Lets not forget the tales that were once told, for they might never be told again..
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Mar 29 2010, 05:38 AM
Post #3



Group Icon


Type: Coder
Alignment: Unaligned




QUOTE (kazukitokei @ Mar 28 2010, 09:41 PM) *
It feels like i've seen this script from somewhere. Can you post up compatibilities for other major scripts packs such as KGC and such? If not then i'll check it's compatability for KGC and RGSS2+. Great script by the way biggrin.gif

I sure hope you haven't seen this before. I only made this cause I couldn't find anything with similar functionality. As for compatibility, I tried it with my current project which has many KGC scripts, Yanfly script, Tankentai SBS, etc. and it worked perfectly. Compatibility reports would be appreciated, though. And thanks! biggrin.gif
Go to the top of the page
 
+Quote Post
   
flipsomel
post Mar 29 2010, 04:08 PM
Post #4


L. Khaos
Group Icon


Type: Undisclosed




It would be great if you could implement a scene where you could see the actual skill tree ( it was one of the lastest updates for when i quitted playing RO btw ).

Anyway, good job^^


--------------------
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Mar 29 2010, 04:40 PM
Post #5



Group Icon


Type: Coder
Alignment: Unaligned




QUOTE (flipsomel @ Mar 29 2010, 09:08 AM) *
It would be great if you could implement a scene where you could see the actual skill tree ( it was one of the lastest updates for when i quitted playing RO btw ).

Anyway, good job^^

I might plan to try something like that in the future, but the calculations to have it automatically design itself would likely be beyond me.

And thanks. :]
Go to the top of the page
 
+Quote Post
   
Shanghai
post Mar 29 2010, 06:13 PM
Post #6



Group Icon


Type: Undisclosed




You may want to take a look at Yan's version for some reference. It includes things such as changing the skill's cost, how long states stay, and more. Plus, a good idea is to include a little window showing what changes are made, too.


--------------------
Go to the top of the page
 
+Quote Post
   
Fain
post Mar 29 2010, 06:54 PM
Post #7



Group Icon


Type: Designer
Alignment: Unaligned




omg dude i luv you! I've been looking for something like his for a very long time.
Go to the top of the page
 
+Quote Post
   
RyouKachi
post Mar 29 2010, 06:56 PM
Post #8



Group Icon


Type: Designer
Alignment: Chaotic Evil




Niice, I could find a use for this. I'm especially fond of the unlock skill function.


--------------------
Five things I would tell other RMers:
-Frankenspriting is really easy, anyone can have a go for great results.
-What matters is not the script but how you use it
-NEVER underestimate the power of events.
-When using RTP remember Vibrato and recolours.
-Use the wondereous substance know as paper (plan, note and sketch your work)

My most epic IRC moment ever:
Spoiler:
* RyouKachi iniates a staring contest
<+CaptainJet> you're gonna lose
<RyouKachi> I WON'T LOOOOSE!
<+CaptainJet> you already did
<RyouKachi> Oh shit
<RyouKachi> Damn you JEEEEET!
<+CaptainJet> ;)
<RyouKachi> I'm too psyched to give up I shall see through time itself and stare UNTIL I WIN!
<+CaptainJet> well...
<+CaptainJet> you lost
<+CaptainJet> i see it already
<+CaptainJet> in the future
<RyouKachi> The future is not set in stone, I can change it!
<+CaptainJet> no you can't
<+CaptainJet> i also knew you'd say that
<+CaptainJet> and i know what you'll say next
<RyouKachi> Predictions cannot bind me I am RyouKachi.
<RyouKachi> I am my own man.
<RyouKachi> The future is shaped by ME!
<+CaptainJet> nope
<+CaptainJet> sorry to break it to ya bud
<+CaptainJet> i set the future
<RyouKachi> Then...
<RyouKachi> YOU ARE IN MY WAY!
<+CaptainJet> i am your way
<+CaptainJet> :|
<RyouKachi> INFINITE SOURCE OF EPIC I CALL APON YOU
<+CaptainJet> upon*
<RyouKachi> I DEFINE SPELLING
<+CaptainJet> no, i do
<+CaptainJet> since i set the future of the person who created english spelling
<RyouKachi> GURREN LAGANN
<+CaptainJet> :|
<RyouKachi> Kick reason to the curb and break through the impossible!
<RyouKachi> Who the hell do you think I am!
<RyouKachi> GIGA
<RyouKachi> DRILL
<RyouKachi> BREAKER!!!!!
<+CaptainJet> :|
* RyouKachi is now known as RYOUKACHI
<+CaptainJet> :"|
<RYOUKACHI> Capital letters cannot define the epic
<+CaptainJet> yeah, that's why i don't capitalize my name
<RYOUKACHI> Rule of Cool: If it's cool then it's possible.
<+CaptainJet> no...
<RYOUKACHI> I am a human a living thermo-dynamic miracle, I can do anything.

* Dissonance (~Dissonanc@93139DB9.3DF1602D.38BB7985.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* &Touchfuzzy (~IceChat7@CABEB43A.693AA8F5.657E0562.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* Shiro (Mibbit@synIRC-C777CA08.chi01.dsl-w.verizon.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* gonezoles (~bre@synIRC-2750A7DD.hr.hr.cox.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* &X (generic@botserv.synirc.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* Snacks (Snacks@synIRC-77B9841.hsd1.ma.comcast.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* DeviBOT (~DeviBOT@D8C7C2CE.95BA9E12.3E68EF55.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* boon (~boon@synIRC-71559BEA.range86-158.btcentralplus.com) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* @Mithran (Mithran@synIRC-19B73521.static.rvsd.ca.charter.com) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +Jaeroll (~chatzilla@synIRC-9FE553DE.dyn.embarqhsd.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +CaptainJet (~chatzilla@synIRC-FAC5E26A.pools.spcsdns.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* cyangmou (~cyangmou@synIRC-115AE74B.adsl.highway.telekom.at) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +InconspiciousBox (~chatzilla@synIRC-916B2F5E.dhcp.bluecom.no) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)

<RYOUKACHI> Wow
<RYOUKACHI> I can do anything


I support:
Spoiler:















And lastly I made a blog, check it out here:
Ryou's Work Reports
(Blog last updated on 09/10/2010)
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Mar 30 2010, 03:05 AM
Post #9



Group Icon


Type: Coder
Alignment: Unaligned




QUOTE (Shanghai @ Mar 29 2010, 11:13 AM) *
You may want to take a look at Yan's version for some reference. It includes things such as changing the skill's cost, how long states stay, and more. Plus, a good idea is to include a little window showing what changes are made, too.

I didn't even realize Yan already did something like this. At least his doesn't seem to have an unlock skills thing. xD
And as for the suggested improvements, I'll probably implement some of this stuff after working on a couple of other scripts I have in mind. I'll have the skill level up button open a new scene that includes details of the level up and such as opposed to just leveling up the skill. Thanks for the suggestions!
Go to the top of the page
 
+Quote Post
   
Wizard
post Mar 30 2010, 03:27 AM
Post #10


Just call me Wiz
Group Icon


Type: Spriter
Alignment: True Neutral




This is neato. Thanks!
Go to the top of the page
 
+Quote Post
   
Shanghai
post Mar 30 2010, 08:14 PM
Post #11



Group Icon


Type: Undisclosed




QUOTE (dividedbyzero @ Mar 30 2010, 03:05 AM) *
I didn't even realize Yan already did something like this. At least his doesn't seem to have an unlock skills thing. xD
And as for the suggested improvements, I'll probably implement some of this stuff after working on a couple of other scripts I have in mind. I'll have the skill level up button open a new scene that includes details of the level up and such as opposed to just leveling up the skill. Thanks for the suggestions!

There's skill unlock via the JP Base script for YEZ.


--------------------
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Mar 30 2010, 08:18 PM
Post #12



Group Icon


Type: Coder
Alignment: Unaligned




Updated to v1.1. Also, thanks for the comments!
Go to the top of the page
 
+Quote Post
   
new
post Jul 14 2010, 04:46 PM
Post #13



Group Icon


Type: Designer
Alignment: Chaotic Evil




great script! it does have high compatibility with most KGC scripts. but it disables the function of KGC_categorizeskill

This post has been edited by new: Jul 14 2010, 04:51 PM


--------------------
download here
(Ask before using a bar from someone's sig -Touchfuzzy)
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Jul 25 2010, 10:59 PM
Post #14



Group Icon


Type: Coder
Alignment: Unaligned




Just a quick notice; I've started working on version 2 of this script. It'll be completely re-scripted and packed with new features, such as an actual confirmation screen that summarizes changes, as well as whatever else I can think of. If anybody has a specific request for me, please feel free to leave a reply and I'll look into it.
Go to the top of the page
 
+Quote Post
   
kairoxursox
post Aug 24 2010, 05:17 AM
Post #15



Group Icon


Type: Designer
Alignment: Neutral Evil




Hey can someone post a video or something explaining exactly how to use this script? This is my first time working with scripts, and I'm not entirely sure what I'm doing.... So if anyone could do that, it would be very helpful!
Go to the top of the page
 
+Quote Post
   
SincoMai
post Aug 25 2010, 12:15 AM
Post #16


Leader Of SincInc
Group Icon


Type: Artist
Alignment: Chaotic Neutral




Its not working with my scripts XD,hope you guys Get it to work with yours.


--------------------
[/url]

My Words-
QUOTE
am...i dont care.
Go to the top of the page
 
+Quote Post
   
KireIII
post Oct 11 2010, 07:42 PM
Post #17



Group Icon


Type: Designer




Multiple skills with the same stat mod don't work together they just reset each other. I was using 2 passive skills that increased attack but when I skilled the second one my attack reset to normal. (when using with dbz passive skills.)

This post has been edited by KireIII: Oct 11 2010, 09:23 PM
Go to the top of the page
 
+Quote Post
   
Chris Gordon
post Oct 12 2010, 02:11 AM
Post #18


*o*
Group Icon


Type: Writer
Alignment: True Neutral




QUOTE (Shanghai @ Mar 30 2010, 03:14 PM) *
There's skill unlock via the JP Base script for YEZ.

I just spent a whole min looking at ur sig. I laugh so hard because I'm kinda like that. XD BUT I'VE KNOWN ABOUT VX FOR 2 YEARS!
Go to the top of the page
 
+Quote Post
   
KireIII
post Oct 19 2010, 10:59 PM
Post #19



Group Icon


Type: Designer




Is there a way to set the skill point curve on an individual skill?
or to shut off manual skilling on certain skills?

-High cost skill leveling and low cost to make the stronger skills less accessible.

-Say I have a skill I don't want people to level up manually but still want it to be leveled through events.

This post has been edited by KireIII: Oct 19 2010, 10:59 PM
Go to the top of the page
 
+Quote Post
   
dividedbyzero
post Oct 21 2010, 05:44 PM
Post #20



Group Icon


Type: Coder
Alignment: Unaligned




QUOTE (KireIII @ Oct 19 2010, 03:59 PM) *
Is there a way to set the skill point curve on an individual skill?
or to shut off manual skilling on certain skills?

-High cost skill leveling and low cost to make the stronger skills less accessible.

-Say I have a skill I don't want people to level up manually but still want it to be leveled through events.

I had that first feature working in version 2 of my script. However, lack of motivation has caused me to cease development on it. As for the second one, you might be able to level up a skill despite its level cap using the script command like so:

skill_level_up(skill_id)

As long as you have curves set up in the script's note tag, this should work perfectly.

@Everyone: Sorry for not finishing version 2. Hopefully I can get my motivation back and finish it sometime soon... D:
Go to the top of the page
 
+Quote Post
   

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 30th July 2014 - 12:16 PM

RPGMakerVX.net is an Privacy Policy, Legal.