Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

 
Reply to this topicStart new topic
> [RGSS2] Ammo Requirements, Allow Enemies and Actors to have ammunition
Ty
post Jul 24 2009, 09:13 PM
Post #1


Level 38
Group Icon

Group: +Gold Member
Posts: 1,007
Type: Scripter
RM Skill: Undisclosed




Script Name: Ammo Requirements - VX edition
Written by: Synthesize
Current Version: V.1.2.5
Release Date: July 24, 2009

What is it?

This simple script introduces Ammunition into your game. It allows you to customize Ammunition for both actors and enemies and is easy to use. This script is a port of my RPG Maker XP script of the same name.

Changelog:
Version 1.2.5 - Bug fixed
- Actors drop weapons and attack even if they have ammo - Fixed

Version 1.2.4 - Feature Added
- Assign an unlimited amount of different ammunition for each weapon

Version 1.1.4 - Four new bugs fixed:
- Enemies can keep attacking when out of ammo and UsePhysical is not present - Fixed
- Using certain enemy skills caused the game to crash - Fixed
- "total_ammo = $data_enemies[1].note.downcase.match('totalammo:(\d*)')[1].to_i" - Fixed
- Game crash when setting up Enemy ammo when settings not set - Fixed

Version 1.1.0 - Feature Added
- Add 'UsePhysical' enemy Note tag
- Add Customization option
- Unequip item if insufficient ammo and attack with fists

Version 1.0.0 - Original release.

Features:
- Define Unlimited amount of weapons requiring ammunition
- Create enemies that also use Ammunition for both their special selected skills and physical attacks
- Define enemy ammunition names
- Customize how much ammo each weapon/skill uses
- Easy to use

Creating Enemies that use Ammunition:
In the 'Notes' in your Enemy tab in the database, add the following three lines:
UseAmmo
UsePhysical (Optional)
AmmoCost:x
TotalAmmo:y
Where AmmoCost:x is the amount of ammo needed to attack and TotalAmmo:y is the total amount of ammo that enemy has. You may customize how much Ammo it costs for each individual skill in the customization section of the script by using hashes. You may also customize the enemy ammunition names there. If UsePhysical tag is present in your notes, then that enemy will drop their ranged weapon and attack physically for NORMAL attacks only

Configuration:
Physical attacks are configured by adding the UseAmmo tag in the 'Notes' of the enemies in the database. If useAmmo tag is not present, then the enemy we not use ammunition. Making enemies use Ammuntion for skills is hardcoded in the configuration section of the script using hashes.

-=Assigning multiple Ammunition for each weapon:=-

Instead of using the normal syntax for using one type of ammo only ( {weapon_id => item_id} ) you instead use the following syntax in the configuration portion of the script: syntax = {weapon_id => [item_id1, item_id2, item_id3], and so on}. The script does the rest afterwards.

DEMO:

http://www.4shared.com/file/120489131/abaf...quirements.html

Compatibility:
This script aliases the following methods and may not be compatible with scripts that overwrite/modify the same methods. However most of the aliases just add a call calling a custom Scene_Battle method.
Scene_Battle:
CODE
execute_action_attack
start
execute_action
execute_action_skill



