05-03-2009, 01:00 PM
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
No support is given. If you are the owner of the thread, please contact administration.
Im bring some of my new scripts to this site, as I think this place will be nicer. So...
KaiMonkeys MulitableClasses
Version 3
Now theres an addon to the Attribute System by 332211 to make it work with multiple classes! Check out this amazing script today!
Features
- Combine two classes
- This can be used as a...
[indent]
- Multiple class sytem
- Class and race sytem
- Class and rank sytem
- and hundrends of others![/indent]
[/indent][/indent]
- Combines name, learnt skills, equipible armor and weapons
- has option to increase space for class allowing bigger classes not to be crushed asmuch. If you want this, mark Extend_Class as true
combine_class(id_1, id_2, id_new)
id_1 = the Id of the class you want to combine
id_2 = the id of the second class you want to combine
id_new = where the new class will go!
so combine_class(1,2, 3)
would make class three become a cobination of class 1 and 2
you would then make the actor you want become class 3 useing the event command
add_class(actor_id, id_2, id_new)
actor_id = the id of the actor that has the class you want to combine with id_2
id_2 = the id of the class you want to combine the first one with
id_new = where the new class will go
so add_class(1, 2 , 3)
would make class three become the combination of class 2 and actor 1's class
remeber, you still need to change the actor to that class
combine_class3(id_1, id_2, id_3, id_new)
id_1 = the Id of the class you want to combine
id_2 = the id of the second class you want to combine
id_3 = the id of the third class you want to combine
id_new = where the new class will go!
so combine_class3(1,2, 3,4)
would make class four become a cobination of class 1,2 and 3
you would then make the actor you want become class 4 useing the event command
duplicate_class(id_1, id_new)
id_1 = the if of the class you want to copy
id_new = where the new class will go!
so duplicate_class(1,3)
would make class three become class 1
you would then make the actor you want become class 3 useing the event
To make a certain comnation, say "Elf Preist" become "Elf Druid" you need to look at the part at the top where it says Class_combo_names ={
under there the is a list of possable combantions then a "=>" sign, and then what they become. So if you configure it so it is
Class_combo_names ={
"Magician Paladin" => "Holy Mage",
"Paladin Priest" => "Cleric"
}
then any one who does Pladin priest will become a cleric, and any one who becomes a Magicain Paladin becomes a holy mage. Make sure there is always a commer after everyone exept the last, and that there is alwae a } at the end
Code
Code:
Extend_Class = true # turn this on to extend the space the class has to fit!
Extend_Class = true # turn this on to extend the space the class has to fit!
Class_combo_names ={
"Magician Paladin" => "Holy Mage",
"Paladin Priest" => "Cleric"
}
def check_name(name, id_new)
if Class_combo_names[name.name] == nil
p Class_combo_names[name.name]
p name.name
else
$data_classes[id_new].name = Class_combo_names[name.name]
end
end
def combine_class(id_1, id_2, id_new)
$data_classes[id_new].name = $data_classes[id_1].name + " " + $data_classes[id_2].name
check_name($data_classes[id_new], id_new)
$data_classes[id_new].armor_set = $data_classes[id_1].armor_set + $data_classes[id_2].armor_set
$data_classes[id_new].weapon_set = $data_classes[id_1].weapon_set + $data_classes[id_2].weapon_set
$data_classes[id_new].learnings = $data_classes[id_1].learnings + $data_classes[id_2].learnings
$data_classes[id_new].state_ranks = $data_classes[id_1].state_ranks
$data_classes[id_new].element_ranks = $data_classes[id_1].element_ranks
$data_classes[id_new].skill_name = $data_classes[id_1].skill_name
end
def add_class(actor_id, id_2, id_new)
id_1 = $game_actors[actor_id].class.id
$data_classes[id_new].name = $data_classes[id_1].name + " " + $data_classes[id_2].name
check_name($data_classes[id_new], id_new)
$data_classes[id_new].armor_set = $data_classes[id_1].armor_set + $data_classes[id_2].armor_set
$data_classes[id_new].weapon_set = $data_classes[id_1].weapon_set + $data_classes[id_2].weapon_set
$data_classes[id_new].learnings = $data_classes[id_1].learnings + $data_classes[id_2].learnings
$data_classes[id_new].state_ranks = $data_classes[id_1].state_ranks
$data_classes[id_new].element_ranks = $data_classes[id_1].element_ranks
$data_classes[id_new].skill_name = $data_classes[id_1].skill_name
end
def combine_class3(id_1, id_2, id_3, id_new)
$data_classes[id_new].name = $data_classes[id_1].name + " " + $data_classes[id_2].name + " " + $data_classes[id_3].name
check_name($data_classes[id_new], id_new)
$data_classes[id_new].armor_set = $data_classes[id_1].armor_set + $data_classes[id_2].armor_set+ $data_classes[id_3].armor_set
$data_classes[id_new].weapon_set = $data_classes[id_1].weapon_set + $data_classes[id_2].weapon_set + $data_classes[id_3].weapon_set
$data_classes[id_new].learnings = $data_classes[id_1].learnings + $data_classes[id_2].learnings+ $data_classes[id_3].learnings
$data_classes[id_new].state_ranks = $data_classes[id_1].state_ranks
$data_classes[id_new].element_ranks = $data_classes[id_1].element_ranks
$data_classes[id_new].skill_name = $data_classes[id_1].skill_name
end
def duplicate_class(id_1, id_new)
$data_classes[id_new].name = $data_classes[id_1].name
check_name($data_classes[id_new], id_new)
$data_classes[id_new].armor_set = $data_classes[id_1].armor_set
$data_classes[id_new].weapon_set = $data_classes[id_1].weapon_set
$data_classes[id_new].learnings = $data_classes[id_1].learnings
$data_classes[id_new].state_ranks = $data_classes[id_1].state_ranks
$data_classes[id_new].element_ranks = $data_classes[id_1].element_ranks
$data_classes[id_new].skill_name = $data_classes[id_1].skill_name
end
class Window_Base < Window
def draw_actor_class(actor, x, y)
if Extend_Class == true
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 173, WLH, actor.class.name)
else
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 108, WLH, actor.class.name)
end
end
end
class Window_MenuStatus < Window_Selectable
def refresh
if Extend_Class == true
self.contents.clear
@item_max = $game_party.members.size
for actor in $game_party.members
draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
x = 104
y = actor.index * 96 + WLH / 2
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 75, y)
draw_actor_level(actor, x, y + WLH * 1)
draw_actor_state(actor, x, y + WLH * 2)
draw_actor_hp(actor, x + 120, y + WLH * 1)
draw_actor_mp(actor, x + 120, y + WLH * 2)
end
else
self.contents.clear
@item_max = $game_party.members.size
for actor in $game_party.members
draw_actor_face(actor, 2, actor.index * 96 + 2, 92)
x = 104
y = actor.index * 96 + WLH / 2
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 140, y)
draw_actor_level(actor, x, y + WLH * 1)
draw_actor_state(actor, x, y + WLH * 2)
draw_actor_hp(actor, x + 120, y + WLH * 1)
draw_actor_mp(actor, x + 120, y + WLH * 2)
end
end
end
end
FAQ
Can I combine a class with a already combined class?
Yes
What about element ranks, state ranks and skill name?
they are taken from id_1