The Existence Triad Legacy - Dynamic Party System 1 FAQ version 1.3 Program: RPG Maker 2000 Version: 1.05b (as of writing) System: Windows PC Region: English (translated from Japanese) Developed by: ASCII Corporation and Yoji Ojima (c) 2000 Translated by: Don Miguel (c) 2000 FAQ written by: Vulpes Mundi (c) 2000 Email: vulpesmundi@hotmail.com Website: http://etl.fly.to/ VCL Art Archives: http://velar.ctrl-c.liu.se/vcl/Artists/Vulpes-Mundi/ ________________________________________________________________________ _________________________ ___/ Table of Contents \__________________________________________ --- SECTION I - FAQ Information A. Revision History B. About this FAQ --- SECTION II - Scripting C. Events 101 D. Character Script E. Enable DPS Script F. Script Display --- SECTION III - End of an Era G. Closure ________________________________________________________________________ _________________________ __________________________________________/ I. FAQ Information \___ _________________________ ___/ A. Revision History \__________________________________________ 1. FAQ VERSIONS AND EDITS - newest to oldest date completed version October 10, 2000 - 1.3 Hopefully the final version. I went back and tweaked a few minor details, errors, grammar, etc. I moved a step from the enable script to step 11 on the character script (required). There are now 52 steps on the character script and 8 steps on the enable script. *wipes forehead* October 06, 2000 - 1.2 Oops. When I corrected some of the previous anomalies, I accidentally deleted a very important portion at the end of the character script. It would be a little difficult to make the script work properly without it. *smiles sheepishly* October 05, 2000 - 1.1 After a few hour nap I come back to find a number of anomalies, which I promptly corrected. Goes to show you never to rush these things when you're beyond tired. *grins* October 05, 2000 - 1.0 Didn't take too long to compile the info. 'Course I didn't sleep, and now I'm about to fall asleep on my keyboard. *blinks wearily* October 04, 2000 - 0.1 Officially began working on the FAQ. *yawns* 2. FUTURE PLANS I have another idea in mind. If a Dynamic Party System 2 FAQ shows up, then you'll know that what I was thinking came to fruition. =^,^= _________________________ ___/ B. About this FAQ \__________________________________________ 1. THE GYST OF IT This document is intended to offer useful information in order to put together a simple yet dynamic party change system for an RM2k game. In a nutshell, the Dynamic Party System incorporates a wandering character concept. When not in the entourage, characters will randomly move about the area where they are programmed to do so. Upon speaking with one of the wandering characters, the player is given the choice to add the character to the party, and consequently remove individual characters currently in the party. This system was coded by the author, Vulpes Mundi. You're welcomed to use and customize this script, but please give Vulpes Mundi credit for creating it if you do. 2. COPYRIGHT NOTICE This document was compiled (typed up) in its entirety by the author, Vulpes Mundi. As the author, Vulpes Mundi holds all rights and priviledges to this document. As the viewer, you have the right to view this document for your own personal use granted you do NOT alter it, take credit for it, give it to other people (please send them to the FAQ online), send it in to any publications, or attempt to financially gain from it. *insert Robocop* "Thank you for your cooperation." If you wish to post this FAQ on your website please feel free to send me an Email request. Odds are that if I haven't already given you permission to do so, it's because I don't know about your website. My apologies, but I usually stick to my regular haunts unless I'm introduced to something different by someone. Just so you know. Following is a list of websites where this FAQ is permitted to appear (if you found it on another site, please send the author an Email noting the website name and address it was found on): The Existence Triad Legacy website http://etl.fly.to/ Don Miguel's RM2k website http://rpgmaker.chat.ru/ RPGmaker.net http://www.rpgmaker.net/ ________________________________________________________________________ _________________________ __________________________________________/ II. Scripting \___ _________________________ ___/ C. Events 101 \__________________________________________ Though everything that is required for the dynamic party is spelled out in black and white, it helps to understand the Events Commands that are being used and how they work (why they make things happen the way they do). Granted the majority of people that're going to read this already have a decent knowledge of what's going on, it'd be proper to clue the minority into what's going on. If there's one thing to note about RM2k, it's that not everything about it is easy to understand. It takes time, patience, and a lot of trial and error. Hopefully this will assist some to `get it` just a little quicker than they would on their own. Note that only Events Commands that are used in the Dynamic Party System script are described in this FAQ. 1. Show Message <> Messg: (input) The event to have messages printed on the screen. Since RM2k uses a monotype font (all letters take up the same amount of space - in this case 6-by-10 pixels each) the maximum character limit per line is 50, with a limit of only 38 when using a face graphic. 2. Show Choice <> Show Choice: (1)/(2)/(3)/(4) Gives the player options to choose from. Up to four choices can be customized, and a fifth choice (which is always a cancel) can be added. This event is most commonly used for typical Yes/No questions, but can do so much more than that. 3. Change Switch <> Change Switch: [####: (name)]-(option) Switches are used to open, close, activate, or deactivate an event. Changing a switch is merely operating a command in order for it to do it's specific task, as it is set. A switch that opens an event begins that event right then and there, while closing an event ends the event immediately. A switch that activates an event gives the player the possibility of encountering that event. A switch that deactivates an event removes the possibility of the party encountering that event. For example: A guard at a bridge crossing the country's border tells the party that "in order to cross the bridge you need the king's permission first." So the party heads to the castle and eventually is granted audience with the king and gets his permission. A change switch within the king event can be used to deactivate the guard that wouldn't allow you to cross the bridge (or perhaps something more complex). These are just ways of describing what switches do. Other's may refer to switches differently. A common use for switches is as a toggle. For example: A change switch can be used to both open or close a door depending on how many times it has been pressed. The possibilities are nearly endless. 4. Change Variable <> Variable Ch: [####: (name)] (option) Variables are a bit awkward, if not difficult, to describe. They can be used for many things, including the Change Switch and Fork Conditions events. Using Change Variable will set a specific variable to the new value that has just been entered via the Change Variable. For example: In this FAQ a variable of the size of the party (how many characters are currently travelling together) is used to decide whether or not another character can be added to the party upon a party change. If there's zero, one, two, or three party members currently together, the variable is told to use an ELSE Case from a Fork Conditions, thereby adding another character. If the party has four characters in it already, it will then select the main FORK Optn case (also referred to as an IF Case) from a Fork Conditions, and therefore will not add any more characters. Hopefully that makes some sense. 5. Change Party <> Change Hero's Party: (name) -> (option) This command is used to either add or remove characters from the party. Doesn't get any deeper than that. Just keep in mind that bugs in improper scripting can cause characters to be lost forever. The script in this FAQ has been thoroughly tested and proven to be bug-free. 6. Fork Conditions <> FORK Optn: (options) This is a very versatile event, when used properly. The main FORK Optn case can be referred to as the IF Case. In other words, IF the requirements of the case are met, it will use that option. If the requirements aren't met, it will either use an ELSE Case (the other choice) if it's applied, or simply ignore the event completely. The ELSE Case is used when you want to use one OR the other option, but not both. Example: Let's use the bridge crossing from the Change Switch dialogue. Imagine if the guard stopping the party from crossing the bridge is scripted with a Fork Conditions. Using the FORK Option set to the king's permission switch turned off, the guard won't let you pass. Using the ELSE Case, once the Switch has been turned on (when the party received permission from the king) the guard can then be programmed to step out of the way (using the Move Event command) when you speak to him. Why? Because now that the king's permission switch is turned on, the FORK Optn requirement (permission switch off) is not met, and therefore ignored. Since there's an ELSE Case, it uses that instead. _________________________ ___/ D. Character Script \__________________________________________ This chapter is devoted to walking the reader through the scripting process on a step-by-step basis, explaining what needs to be done specifically for each step. By the end of this chapter, it is expected that the reader understands and has no doubt as to how to use this dynamic party system. Here's hoping, anyway. Do note that this specific script was put together using six characters, and that you'll need a character script for each character that you wish to use. Finally, don't forget to Apply your progress frequently, in case of unforseen errors/accidents. NOTE: A few generic labels have been used in this example of the script. A label of (character 1), (2), (3), (4), (5), or (6) means that everything using that label should reflect the same specific character (ie. if Daena is character 1, all (character 1) labels will apply to her). These are the same for every character's code and, therefore, don't need to be altered. A label of (character #) should match the character that the event is made for (ie. if it's Daena's event, all (character #) labels will apply to her). Note that numerals and the # sign in Switches follows the same concept as the character labels. 1. In your game database, make sure you have the correct amount of characters created (if you're following this FAQ to the letter, create six characters). You can leave the default settings or set them up as you like. Your choice. If you wish to use a specific example, you can set the first character graphic to use the cute kitty girl in the upper right-hand corner of the charset Crown2 found in the default RTP. Also, name her Daena (can you tell I like Legend of Mana?). All labels of (character 1) and (character #) will apply to her during this example. 2. Double-click on any empty space on your map to open a new Event in the Event Editor and name the event (character #). 3. Use Select Graphic to choose a graphic (ie. the same cute kitty girl graphic that Daena uses). Also, set Movement Type to Random, Frequency to 1, Animation Type to Common/With Stepping, and Movement Speed to 3: x2 Slower (or set these to whatever you wish). 4. Set Event Start Condition to Push Key, and Position should be set to Same Level as Hero. 5. In the Event Conditions box, check a []Switch and set it to a new switch. Name the switch (character #). 6. Double-click on the <> in the Events Commands window. Now click Show Message. In the box that pops up, type the following: (character #): "Do you want me to join the party?" 7. Double-click on the next <>. Now click Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 8. Double-click on the <> following the [No] Case. Now click Show Message. In the box that pops up, type the following: (character #): "I'll be here if you need me." 9. Double-click on the <> following the [Yes] Case. Now click Show Message. In the box that pops up, type the following: Remove any current party members? 10. Double-click on the next <>. Now click Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 11. Double-click on the <> following the END Case. Now click Change Variable. Choose Variable(s) should be set to One applied to a new variable named Party Size. In the Set row, apply the option Set. For an Operand, select Other and set it to Party Size. 12. Double-click on the next <>. Now, on the third page, click Fork Conditions. Set the Conditions to Variable and apply the switch named Party Size just created on step 11. Set should be applied and have a value of 4 with the Same option activated. Check the []Add ELSE Case. Nothing need be done on the second page. 13. Double-click on the <> following the FORK Optn. Now click Show Message. In the box that pops up, type the following: You have too many party members, currently. Remove one or more if you wish to make changes. 14. Double-click on the <> following the ELSE Case of the FORK Optn created on step 12. Now, on the first page, click Change Party. Set should be Add Member. Replace Main Hero (which is a typo - it would more appropriately read Which Character, Character To Change, or simply Change) should be on Fix set to (character #). 15. Double-click on the next <>. Now click Change Switch. Choose One switch, and select the switch named (character #) that was created on step 5. Set it to OFF. 16. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character #) has joined the party. 17. Double-click on the <> following the [Yes] Case of the choice created on step 10. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 1) with the Hero Condition Is in the party (is in Hero Party) applied. 18. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 1)? 19. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 20. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 1). 21. Double-click on the next <>. Now click Change Switch. Choose One switch, and select the switch named (character 1). Set it to ON. 22. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 1) has left the party. 23. Double-click on the <> following the END Case of the FORK Optn created on step 17. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 2) with the Hero Condition Is in the party (is in Hero Party) applied. 24. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 2)? 25. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 26. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 2). 27. Double-click on the next <>. Now click Change Switch. Choose One switch, and select a new switch named (character 2). Set it to ON. 28. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 2) has left the party. 29. Double-click on the <> following the END Case of the FORK Optn created on step 23. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 3) with the Hero Condition Is in the party (is in Hero Party) applied. 30. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 3)? 31. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 32. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 3). 33. Double-click on the next <>. Now click Change Switch. Choose One switch, and select a new switch named (character 3). Set it to ON. 34. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 3) has left the party. 35. Double-click on the <> following the END Case of the FORK Optn created on step 29. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 4) with the Hero Condition Is in the party (is in Hero Party) applied. 36. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 4)? 37. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 38. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 4). 39. Double-click on the next <>. Now click Change Switch. Choose One switch, and select a new switch named (character 4). Set it to ON. 40. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 4) has left the party. 41. Double-click on the <> following the END Case of the FORK Optn created on step 35. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 5) with the Hero Condition Is in the party (is in Hero Party) applied. 42. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 5)? 43. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 44. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 5). 45. Double-click on the next <>. Now click Change Switch. Choose One switch, and select a new switch named (character 5). Set it to ON. 46. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 5) has left the party. 47. Double-click on the <> following the END Case of the FORK Optn created on step 41. Now, on the third page, click Fork Conditions. On page 2, set the Condition to Hero (character 6) with the Hero Condition Is in the party (is in Hero Party) applied. 48. Double-click on the <> following the FORK Optn. Now, on the first page, click Show Message. In the box that pops up, type the following: Remove (character 6)? 49. Double-click on the next <>. Now click on Show Choice. Set Choice 1 to Yes, Choice 2 to No, and the Cancel Case to Ignore. 50. Double-click on the <> following the [Yes] Case. Now click Change Party. Set should be Remove Member. Replace Main Hero should be on Fix set to (character 6). 51. Double-click on the next <>. Now click Change Switch. Choose One switch, and select a new switch named (character 6). Set it to ON. 52. Double-click on the next <>. Now click Show Message. In the box that pops up, type the following: (character 6) has left the party. ~End You've now completed the script for one character. You'll need to create this code for each character in the party (in the case of our example: six times). You can either do each character script manually, or just copy and paste the script and then change specific steps to match another character. The steps that will need to be altered are: 2, 3, 5, 6, 8, 14, 15, and 16. Nothing else changes. _________________________ ___/ E. Enable DPS Script \__________________________________________ This is the activation code for the Dynamic Party System. The Character scripts are useless without it. 1. Double-click on any empty space on your map to open a new Event in the Event Editor and name the event Enable DPS. 2. Use Select Graphic to choose a blank sprite (the pink square) and set Movement Type to Stay Still. 3. Set Event Start Condition to Auto Start, and Position should be set to Below Hero. 4. Double-click on the next <>. Now click Change Switch. Set it to One and (character ?)*. Set it to ON. * The (character ?) switch you set it to depends on which characters are NOT in the party. Repeat step 4 for each of the characters that are not included in the initial or current party (as the case may be). 5. Double-click on the next <>. Now click Change Switch. Set it to One and apply a new switch named Enable DPS Off. Set it to ON. 6. Push the New Page button. 7. Now editing Page 2, change the Start Condition to Parallel Process. 8. In the Event Conditions box, check a []Switch and set it to the Enable DPS Off switch that was created on step 5. ~End Unlike the character scripts, the Enable DPS script needs only be made once. It activates specific switches that allows the character scripts to work properly. And that's it. _________________________ ___/ F. Script Display \__________________________________________ This is the basic script as it would appear in the Events Commands window. For convenience, step numbers have been listed to the left of the script. The script is very customizable. Messages, face graphics, the amount of characters used, and more, can be changed to match the individuals liking. Keep in mind that this specific script was put together using six characters. NOTE: A few generic labels have been used in this example of the script. A label of (character 1), (2), (3), (4), (5), or (6) means that everything using that label should reflect the same specific character (ie. if Daena is character 1, all (character 1) labels will apply to her). These are the same for every character's code and, therefore, don't need to be altered. A label of (character #) should match the character that the event is made for (ie. if it's Daena's event, all (character #) labels will apply to her). Note that numerals and the # sign in Switches follows the same concept as the character labels. CHARACTER SCRIPT: 6. <> Messg: (character #): : : "Do you want me to join the party?" 7. <> Show Choice: Yes/No :[Yes] Case 9. <> Messg: Remove any current party members? 10. <> Show Choice: Yes/No :[Yes] Case 17. <> FORK Optn: (character 1) is in the Party 18. <> Messg: Remove (character 1)? 19. <> Show Choice: Yes/No :[Yes] Case 20. <> Change Hero's Party: (character 1) -> Remv 21. <> Change Switch: [0001: (character 1)]-ON Set 22. <> Messg: (character 1) has left the party. <> :[No] Case <> :END Case <> :END Case 23. <> FORK Optn: (character 2) is in the Party 24. <> Messg: Remove (character 2)? 25. <> Show Choice: Yes/No :[Yes] Case 26. <> Change Hero's Party: (character 2) -> Remv 27. <> Change Switch: [0002: (character 2)]-ON Set 28. <> Messg: (character 2) has left the party. <> :[No] Case <> :END Case <> :END Case 29. <> FORK Optn: (character 3) is in the Party 30. <> Messg: Remove (character 3)? 31. <> Show Choice: Yes/No :[Yes] Case 32. <> Change Hero's Party: (character 3) -> Remv 33. <> Change Switch: [0003: (character 3)]-ON Set 34. <> Messg: (character 3) has left the party. <> :[No] Case <> :END Case <> :END Case 35. <> FORK Optn: (character 4) is in the Party 36. <> Messg: Remove (character 4)? 37. <> Show Choice: Yes/No :[Yes] Case 38. <> Change Hero's Party: (character 4) -> Remv 49. <> Change Switch: [0004: (character 4)]-ON Set 40. <> Messg: (character 4) has left the party. <> :[No] Case <> :END Case <> :END Case 41. <> FORK Optn: (character 5) is in the Party 42. <> Messg: Remove (character 5)? 43. <> Show Choice: Yes/No :[Yes] Case 44. <> Change Hero's Party: (character 5) -> Remv 45. <> Change Switch: [0005: (character 5)]-ON Set 46. <> Messg: (character 5) has left the party. <> :[No] Case <> :END Case <> :END Case 47. <> FORK Optn: (character 6) is in the Party 48. <> Messg: Remove (character 6)? 49. <> Show Choice: Yes/No :[Yes] Case 50. <> Change Hero's Party: (character 6) -> Remv 51. <> Change Switch: [0006: (character 6)]-ON Set 52. <> Messg: (character 6) has left the party. <> :[No] Case <> :END Case <> :END Case <> :[No] Case <> :END Case 11. <> Variable Ch: [0001: Party Size] Set, Size of Party 12. <> FORK Optn: Varbl [0001: Party Size]-4 13. <> Messg: You have too many party members, : : currently. Remove one or more : : if you wish to make changes. <> :ELSE Case 14. <> Change Hero's Party: (character #) -> Add 15. <> Change Switch: [000#: (character #)]-OFF Set 16. <> Messg: (character #) has joined the party. <> :END Case <> 8. :[No] Case <> Messg: (character #): : : "I'll be here if you need me." <> :END Case <> ENABLE DYNAMIC PARTY SYSTEM SCRIPT (Page 1): * <> Change Switch: [0001: (character 1)]-ON Set * <> Change Switch: [0002: (character 2)]-ON Set * <> Change Switch: [0003: (character 3)]-ON Set * <> Change Switch: [0004: (character 4)]-ON Set * <> Change Switch: [0005: (character 5)]-ON Set * <> Change Switch: [0006: (character 6)]-ON Set <> Change Switch: [0007: Enable DPS Off]-ON Set <> * Optional. Do NOT apply a Change Switch for ANY characters in the Initial Party (Init Party) or whatever the party is set up to be when the Dynamic Party System is used. Doing so will cause the characters to come across copies of themselves. Only use a Change Switch for each of the characters not currently in the party. ________________________________________________________________________ _________________________ __________________________________________/ III. End of an Era \___ _________________________ ___/ G. Closure \__________________________________________ 1. RM2k is a great resource for those of us who've always wanted to create our own RPGs. Finally, our dreams can come to fruition. My only real disappointment with RM2k is it's many limitations, including graphics, sound file compatability, character creation, etc. Still, it's the easiest RPG creation program available, and despite its limitations can still accomplish a lot. So I'd like to take these last words to thank ASCII Corporation and Yoji Ojima for creating a wonderful program, and Don Miguel for taking the time and effort to translate it into English for those of us that (unfortunately) cannot read Japanese. My sincerest appreciation to you all. Take care. Vulpes Mundi, 9:01 AM (PST / -8 GMT), Thursday, October 05, 2000.