The Script:
[Show/Hide] The script
CODE
#===============================================================================
# * Ammo Requirements * - VX Edition
#-------------------------------------------------------------------------------
# Written by Ty/Synthesize
# Version 1.2.5
# July 24, 2009
#-------------------------------------------------------------------------------
# * This script is only compatible with RGSS2 *
#===============================================================================
# Begin Customization
#-------------------------------------------------------------------------------
module TysAmmoRequirements
  #-----------------------------------------------------------------------------
  # * General Settings *
  #-----------------------------------------------------------------------------
    # Un-equip actor weapon when out of ammo.
    Unequip_weapon_NoAmmo = true
  #-----------------------------------------------------------------------------
  # * Weapon Ammunition Settings *
  #-----------------------------------------------------------------------------
    # This sets how much ammo is needed for a specific weapon ID in the database
    # Syntax = {weapon_id => ammunition_cost}
    Weapons_ammo_cost = {4 => 1, 5 => 1}
    # This assigns Item IDs in the database to a weapon ID
    # Syntax = {weapon_id => item_id}
    Weapons_ammo_id = {4 => [21,22], 5 => 22}
    # Creating weapons that use Multiple Ammunition is easy. You use the hash above
    # and create the Ammo like you normally would, however the syntax changes to this:
    # Syntax if using multiple Ammo = {Weapon_ID => [item_id1, item_id2, etc]}
  #-----------------------------------------------------------------------------
  # *Skill Ammunition Settings *
  #-----------------------------------------------------------------------------
    # This assigns the ammo cost for a specific skill ID
    # Syntax = {skill_id => ammo_cost}
    Skill_ammo_cost = {1 => 2}
    # This defines the Item ID used as ammunition for the Skill ID
    # syntax = {skill_id => Item_ID}
    Skill_ammo_id = {1 => 21}
  #-----------------------------------------------------------------------------
  # * Enemy Ammo Use Settings *
  #-----------------------------------------------------------------------------
    # This defines enemies that use ammunition. Simply put this tag in the 'Notes'
    # and the enemy will automatically use ammunition.
    Enemy_ammo_activate_string = "UseAmmo"
    # This defines enemy weapon/ammo names
    # Syntax: {enemy_id => "Name"}
    Enemy_ammo_name = {1 => "Jelly", 2 => "Arrow", 3 => "Pistol"}
    # This defines ammo cost when enemy uses skills
    # Syntax: skill_id -> ammo_cost
    Enemy_skill_cost = {1 => 5}
end
#-------------------------------------------------------------------------------
# Vocab Add-ons
#-------------------------------------------------------------------------------
module Vocab
  # Syntax: "[Actor_Name] used [ammo_cost] [ammo_name]"
  ConsumeAmmo = "%s used %s %s(s)!"
  # Syntax: "[Actor_Name] is out of [ammo_name}!"
  NoAmmo = "%s is out of %s(s)!"
  # Syntax: "[Enemy_Name] is out of [ammo_name}!"
  EnemyNoAmmo = "%s is out of %s!"
  # Syntax: "[Enemy_Name] used a [ammo_name}!"
  EnemyUsedAmmo = "%s used %s!"
