Announcement
Announcement
| Crystal Fantasy takes 1st as the 2013 2nd Quarter Contest Winner!!! See the Community Announcements section. |
New threads (complete scripts) here will go into a moderation queue. You will not see your thread appear when you create it. A moderator will decide if it will be approved or denied.
![]() ![]() |
Feb 28 2009, 05:49 AM
Post
#1
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
MultiTeired Class System / Promote Item v 2.0c by Mithran Introduction Lets start off by saying that this is not a 'job changer' script or anything of the like. The basis of this script is to have different method of changing classes either at certain game stages, or through the use of an item. This intent for this script is when you want actors to 'upgrade' their class to a different, better class, at some point in the game. Both can be accomplished by using lots of different 'promote' items, some creativeness and the use of LOTS of conditional branches and event commands, this simply makes it much, much eaiser and adds a few other options. Features - set up a specific 'promote' route for each actor in the customization section - set up level requirements for promotion - use an item or event to 'promote' characters. - option to include or exclude the 'old' classes skills when changing class - option to inherit the 'new' classes skills (if you are past the learn level) when changing class - option to display class tier on the menu or status screens - option to reset level on class change and keep a portion of the old class' leveled stats - The item will not be used if it cannot promote - class based promote routes are now available How to Use Install on its own script page in the materials section of the script editor above main and below default scripts. Script Spoiler: Compatability Incompatable with job changer scripts. Credit and Thanks - Mithran - initially requested by Roxas210 - class based requested by Deccy Bon Author's Notes Feedback is welcome. Please do not redistribute without asking. Please give credit if used. This post has been edited by Mithran: May 27 2009, 08:36 AM -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Feb 28 2009, 08:16 AM
Post
#2
|
|
![]() どのような ![]() Type: Writer Alignment: Chaotic Neutral |
Good ol' Shining Force pops straight into mind.
Good stuff. I've been looking to implement a system like this into one of my games. |
|
|
|
Feb 28 2009, 08:39 AM
Post
#3
|
|
![]() The Biochemist D�B ![]() |
Nice script, exactly what i've been looking for sooooo long! One issue though, my game is highly open ended, and the party can be constructed of any classes, with this script the promotions are based off actor ID's. Would it be possible to make the promotions based off class ID's?
because at this stage; (say i make a Wizard character), when I promote, I change into the 2nd tier fighter class. I want it so a wizard (when promoted) will change into the 2nd tier wizard class, not just what is defined for that actor. Sorry, I don't think i explained that very well, but I tried Please help, this is a awesome script. -------------------- The Ambrosia Project : 2nd Degree
The rising, ever-growing, free-roaming RPG. Build the best team possible with 500 Grades to gain, lots of weapons, promoted classes and deadly skills.
|
|
|
|
Feb 28 2009, 08:57 AM
Post
#4
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
Nice script, exactly what i've been looking for sooooo long! One issue though, my game is highly open ended, and the party can be constructed of any classes, with this script the promotions are based off actor ID's. Would it be possible to make the promotions based off class ID's? because at this stage; (say i make a Wizard character), when I promote, I change into the 2nd tier fighter class. I want it so a wizard (when promoted) will change into the 2nd tier wizard class, not just what is defined for that actor. Sorry, I don't think i explained that very well, but I tried Please help, this is a awesome script. I'll take a look at this, but no promises. To be clear, you want the promote to happen based on the current class, and up to the next tier of the current class? The current class "tier" is pretty ingrained in there, so manually changing to a class in another 'tier' would break this pretty hard. What I mean is, if you change from, say, wizard tier 1 to fighter teir 2 through the normal method, the 'tier' would still 1, thereby allowing the newly changed fighter to still use the teir 2 promote item. The item would be consumed, but he wouldnt change class, because he was already the designated teir 2. It also presents the problem that the classes 'tiers' would have to be exactly the same for every 'teir' of the class. How about if I make a way to assign new class sets to actors midgame? Would that work? What method are you using to change the classes midgame? If it is a normal event, you could implement the new class set at the time you change the main class. I have one other idea too that I will look into. This may not be soon, though, so let me know on the other option. -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Feb 28 2009, 01:13 PM
Post
#5
|
|
![]() Type: Designer |
Look when I use the item it only promotes the other classes to the first class, and the characters don't change their classes names even if they promote...
|
|
|
|
Feb 28 2009, 01:25 PM
Post
#6
|
|
![]() Type: Designer |
Look when I use the item it only promotes the other classes to the first class, and the characters don't change their classes names even if they promote... Works fine for me when thrown into a new project. Are you sure there are no other scripts that might be conflicting with this and/or are you sure you've set up everything properly? |
|
|
|
Feb 28 2009, 01:26 PM
Post
#7
|
|
![]() Type: Designer |
Works fine for me when thrown into a new project. Are you sure there are no other scripts that might be conflicting with this and/or are you sure you've set up everything properly? You might be right Ι am a bit confused on how to put the classes and all that tier staff... |
|
|
|
Feb 28 2009, 02:19 PM
Post
#8
|
|
![]() Type: Designer |
From the script itself:
» Click to show Spoiler - click again to hide... « If your actors have more then 1 tier, then the <promote n> must also increase, like putting in <promote 2> in the item's note field to get to tier two of his class, and so on. Scroll down to under where it says CUSTOMIZATION. There is an area that says- CODE ACTOR_PROMOTES[1] = [8, 3] The number in the brackets on the left is the actor ID, the numbers on the right are the class tiers. The class at game start is the initial class and not included in the array. In the above example, you are setting Ralph's two promoted classes to Thief and Priest. What you want to do is copy paste that, and make one for every actor. Just put the two promoted classes you want in the brackets on the right. Alternatively, you can use the autosetup and set them up in the database. If you use autosetup, the two classes immediately following the actor's initial class will be their promotes. If you want to set them up indiviudally, it should look something like this - CODE ACTOR_PROMOTES[1] = [9, 10] ACTOR_PROMOTES[2] = [11, 12] ACTOR_PROMOTES[3] = [13, 14] ACTOR_PROMOTES[4] = [15, 16] ACTOR_PROMOTES[5] = [17, 18] ACTOR_PROMOTES[6] = [19, 20] ACTOR_PROMOTES[7] = [21, 22] ACTOR_PROMOTES[8] = [23, 24] This example sets Ralphs two promotes to class 9 and 10, Ulrikas to classes 11 and 12, Bennetts to Classes 13 and 14, etc. You have to creates the classes in the database, of course. Basically whatever classes are meant to be the promotion classes should be put into the "ACTOR_PROMOTES[1] = [9, 10]" So lets say actor 1 starts off as class 1 in your database, and you want him to promote to class 5 for his first tier and then class 10 as his next and final tier. You would look in the module section of the script for the following: » Click to show Spoiler - click again to hide... « You would then change ACTOR_PROMOTES[1] = [8, 3] to ACTOR_PROMOTES[1] = [5, 10]. You'd repeat this process for all your actors and get something that would look like what mithran had posted in the quote above: » Click to show Spoiler - click again to hide... « To change at what level the actor can promote at, you would find this part in the module: » Click to show Spoiler - click again to hide... « The above means when actor 1 reaches level 10, he can then use the item to promote up to the next tier. When level 25 is reached, he can then move onto the next tier. These would have to be added in for all the tier you have for all the actors, so it'd look like this" » Click to show Spoiler - click again to hide... « There are defaults for both how the classes work and what, if any, level is required to promote at, but all of that can be found out if you read in the script a bit. Hopefully this helps you out a little. This post has been edited by Garge: Feb 28 2009, 02:23 PM |
|
|
|
Feb 28 2009, 02:47 PM
Post
#9
|
|
![]() Type: Designer |
From the script itself: » Click to show Spoiler - click again to hide... « If your actors have more then 1 tier, then the <promote n> must also increase, like putting in <promote 2> in the item's note field to get to tier two of his class, and so on. Basically whatever classes are meant to be the promotion classes should be put into the "ACTOR_PROMOTES[1] = [9, 10]" So lets say actor 1 starts off as class 1 in your database, and you want him to promote to class 5 for his first tier and then class 10 as his next and final tier. You would look in the module section of the script for the following: » Click to show Spoiler - click again to hide... « You would then change ACTOR_PROMOTES[1] = [8, 3] to ACTOR_PROMOTES[1] = [5, 10]. You'd repeat this process for all your actors and get something that would look like what mithran had posted in the quote above: » Click to show Spoiler - click again to hide... « To change at what level the actor can promote at, you would find this part in the module: » Click to show Spoiler - click again to hide... « The above means when actor 1 reaches level 10, he can then use the item to promote up to the next tier. When level 25 is reached, he can then move onto the next tier. These would have to be added in for all the tier you have for all the actors, so it'd look like this" » Click to show Spoiler - click again to hide... « There are defaults for both how the classes work and what, if any, level is required to promote at, but all of that can be found out if you read in the script a bit. Hopefully this helps you out a little. Sure did thank you... |
|
|
|
Feb 28 2009, 04:25 PM
Post
#10
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
Thank you for the detailed explanation, Garge. You explained it much better than I did. Sometimes I assume a basic knowledge of using implementing scripts, so I am not as detailed as I need to be. Hopefully this will help out newer users.
@Deccy Bon - I looked into making this class based a bit further. There are different ways I can implement this feature, the simplest being to just add an event command to change the character's tier setup to a different 'archetype' that you would pre-set up in the module. Another would be to require you to set up a promotion set for every class (similar to how I did with actors), then change the class' "set" when a class change occured. This would give more complete coverage, but every class' tier set would have to be explicilty defined. This will have to be carefully implemented to avoid things like 'promoting' from a class considered teir 1 to another class considered a lower tier, promoting into a class which doesnt have it own 'tier' defined, etc. -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Feb 28 2009, 10:50 PM
Post
#11
|
|
![]() The Biochemist D�B ![]() |
@Mithran
Sounds good, if you do go through with that, can u try explain it very thoroughly to me how to use it? All sounds rather complicated =p Scripting isn't my area. >_>" Thx again EDIT: So, you mean that i set up different archetypes for promotion 'chains' in the script. and then change the player to the appropriate archetype. so, archetype 1 would b like 'wizard-->high wizard-->etc' ...Yeah, i get it now, thats absolutely perfect! This post has been edited by Deccy Bon: Feb 28 2009, 10:52 PM -------------------- The Ambrosia Project : 2nd Degree
The rising, ever-growing, free-roaming RPG. Build the best team possible with 500 Grades to gain, lots of weapons, promoted classes and deadly skills.
|
|
|
|
Feb 28 2009, 11:45 PM
Post
#12
|
|
![]() Back for Forgotten Legacy! ![]() Type: Designer Alignment: True Neutral |
Awesome! Thanks Mithran! I really needed this! Now I can promote their class!
-------------------- I'm back to remake Forgotten Legacy! Visit my blog to check for daily updates!
Visit the blog for all my updates! Updated 15/10/2011 AWESOME SIG BY EVENANGELS! ![]() |
|
|
|
Mar 1 2009, 01:00 AM
Post
#13
|
|
![]() Backseat Moderator ![]() Type: Artist |
Can you put up a demo? I'm really interested in this script! *reminisces of Fire Emblem GBA*
-------------------- HEY BRO SIG'S WAY TOO BIG
-Kav WHATEVER -Midnight Assassin Bye Bye - BigEd781 |
|
|
|
Mar 1 2009, 04:32 PM
Post
#14
|
|
![]() Back for Forgotten Legacy! ![]() Type: Designer Alignment: True Neutral |
I can not get it to work, why?
Isn't this right? promote_actor(1) I did that, and got this error
-------------------- I'm back to remake Forgotten Legacy! Visit my blog to check for daily updates!
Visit the blog for all my updates! Updated 15/10/2011 AWESOME SIG BY EVENANGELS! ![]() |
|
|
|
Mar 1 2009, 04:46 PM
Post
#15
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
Edit: Got it fixed.
Update v 1.0b Bugfix: - fixed a crash bug when using the event command for promote_actor or demote_actor Modified script is in the original post. Thank you for reporting. This post has been edited by Mithran: Mar 1 2009, 04:54 PM -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Mar 5 2009, 09:34 AM
Post
#16
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
Update v 2.0 - New feature - class based promote routes. Enables the use of class based promote routes, which allows the creator to perform evented class changes without completely breaking the system (evented class changes should still be used sparingly, however) - Added more examples and changed the order of the options in the customozation module to support the new feature* * NOTE: The basic formatting of each of the individual options have not changed. If you are updating the script and still wish to use actor promote routes, it is recommending you copy the old version of the script into a text file before updting so you can copy over your old actor promote routes. Be sure to copy into the appropriate section noted in the new script. - changed the names of the Event > Advanced > Script commands 'change_actor_class' and 'change_member_class' to 'change_actor_tier' and 'change_member_tier' respectively. Previous updates: » Click to show Spoiler - click again to hide... « Modified script is in the original post. -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Mar 6 2009, 04:10 AM
Post
#17
|
|
![]() The Biochemist D�B ![]() |
Mithran, you are a legend. My game's scripts are now 100% complete!
EDIT: One last thing, sorry to keep asking things of ya, but when i promote a character with a item that has been tagged with <promote 1>, they advance to the next tier. Although it seems to still count as tier 0. The "CLv" bit's stay at zero even after the correct promotion item is used. this is making it impossible to use the items that have been tagged with <promote 2> and <promote 3>. please could ya fix this? This post has been edited by Deccy Bon: Mar 6 2009, 07:15 PM -------------------- The Ambrosia Project : 2nd Degree
The rising, ever-growing, free-roaming RPG. Build the best team possible with 500 Grades to gain, lots of weapons, promoted classes and deadly skills.
|
|
|
|
Mar 15 2009, 03:54 AM
Post
#18
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
Mithran, you are a legend. My game's scripts are now 100% complete! EDIT: One last thing, sorry to keep asking things of ya, but when i promote a character with a item that has been tagged with <promote 1>, they advance to the next tier. Although it seems to still count as tier 0. The "CLv" bit's stay at zero even after the correct promotion item is used. this is making it impossible to use the items that have been tagged with <promote 2> and <promote 3>. please could ya fix this? Sorry for the late reply, but I didnt notice your edit until now. For class based promotions, the "CLv" is set to the first matching class found in the new progression, as shown in the examples. Promoting to a new class in class based doesnt mean they will actuall increase in Teir. Take my example from the script: CLASS_SETS[5] = [5, 6] CLASS_SETS[6] = [6, 5] If you use the promote item on class 5 (knight) he promotes to dark knight. Since the promote teirs for dark knight define dark knight as a teir zero class, he remains teir zero. If you use the item again, he promotes to knight. Since knight is defined as a teir zero class in his promote tree, he remains zero. This creates a loop. The only way to get out of it is to allow the item to promote more than one teir or use an event to get past it. Since only one promote is defined here, this loop is permanent. To avoid this, you would need to set them up like this: CLASS_SETS[5] = [5, 6] CLASS_SETS[6] = [5, 6] Knight promotes to Dark Knight. Dark Knight's "CLv" within his own tree is 1, so, the new "CLv" is 1 You might also be doing it like the "Bad Example:" CLASS_SETS[1] = [6, 5] CLASS_SETS[6] = [1, 5] This will NOT work. Because of the nature of the class based system automatically correcting to the correct CLv (to prevent ambiguity in the promote trees), each class MUST be defined in its own promote tree. To prevent a crash, I made it so the class assumes tier zero if it is not defined in its own promote tree, but this completely breaks the system anyway. In the above example, both classes promote to (and are stuck at) Dark Knight, which will itself be a tier zero class because it is undefined. The correct way to do this would be: CLASS_SETS[1] = [1, 6, 5] CLASS_SETS[6] = [1, 6, 5] CLASS_SETS[5] = [1, 6, 5] Class one (Paladin) is clearly defined as tier zero in all class promote trees. Class 6 (Dark Knight) is clearly defined as tier one in class promote trees. And Class 5 (Knight) is clearly defined as teir two, the final tier, in all promote trees. For your system, you probably want all trees to match for any given promote route, so do like the above example, make a promote route like this: CLASS_SETS[1] = [1, 6, 5] Copy it three times: CLASS_SETS[1] = [1, 6, 5] CLASS_SETS[1] = [1, 6, 5] CLASS_SETS[1] = [1, 6, 5] Change the numbers in the left brackets, making sure you only have one of any given number listed in all of the left bracket areas CLASS_SETS[1] = [1, 6, 5] CLASS_SETS[5] = [1, 6, 5] CLASS_SETS[6] = [1, 6, 5] Then do the same for all your promote routes. Make sure you dont duplicate any numbers in the left brackets, though, because only the lowest one on the list will be used. If you need more help, post me your CLASS_SETS setup section. Oh, and if you have a question and want to avoid a double post, feel free to PM me so I can see it. I dont get notifications of edits, and I usually stop checking after a day PS: I apologize for all misspelling of 'tier' in the above post -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
Mar 15 2009, 04:29 AM
Post
#19
|
|
![]() Captain Paradox Extreme ![]() Type: Undisclosed Alignment: Chaotic Neutral |
I would like a tiny comment, even though I stopped using VX.
The implied ambiguity of the promotion items kinda bugs me. Any chance you'll put in a feature that allows only specific items to promote from class x to class y? I mean like Knight only becomes Dark Knight in case of [Tainted Holy Water] and returns to Knight only in case of [Holy Water]. Just a thought. -------------------- "Lightning is like a troll; You don't know what hit you till you smell it."
I will only say a single thing about my acquisition of RPG Maker VX: "Yarr." |
|
|
|
Mar 15 2009, 04:49 AM
Post
#20
|
|
![]() Scripter ![]() Type: Coder Alignment: True Neutral |
I would like a tiny comment, even though I stopped using VX. The implied ambiguity of the promotion items kinda bugs me. Any chance you'll put in a feature that allows only specific items to promote from class x to class y? I mean like Knight only becomes Dark Knight in case of [Tainted Holy Water] and returns to Knight only in case of [Holy Water]. Just a thought. Yes, I had this planned for when I do the archetype based system, which will require this sort of thing. The original 'tier' system was specifically requested where a single item would upgrade the class of any actor at a specific tier. I'm not currently working on this, though. I also have small scripts (snippets), which I havent posted here but I have shared with a few people, that dissallow an item's effect on certain actors or classes, basically duplicating the effect above. For now, if anyone wants these small scripts, just PM me. I never added a 'demote' item to this, so I guess I could consider doing that, too. -------------------- My scripts:
Spoiler: Searching for one of my snippets? Mithran's Snippet Repository My current scripting projects: Mithran's Script Development Thread Who says I'm always idle in the IRC? Spoiler: |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 19th June 2013 - 04:57 AM |
|
|