Ok, so I asked G_G about this, but he wasn't the most helpful about it.
What I'd like
A modification of his character races script so I can add limits as well as bonuses, and be able to customise more aspect of races.
More detailed explanation
At present, the script allows for bonuses to stats and skills. What I'd like is to be able to define a few more things, namely:
What weapons the race is capable of using.
What skills they are capable of learning (Optional)
What elements they are good with.
What classes they are capable of being (optional)
Timeframe
Before I release EWIII, I s'pose.
Scripts I'm using
- MAWS 1.2
- CCTS
- CCOA's UMS
- Leon's quest journal
- Icarus Featherfight's maplinks
- Ryex's collapsing CMS
- BABS
- Blizzard's stat growing system
Price
Knowledge and experience.
this should work like you want it
#==============================================================================
# Character_Races_Add_on
#==============================================================================
module Character_Races_Add_on
#==========================================
# weapons
# when race_id then return [array of weapon_ids]
#==========================================
def self.weapons(id)
case id
when 1 then return [id]
end
end
#==========================================
# armors
# when race_id then return [array of armor_ids]
#==========================================
def self.armors(id)
case id
when 1 then return [id]
end
end
#==========================================
# classes
# when race_id then return [array of class_ids]
#==========================================
def self.classes(id)
case id
when 1 then return [id]
end
end
#==========================================
# skills
# when race_id then return [array of skill_ids]
#==========================================
def self.skills(id)
case id
when 1 then return [id]
end
end
#==========================================
# good_element
# when race_id then return [array of element_ids]
#==========================================
def self.good_element(id)
case id
when 1 then return [id]
end
end
#==========================================
# bad_element
# when race_id then return [array of element_ids]
#==========================================
def self.bad_element(id)
case id
when 1 then return [id]
end
end
end
#==============================================================================
# Game_Actor
#==============================================================================
class Game_Actor
alias character_races_add_on_equippable? equippable?
def equippable?(item)
if item.is_a?(RPG::Weapon)
return false if !Character_Races_Add_on::weapons(race_id).include(item.id)
elsif item.is_a?(RPG::Armor)
return false if !Character_Races_Add_on::armors(race_id).include(item.id)
end
character_races_add_on_equippable?(item)
end
alias character_races_add_on_class_id= class_id=
def class_id=(class_id)
if !Character_Races_Add_on::classes(race_id).include(class_id)
return
end
character_races_add_on_class_id=(class_id)
end
alias character_races_add_on_learn_skill learn_skill
def learn_skill(skill_id)
if !Character_Races_Add_on::skills(race_id).include(skill_id)
return
end
character_races_add_on_learn_skill(skill_id)
end
alias character_races_add_on_element_rate
def element_rate(element_id)
if Character_Races_Add_on::good_element(race_id).include(element_id)
result /= 2
end
if Character_Races_Add_on::bad_element(race_id).include(element_id)
result *= 2
end
end
end
Okay what you wanted could all be controlled through the Classes database.
QuoteWhat weapons the race is capable of using.
What skills they are capable of learning (Optional)
What elements they are good with.
What classes they are capable of being (optional)
The classes that they are capable of being could easily be evented.
If you don't want a certain race being able to hold a certain weapon, make sure all the classes that it can be can't hold that weapon.
If you want certain races to be good against some elements, set the elements to what you want, and make sure those classes belong to that race.
The skills works the same way.
The script wasn't meant to add things that already existed which is why I didn't help. In fact, if you're confused after reading what I suggested here's a picture showing that it can all be done through the database.
(http://img96.imageshack.us/img96/1063/classes.png)
Sorry I don't mean to sound like a troll or anything, but you don't need a script for every single thing. Scripts aren't meant to add features that RMXP already has. Which is what you're asking for. With a little bit of thinking you could have realized that you can setup what you want through the database.
If needed make multiple classes for different races. It sounds like a lot of work, but making a game is a lot of work.
EDIT: Right now the script adds bonus skills and bonus stats. Which in a sense the skills was worthless because that can be controlled through the database as well. I made the script the way I wanted to and I didn't make it to add silly changes to it.
i just made it because figured it was only like a 5 min creation
I'm not dissing you for making it, in fact it is great experience. However when something this easy and obvious is in front of you, a script isn't needed.
Thanks Nath. G_G, what I thought you meant was actually manually do out a different version of each class for all of my (at least) 550 races...yeah. So totally gonna happen.
I shall play around with both to see which will work best and I highly doubt that I'm actually going to have 550 races. 'Tis a distant dream.