end
#-------------------------------------------------------------------------------
# End Script Customization
#-------------------------------------------------------------------------------
# Begin Script
#-------------------------------------------------------------------------------
class Scene_Battle
  # Alias methods
  alias ty_ammo_requirements_attack execute_action_attack
  alias ty_ammo_requirements_start start
  alias ty_ammo_requirements_execute_action execute_action
  alias ty_ammo_requirements_execute_skill execute_action_skill
  #-----------------------------------------------------------------------------
  # Start:: Call a custom method
  #-----------------------------------------------------------------------------
  def start
    ty_ammo_requirements_start
    ty_set_enemy_ammo
  end
  #-----------------------------------------------------------------------------
  # Sets the enemy ammo requirement statistics
  #-----------------------------------------------------------------------------
  def ty_set_enemy_ammo
    @enemy_ammo = []
    @enemy_attack = -1
      for member in $game_troop.members
        if $data_enemies[member.enemy_id].note.include?(TysAmmoRequirements::Enemy_ammo_activate_string)
          total_ammo = $data_enemies[member.enemy_id].note.downcase.match('totalammo:(\d*)')[1].to_i
          @enemy_ammo.push(total_ammo)
        end
      end
  end
  #-----------------------------------------------------------------------------
  # Reset Enemy Index if it is the actors turn
  #-----------------------------------------------------------------------------
  def execute_action
    # This is a VERY lazy way for using different enemy ammo counts.
    # When it's the enemies turn, add one to enemy_attack. This acts as a index
    # For emoving enemy ammo. It's an extremely simple and lazy way :x
    if @active_battler.is_a?(Game_Actor)
      @enemy_attack = -1
    else
      @enemy_attack += 1
    end
    ty_ammo_requirements_execute_action
  end
  #-----------------------------------------------------------------------------
  # execute_action_attack: Call an additional method, and then call the original code
  #-----------------------------------------------------------------------------
  def execute_action_skill
    # Call a custom battle method
    ty_execute_action_skill
    # Call the original battle method if still attacking
    if @active_battler.action.kind == 1
      ty_ammo_requirements_execute_skill
    end
  end
  #-----------------------------------------------------------------------------
  # execute_action_attack: Call an additional method, and then call the original code
  #-----------------------------------------------------------------------------
  def execute_action_attack
    # Call a custom battle method
    ty_execute_action_attack
    # Call the original battle method if still attacking
    if @active_battler.action.kind == 0
      ty_ammo_requirements_attack
    end
  end
  #-----------------------------------------------------------------------------
  # ty_execute_action_attack: This method performs the 'Attacking' with ranged weapon
  # check and removes the ammo needed, if it is present.
  #-----------------------------------------------------------------------------
  def ty_execute_action_attack
    # Check to see if the current attacker is the actor and is using a weapon that needs ammo
    if @active_battler.is_a?(Game_Actor) && TysAmmoRequirements::Weapons_ammo_cost[@active_battler.weapon_id]
      # Both checks clear, so perform Ammo adjustments
      # First we collect some end-user options, like ammo cost and ammo ID.
      gather_ammo_cost = TysAmmoRequirements::Weapons_ammo_cost[@active_battler.weapon_id]
      # This handles multiple ammunition for the same weapon. First we check if the setting is an array
      if TysAmmoRequirements::Weapons_ammo_id[@active_battler.weapon_id].is_a?(Array)
        # Check passed, so now we store the array items
        array_items = TysAmmoRequirements::Weapons_ammo_id[@active_battler.weapon_id]
        # Now we check each ID in array_items and compare to see if we have enough ammo
        for index in array_items
          # Check to see if the actor has enough ammo
          if $game_party.item_number($data_items[index]) >= gather_ammo_cost
            # Check cleared, gather item ID and terminate check loop
            gather_ammo_item = $data_items[index]
            break
          end
        end
      else
        gather_ammo_item = $data_items[TysAmmoRequirements::Weapons_ammo_id[@active_battler.weapon_id]]
      end
      # Next we check to make sure the attacking actor has enough ammo
      if $game_party.item_number(gather_ammo_item) >= gather_ammo_cost
        # The check cleared, so perform ammo adjustments
        # Consume Ammunition
        $game_party.lose_item(gather_ammo_item, gather_ammo_cost)
        # Display text
        text = sprintf(Vocab::ConsumeAmmo, @active_battler.name, gather_ammo_cost, gather_ammo_item.name)
        @message_window.add_instant_text(text)
      else
        # Failed check, go into defense mode
        if TysAmmoRequirements::Unequip_weapon_NoAmmo
          @active_battler.change_equip_by_id(0,0)
        else
        text = sprintf(Vocab::NoAmmo, @active_battler.name, gather_ammo_item.name)
        @message_window.add_instant_text(text)
        @active_battler.action.kind = 1
        execute_action_guard
        end
      end
      # Perform a check to see if Active_Battler is a enemy and has ammo
    elsif @active_battler.is_a?(Game_Enemy) && $data_enemies[@active_battler.enemy_id].note.include?(TysAmmoRequirements::Enemy_ammo_activate_string)
      # Now we have to isolate the interger in the 'Note' string of the enemies
      # and then store the interger in a new local value for future use.
      enemy_ammo_cost = $data_enemies[@active_battler.enemy_id].note.downcase.match('ammocost:(\d*)')[1].to_i
      enemy_use_physical = true if $data_enemies[@active_battler.enemy_id].note.include?('usephysical')
      enemy_use_physical = false if $data_enemies[@active_battler.enemy_id].note.include?('usephysical') == false
      enemy_ammo_name = TysAmmoRequirements::Enemy_ammo_name[@active_battler.enemy_id]
      # Check to see if the enemy has enough ammo to attack
      if @enemy_ammo[@enemy_attack] >= enemy_ammo_cost
        # Check cleared, remove enemy ammo.
        text = sprintf(Vocab::EnemyUsedAmmo, @active_battler.name, enemy_ammo_name)
        @message_window.add_instant_text(text)
        @enemy_ammo[@enemy_attack] -= enemy_ammo_cost
      else
        # Check failed, put enemy in guard mode  
        if enemy_use_physical == false
          text = sprintf(Vocab::EnemyNoAmmo, @active_battler.name, enemy_ammo_name)
          @message_window.add_instant_text(text)
          @active_battler.action.kind = 1
          execute_action_guard
        end
      end
    end
  end
  #-----------------------------------------------------------------------------
  # ty_execute_action_skill: This method checks to see if the skill being used
  # requires ammunition.
  #-----------------------------------------------------------------------------
  def ty_execute_action_skill
    # Check to see if the current attacker is the actor and is using a weapon that needs ammo
    if @active_battler.is_a?(Game_Actor) && TysAmmoRequirements::Skill_ammo_cost[@active_battler.action.skill_id]
      if TysAmmoRequirements::Weapons_ammo_id[@active_battler.weapon_id].is_a?(Array)
        # Check passed, so now we store the array items
        array_items = TysAmmoRequirements::Weapons_ammo_id[@active_battler.weapon_id]
        # Now we check each ID in array_items and compare to see if we have enough ammo
        for index in array_items
          # Check to see if the actor has enough ammo
          if $game_party.item_number($data_items[index]) >= gather_ammo_cost
            # Check cleared, gather item ID and terminate check loop
            gather_ammo_item = $data_items[index]
            break
          end
        end
      else
        gather_ammo_item = $data_items[TysAmmoRequirements::Weapons_ammo_id[@active_battler.skill_id]]
      end
      # Both checks clear, so perform Ammo adjustments
      # First we collect some end-user options, like ammo cost and ammo ID.
      gather_ammo_cost = TysAmmoRequirements::Skill_ammo_cost[@active_battler.action.skill_id]
      id = @active_battler.action.skill_id
      gather_ammo_item =  $data_items[TysAmmoRequirements::Skill_ammo_id[id]]
      if $game_party.item_number(gather_ammo_item) >= gather_ammo_cost
        # The check cleared, so perform ammo adjustments
        # Consume Ammunition
        $game_party.lose_item(gather_ammo_item, gather_ammo_cost)
        # Display text
        text = sprintf(Vocab::ConsumeAmmo, @active_battler.name, gather_ammo_cost, gather_ammo_item.name)
        @message_window.add_instant_text(text)
      else
        # Failed check, go into defense mode
        text = sprintf(Vocab::NoAmmo, @active_battler.name, gather_ammo_item.name)
        @message_window.add_instant_text(text)
        @active_battler.action.kind = 0
        execute_action_guard
      end
      # Perform a check to see if Active_Battler is a enemy and has ammo
    elsif @active_battler.is_a?(Game_Enemy) && $data_enemies[@active_battler.enemy_id].note.include?(TysAmmoRequirements::Enemy_ammo_activate_string) && TysAmmoRequirements::Enemy_skill_cost[@active_battler.action.skill_id]
      # Now we have to isolate the interger in the 'Note' string of the enemies
      # and then store the interger in a new local value for future use.
      enemy_ammo_cost = TysAmmoRequirements::Enemy_skill_cost[@active_battler.action.skill_id]
      enemy_ammo_name = TysAmmoRequirements::Enemy_ammo_name[@active_battler.enemy_id]
      # Check to see if the enemy has enough ammo to attack
      if @enemy_ammo[@enemy_attack] >= enemy_ammo_cost
        # Check cleared, remove enemy ammo.
        text = sprintf(Vocab::EnemyUsedAmmo, @active_battler.name, enemy_ammo_name)
        @message_window.add_instant_text(text)
        @enemy_ammo[@enemy_attack] -= enemy_ammo_cost
      else
        # Check failed, put enemy in guard mode  
        text = sprintf(Vocab::EnemyNoAmmo, @active_battler.name, enemy_ammo_name)
        @message_window.add_instant_text(text)
        @active_battler.action.kind = 0
        execute_action_guard
      end
    end
  end
end


__________________________
My Script Demo link broken? Looking for old scripts? Go here:
http://synthesize.4shared.com
Go to the top of the page
 
+Quote Post
   
FauxMask
post Jul 25 2009, 07:19 AM
Post #2


Level 7
Group Icon

Group: Member
Posts: 96
Type: None
RM Skill: Beginner




Huh, what a coincidence, this is exactly what Ive been looking for. Lets see how it is =]

Edit:
Okay I tested it and it works great, I love it! Thank you for making this happy.gif

I have a few suggestions though:
-When you run out of ammo you cant attack, and if you cant escape then you cant win the fight. I suggest making the player instead unequipt the weapon and use his fists to fight, that way, you still are doing some damage have a chance to win.

-If you could put in some kind of meter in battle (like the HP or MP meter) of how much ammo of the weapon you have equipt left, then that would be extremely helpful. Otherwise, when you are in battle, if you arent counting your attacks, you wouldnt know when to expect to run out of ammo and not be able to use your weapon.

Becides those two things, I found your script to be just what I was looking for and very very helpful biggrin.gif Great job!

This post has been edited by FauxMask: Jul 25 2009, 07:36 AM
Go to the top of the page
 
+Quote Post
   
SuperMega
post Jul 25 2009, 09:17 AM
Post #3


