10-13-2018, 07:28 AM
(This post was last modified: 10-15-2018, 07:22 AM by kyonides.
Edit Reason: Beta Release!
)
EkuipSkills XP
Kiwi & Mango Versions
by Kyonides-Arkanthes
Introduction
These scripts will let you customize your game by providing the ability to learn skills by equipping pieces of heroic equipment. It consists of the main EkuipSkills and the temporary scripts. When I say temporary I mean you should not keep it if your game or demo is ready for distribution!
The temporary script is a parser that will read a file conveniently named Ekuip Skills.txt you must create on your own. Follow the temporary script instructions, they are pretty straightforward!
Go check the Beta Release now!
The Scripts
EkuipSkills Parser Script
Code:
# * EkuipSkills XP - Parser
# Scripter : Kyonides-Arkanthes
# 2018-10-13
# This TEMPORARY script includes weapons and 8 pieces of armor that might help
# the hero learn specific skills. The additional pieces are optional, but you
# can add more if you wish. Just follow the main EkuipSkills XP script
# instructions carefully and you will succeed for sure.
# Create or Open Ekuip Skills.txt file and type stuff like the following:
#Weapon 1 learns : 1,2
#Armor 1 learns : 3
# You don't need to include the pound # symbol.
# It should end with an empty line!
# Please keep in mind that Shields, Helmets, Body Armors, Accessories are just
# Armors for the maker's database.
# THIS SCRIPT SHOULD BE PLACED ABOVE THE MAIN EkuipSkills XP SCRIPT!!
# Remove it from the script editor before you distribute your game or demo!
def parse_files
weapons = {}
armors = {}
lines = File.readlines('Ekuip Skills.txt')
lines.size.times do
line = lines.shift
ids = line.scan(/\d+/).map!{|d| d.to_i }
if line[/weapon/i]
weapons[ids.shift] = ids
elsif line[/armor/i]
armors[ids.shift] = ids
end
end
save_data(weapons, 'Data/EkuipSkillsWeapons.rxdata')
save_data(armors, 'Data/EkuipSkillsArmors.rxdata')
end
parse_files
Main EkuipSkills Script
Code:
# * EkuipSkills XP - Kiwi Version
# Scripter : Kyonides-Arkanthes
# 2018-10-13
# This script includes weapons and 8 pieces of armor that might help the hero
# learn specific skills. The additional pieces are optional.
# It replaces the Game_Actor equip method, making it incompatible with scripts
# that rely on the original method.
# It adds methods like armor5_id or armor8_id. If you want to add more pieces
# of equipment, create a new method inside Game_Actor by following this example:
# def armor9_id() @armors[8] end
# Just like those I have created already. Place it below my methods and it
# should be fine.
# Also change the ARMOR_SLOT_MAX value accordingly. It is a constant value that
# won't change during gameplay. It should be equal to or greater than 4, guys!!
module EkuipSkills
ARMOR_SLOT_MAX = 8
module_function
def weapons() @weapons end
def armors() @armors end
@weapons = load_data('Data/EkuipSkillsWeapons.rxdata')
@armors = load_data('Data/EkuipSkillsArmors.rxdata')
@weapons.default = []
@armors.default = []
end
class Game_Actor
alias kyon_ekuipskills_gm_actor_setup setup
def setup(actor_id)
kyon_ekuipskills_gm_actor_setup(actor_id)
@armor_slot_max = EkuipSkills::ARMOR_SLOT_MAX
@armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
@armors += Array.new(@armor_slot_max - 4, 0)
learn_equip_skill(:weapon, :all_armors)
end
def learn_equip_skill(*equipment)
equipment.each do |piece|
case piece
when 0, :weapon then @skills += EkuipSkills.weapons[@weapon_id]
when 1..@armor_slot_max
@skills += EkuipSkills.armors[@armors[piece - 1]]
when :all_armors
@armors.each {|aid| @skills += EkuipSkills.armors[aid] }
end
end
@skills = @skills.sort
end
def equip(equip_type, id)
case equip_type
when 0, :weapon
if id == 0 or $game_party.weapon_number(id) > 0
$game_party.gain_weapon(@weapon_id, 1)
@skills -= EkuipSkills.weapons[@weapon_id]
@weapon_id = id
$game_party.lose_weapon(id, 1)
@skills += EkuipSkills.weapons[@weapon_id]
@skills = @skills.sort
end
when 1..@armor_slot_max
if id == 0 or $game_party.armor_number(id) > 0
armor_index = equip_type - 1
armor_id = @armors[armor_index]
update_auto_state($data_armors[armor_id], $data_armors[id])
$game_party.gain_armor(armor_id, 1)
@skills -= EkuipSkills.armors[armor_id]
$game_party.lose_armor(id, 1)
@armors[armor_index] = id
@skills += EkuipSkills.armors[id]
@skills = @skills.sort
end
end
end
def armors_list() @armors end
def armor1_id() @armors[0] end
def armor2_id() @armors[1] end
def armor3_id() @armors[2] end
def armor4_id() @armors[3] end
def armor5_id() @armors[4] end
def armor6_id() @armors[5] end
def armor7_id() @armors[6] end
def armor8_id() @armors[7] end
end
Download Section - Mango Version Only!
Terms & Conditions
Free for non commercial games, you should include my nickname in your game credits!
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE