EkuipSkills XP - kyonides - 10-13-2018
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!
RE: EkuipSkills XP - kyonides - 10-14-2018
Here are some screenshots of the early version of EkuipSkills XP Mango Version, please take a look at them!
I really need some good feedback here to determine how to design the rest of the equipment scene GUI. Got any (detailed) ideas on how I could seriously improve it? Right now I'm out of ideas...
By the way, here's a recent screenshot...
RE: EkuipSkills XP - Mel - 10-14-2018
Hmm I think just the usual list with the equipment parts would be boring.
Maybe the battler graphic in the middle and the equipment icons around it and the name of the parts in sprite below or something like that.
RE: EkuipSkills XP - kyonides - 10-14-2018
=_= It's hard to accomplish with lame graphic resources, don't you think?
RE: EkuipSkills XP - Mel - 10-14-2018
You could use placeholders first and then we could have a look to replace them with better stuff.
RE: EkuipSkills XP - kyonides - 10-15-2018
Not really convenient for me, I always end up using lame placeholders because nobody provides any resources for my scripts. =_=
Here is a new version of my EkuipSkills Equipment Menu script.
Does it look any better than in previous incarnations? O_o?
RE: EkuipSkills XP - kyonides - 10-15-2018
The Void didn't stop me from publishing my demo!
I gotta tell you I have uploaded the EkuipSkills XP Mango Version demo already! Just go check out the main post of this thread to fetch them at any time!
Warning!
Since it's a Beta Release, don't expect it to fulfill all of your desires. Keep in mind the current month is October after all! Mwahahahaha!
|