Public memberTitle(String n)
Group Icon

Group: Revolutionary
Posts: 683
Type: Developer
RM Skill: Skilled




Woah, perfect timing for an ammo script! And this one sounds very simple. Thanks a ton!


__________________________
Translated Scripts:
Diagonal Movement (Eight Direction) and Smooth Jumping
Attack Party, Heal Enemies
Display Party Status On Map (DQ Style)
Display Maps Under Maps
Save Screen Customization
Subtitled Menus

If you want to suggest a translation for something, PM me, and I'll take a look. I AM TRYING TO GIVE AWAY LOCKERZ.com INVITES, SO PLEASE LET ME KNOW IF YOU WANT ONE.
Currently Working on 2 RPG Maker VX Projects. They are very unique, and have a different kind of style then the usual RPGs. So don't think of them as just another RPG. Did that sound rude? :D Not sure if I want them to go public yet, but we'll see how it goes.
Need a script translated? Come talk to me, and I'll see what I can do.
Go to the top of the page
 
+Quote Post
   
Ty
post Jul 25 2009, 10:04 AM
Post #4


Level 38
Group Icon

Group: +Gold Member
Posts: 1,007
Type: Scripter
RM Skill: Undisclosed




QUOTE (FauxMask @ Jul 25 2009, 09:19 AM) *
Huh, what a coincidence, this is exactly what Ive been looking for. Lets see how it is =]

Edit:
Okay I tested it and it works great, I love it! Thank you for making this happy.gif

I have a few suggestions though:
-When you run out of ammo you cant attack, and if you cant escape then you cant win the fight. I suggest making the player instead unequipt the weapon and use his fists to fight, that way, you still are doing some damage have a chance to win.

-If you could put in some kind of meter in battle (like the HP or MP meter) of how much ammo of the weapon you have equipt left, then that would be extremely helpful. Otherwise, when you are in battle, if you arent counting your attacks, you wouldnt know when to expect to run out of ammo and not be able to use your weapon.

Becides those two things, I found your script to be just what I was looking for and very very helpful biggrin.gif Great job!


I added the first one. There is an option in the customization section now. If it is set to true then the actor will drop their weapon and start attacking with their fists. I also added it for enemies using the 'UsePhysical' tag in the enemy Notes. If you include that tag, then the enemy will attack you with physical attacks, but they cannot use skills that require ammo.

View the updated script in the post to see the changes. Working on updating the demo now.


__________________________
My Script Demo link broken? Looking for old scripts? Go here:
http://synthesize.4shared.com
Go to the top of the page
 
+Quote Post
   
Ty
post Jul 26 2009, 10:10 AM
Post #5


Level 38
Group Icon

Group: +Gold Member
Posts: 1,007
Type: Scripter
RM Skill: Undisclosed




Updated to 1.2.4:

Version 1.2.4 - Feature Added
- Assign an unlimited amount of different ammunition for each weapon

Version 1.1.4 - Four bugs fixed:
- Enemies can keep attacking when out of ammo and UsePhysical is not present - Fixed
- Using certain enemy skills caused the game to crash - Fixed
- "total_ammo = $data_enemies[1].note.downcase.match('totalammo:(\d*)')[1].to_i" - Fixed
- Game crash when setting up Enemy ammo when settings not set - Fixed

Version 1.1.0 - Feature Added
- Add 'UsePhysical' enemy Note tag
- Add Customization option
- Unequip item if insufficient ammo and attack with fists

Version 1.0.0 - Original release.


__________________________
My Script Demo link broken? Looking for old scripts? Go here:
http://synthesize.4shared.com
Go to the top of the page
 
+Quote Post
   
The Wizard 007
post Jul 26 2009, 11:30 PM
Post #6


Jack of all trades
Group Icon

Group: Revolutionary
Posts: 118
Type: Developer
RM Skill: Skilled




Nice script Ty. I don't suppose you are going to add a reload/clip type of system to this? If you did that would be golden.


__________________________
Currently working on:

