Multi-Class! Version 3!
#1
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.


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
Just copy paste above main, and to call it just use
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
}


Possibly Related Threads…
Thread Author Replies Views Last Post
  +Extra Move Speed+ Version 1.0 woratana 0 2,397 02-11-2008, 01:00 PM
Last Post: woratana



Users browsing this thread: 1 Guest(s)