Underground Syndicate (mafioso/modern type RPG)
Mind Maze (old school dungeon crawler with a different feel)
Dragon Adventure (Dragon Quest type fangame with more customization)
Dark Grind (Survival horror RPG)
Go to the top of the page
 
+Quote Post
   
Ty
post Jul 28 2009, 06:50 AM
Post #7


Level 38
Group Icon

Group: +Gold Member
Posts: 1,007
Type: Scripter
RM Skill: Undisclosed




QUOTE (The Wizard 007 @ Jul 27 2009, 01:30 AM) *
Nice script Ty. I don't suppose you are going to add a reload/clip type of system to this? If you did that would be golden.


At the moment no, but maybe in the future. It would be very easy to implement, but I'm kinda lazy when it comes to adding things to scripts xD. For enemies, you add a new variable that stores the clip size, defined in the Notes of the enemy in the method : ty_set_enemy_ammo then just add the value of the clip size for every enemy -- Actually now that I wrote out how to do it, I may as well just go and do it. I'll post a update soon.



__________________________
My Script Demo link broken? Looking for old scripts? Go here:
http://synthesize.4shared.com
Go to the top of the page
 
+Quote Post
   
FauxMask
post Jul 28 2009, 09:48 AM
Post #8


Level 7
Group Icon

Group: Member
Posts: 96
Type: None
RM Skill: Beginner




QUOTE (Ty @ Jul 28 2009, 07:50 AM) *
QUOTE (The Wizard 007 @ Jul 27 2009, 01:30 AM) *
Nice script Ty. I don't suppose you are going to add a reload/clip type of system to this? If you did that would be golden.


At the moment no, but maybe in the future. It would be very easy to implement, but I'm kinda lazy when it comes to adding things to scripts xD. For enemies, you add a new variable that stores the clip size, defined in the Notes of the enemy in the method : ty_set_enemy_ammo then just add the value of the clip size for every enemy -- Actually now that I wrote out how to do it, I may as well just go and do it. I'll post a update soon.

That'll be a great update thanks thumbsup.gif

By the way, any chance of a ammo counter/meter in battle in an update? Shouldnt be too hard.
Go to the top of the page
 
+Quote Post
   
Shanghai
post Jul 29 2009, 01:50 PM
Post #9


Level 31
Group Icon

Group: Revolutionary
Posts: 747
Type: Developer
RM Skill: Skilled




This is so much easier to use than cmprs2000's... Good work, TY!


__________________________
Go to the top of the page
 
+Quote Post
   
FauxMask
post Aug 4 2009, 06:34 PM
Post #10


Level 7
Group Icon

Group: Member
Posts: 96
Type: None
RM Skill: Beginner




Hey, I know this isnt your responicibility or fault or anything, but I have modern algebra's skill teaching equipment + items script, and that script doesnt seem to be compatible with this one sad.gif

I get an error saying theres a problem with this portion of the skill teaching script:
CODE
class Game_Actor < Game_Battler
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Change Equipment
  #     equip_type : type of equipment
  #     id    : weapon or armor ID (If 0, remove equipment)
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_skill_teaching_items_equipment_change change_equip
  def change_equip (equip_type, item, test = false)
    unless test
      last_item = equips[equip_type]
      # Forget the skills from what was previously equipped
      skill_ids = last_item.nil? ? [] : last_item.skill_ids
      skill_ids.each { |skill_id|
        forget_skill (skill_id[0]) if @unnatural_skills.include? (skill_id[0])
        @unnatural_skills.delete (skill_id[0])
      }
    end
    # Run original method
    ma_skill_teaching_items_equipment_change (equip_type, item, test)
    unless test
      last_item = equips[equip_type]
      # Learn the skills from current_equipment
      skill_ids = last_item.nil? ? [] : last_item.skill_ids
      skill_ids.each { |skill_id|
        unless skill_learn? ($data_skills[skill_id[0]]) || self.level < skill_id[1]
          learn_skill (skill_id[0])
          @unnatural_skills.push (skill_id[0])
        end
      }
    end
  end


Any ideas on how I could fix it?
I really like your script and want to use both wink.gif
Go to the top of the page
 
+Quote Post
   
stevenx
post Sep 5 2011, 08:33 PM
Post #11



Group Icon

Group: Member
Posts: 1
Type: None
RM Skill: Undisclosed




thanx!! biggrin.gif
Go to the top of the page
 
+Quote Post
   

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: 19th May 2013 - 04:56 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker