Xenomic's Tutorials [RPG Maker 2k3]

0 Members and 1 Guest are viewing this topic.

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Link to all tutorials!   http://xenomic.freehostia.com/Text/RPG%20Maker%202k3%20Tutorials.txt


Table of Contents:

I.        Moving in 8 Directions
II.       Tent
III.      Jump
IV.      Party Switch System [NEEDS REVISED]
V.       "Moogle Charm" accessory
VI.      Alternating Characters
VII.     Blue Magic
VIII.    Gravity Spells
IX.   Skill Tree Items
X.   Multiple Party Switch System
XI.   Bowyer
XII.   Sacrifice Skill
XIII.   Heartless Angel
XIV.   Arithmetician Skills
XV.   Various Blue Magics
XVI.   Gil Toss
XVII.   Key Item + Running
XVIII.   Chakra
XIX.   HP/MP+% Accessories
XX.   Money Ring


===================================================================
I. Moving in 8 Directions (ala Chrono Trigger style)

Note that this is a bit flawed right now, which  I'll cover afterwards.


This is for those of you who want to be able to move in all 8 directions (instead of the normal 4 directions) with your main party. All that's needed is to make a single Common Event (for the sake of simplicity, let's call it 8-Directions) and make it a Parallel Event (no switch required). You'll also need at least 4 variables for this that are free to use. The coding is as follows in the Event section (I'll break it down after the coding:

Code: [Select]
Label: 1
Key Input Proc: [Var001: 8 Directions Down]
Key Input Proc: [Var002: 8 Directions Right]
Key Input Proc: [Var003: 8 Directions Left]
Key Input Proc: [Var004: 8 Directions Up]

  If Var [XXX: Down] is 0 Not
    Wait 0.0 sec
    If Var [XXX: Left] is 0 Not
       Wait 0.0 sec
       Move Event: Hero, Face Left, Move Down/Left

    Else
    Wait 0.0 sec
    If Var [XXX: Right] is 0 Not
      Wait 0.0 sec
      Move Event: Hero, Face Right, Move Down/Right

      Else
        Variable Oper: [001-004] Set, 0
        Jump to Label: 1

      End

    End

  Else
    Wait 0.0 sec
    If Var [XXX: Up] is 0 Not
       If Var [XXX: Left] is 0 Not
          Wait 0.0 sec
          Move Event: Hero, Face Up, Move Up/Left

       Else
          Wait 0.0 sec
            If [Var [XXX: Right] is 0 Not
               Wait 0.0 sec
               Move Event: Hero, Face Up, Move Up/Right

            Else
               Variable Oper: [001-004] Set, 0
               Jump to Label: 1

      End

    End

  Else
        Variable Oper: [001-004] Set, 0
        Jump to Label: 1

      End

    End



OK, I'll try and explain this behemoth of a puzzle.


First thing's first, the Label: 1 is there so that after executing the coding to see whether a button is pressed together or not, it'll loop back to the start of the entire process, allowing you to be able to move in those directions continuously. The Wait 0.0 second is to get rid of the lag that happens if you DON'T have it in (thanks to whoever pointed that out to me. Sorry that I forgot your name T-T).


After executing each of the commands for movements, you'll want to set each of the variables back to 0 so that it can continue its process (granted, we don't touch the variables values to begin with).



There's really not much else to say on that segment. Again, it's a bit flawed as you cannot enter areas that you can just normally enter by going up/down/left/right, and if you run into an object going diagonally, the only way to get out of it is going the opposite diagonal direction. Other than that, it seems to work rather well as far as I can tell.


===================================================================
II. Tent


This is to create a Tent item, which acts just like....well....a Tent in the Final Fantasy games. It's a rather simple process to deal with actually, but here's the coding (which will be complimented by screenshots possibly:


1) First, go to Common Events (for the sake of simplicity, name the event Tent1
2) Create 2 switches, and name them Tent1 & Tent2. Create 1 variable and name if Save Point.


In the Common Events, set the Trigger to Auto Start, and the switch trigger set to Tent1. In the Event code, type in the following:


Code: [Select]
Variable Oper: [XXX: Save Point] Set, Hero Map ID
Wait: 0.3 sec
If Switch [XXX: Tent2] is ON
   Show Inn Price: 0
   Switch: [XXX: Tent2 OFF]
   Jump to Label: 2

End
  Change Items: Tent 1 Add
  Play Sound: Failure2 (up to you here what you want to play if anything)
  Message: You cannot use a Tent here
  Label: 2
  Switch [XXX: Tent1]   OFF



The Variable makes it so that it returns the player to the exact spot that they used the Tent, so that they don't wind up elsewhere. The Label makes it so that if the Tent can be used, it'll skip the 2nd portion (thus avoiding the problem of getting a free Tent for nothing).



Now that we have THAT taken care of, the next step is to go into your Items tab and create a Tent item (of course). Set this item to be a Switch, and have it turn on Tent1. Make it usable only on the Field (we don't want it to be used in battle now do we?). Make sure to set it to One Use.



Next, we need to make it so that it's used on the World Map. On the world map. anywhere, make an event and set it as follows in the Event section (it is best to set it to a section that won't automatically trigger an event that may happen on the world map):


Preconditions:
Switch: [XXX] (whatever you want it to be, as long as it's not a switch that activates any events on the world map accidentally. Make a new switch that only activates this if you must)
Trigger: Parallel Process
Event Layer: Below Hero


In the Event tab:

Switch Operation: [XXX: Tent2] ON




This will make it so that the Tent can be used like a normal Tent on the World Map. Note that to disable this for dungeons and non-save points, you'll have to add a "Switch Operation [XXX: Tent2] Off" at the start of the event tab before entering the dungeon, and turn it back on whenever leaving the dungeon.



For Save Points, set the "Switch Operation: [XXX: Tent2] On" in the Event tab, and in each area around the Save Point (that the character could step on if they were to step off the save point) make a blank event and set it as follows:


Preconditions
Trigger Condition: Touched by Hero
Layer: Below Hero


Event tab:

Switch Operation [XXX: Tent2] OFF




Hopefully that clears it up! If you need any further clarification, just ask ^^;;


===================================================================
III. Jump


This little command will allow the player to be able to jump around on the overworld. Note that this can be configured even further for more additional effects for your game.


Go to Common Events and name an Event "Jump" and set the Trigger to Call. In the Event tab, all you have to do is put in the following:


Code: [Select]
Key Input Proc: [XXXX: Jump]
Move Event: Hero, Begin Jump, Move Forward, Move Forward, End Jump


Simple as that. For the Jump key input, have "Wait until Key is Pressed" checked and whatever button that isn't used by the game (or a button you want to assign to the command) to be the command for Jumping. Simple as that!


===================================================================
IV. Party Switch System


Oh boy....this is going to be a behemoth to do! Note that there are SEVERAL ways of doing this, and this is the simpliest way that I see fit (thanks to Sirius for helping me with this one!). Before we begin, you'll want to make 2 switches per party member; one being called (for simplicity's sake) [XXX: Hero1 acquired], and another called [XXX: Hero1_in_party]. This will be used later. Make sure to turn these on whenever the party member joins the party, and turn them off whenever the party member leaves the party.


First, let's go to Common Events to set up the event. Name it PHS (or whatever), set Trigger to Auto-Start, and set Switch (for simplicity sake, we'll name it PHS) to PHS. We'll be needing another switch as well (call it PHS2). In the Event section, put in the following:


Code: [Select]
Variable Oper: [XXXX: Save Point] Set, Hero Map ID
Wait 0.3 sec
If Switch [XXXX: PHS2] is ON
   Memorize Location (set aside 3 variables for each part of this)
   Variable Oper: [XXXX: Party Number] Set, 0 (this will be used later on)
   Change Party Members: [Remove all party members except the main party member]
   Teleport (Use this to teleport to a map specifically made for switching party members)
   Switch Operation: [XXXX: PHS2] OFF
   Jump to Label: 3

End
  Play Sound: Failure2 (or whatever)
  Message: You cannot use this here!
  Label: 3
  Switch Operation: [XXXX: PHS] OFF



Lots of things going on there. The first variable operation makes it so that you can return to that exact spot that you used the PHS at after being done with the PHS. The Memorize Location is also used for this purpose.



Now, make a map for the area (doesn't matter how it looks really) and set events for each of your party members here. Set up 4 pages per character. For the first page, just have it as a blank page. For Page 2, set the graphics of your party member here, and set the [XXX: Hero acquired] switch ON in the Preconditions for that party member. In the event tab for this party member, we'll type in the following:


Code: [Select]
Message (OF PARTY MEMBER): (if you want one for them)
Message: Do you want to take Sage?
Show Choices: Yes/No 
[Yes]
   Change Party Members: Add Sage
   Variable Oper: [XXX: Party Member] +1

[No]
   
End


On Page 3, check Hero for Preconditions, and check that party member's name (in this example, we'd put Sage in that box). Add in any code BEFORE the 2nd message above if you want to still interact with the party member.


For Page 4, set the Precondition to [XXX: Hero Acquired] (or whatever the character's name is that you're in the Event for). Set Variable to [XXX: Party Number] and make it Equal to 3. Add in the same coding as in Page 3. This will make it so that the game checks to see if you have 4 party members in your party, which will make it impossible to add anymore to the current party without removing them.


Now, make another event (let's say another character that isn't in the party or something) that will remove all party members from your party (so that you can change party members if you want). In the Event Tab for this event, put in the following:


Code: [Select]
Message: Reset party?
Show Choices: Yes/No
[Yes]
Change Party Member: Remove (use this for each party member save for unremovable party members)
Variable Oper: [XXX: Party Number] Set, 0

[No]

End




Finally, add another event to leave the area. In the Event Tab, use the following:


Code: [Select]
Message: Return to game?
Show Choices: Yes/No
[Yes]
   Switch Operation: [XXXX: PHS2] OFF
   Recall to Location: (Use the 3 variables used in the Common Events here)

[No]

End



And that finishes the map! Only one more thing left to do.......the PHS item!



Go to the Items tab and create a item called PHS. Set it to Switch and Unlimited Use, and set the Switch that it turns on to [XXX: PHS] (also make sure to set the Price to 0 so you can't get rid of it). Voila! Now you have a PHS system! If you need further explanations or screenshots, let me know!

===================================================================
V. "Moogle Charm" accessory


For those that would like to have an accessory that eliminates all random encounters while equipped, this is for you!


First, make an accessory (name it whatever).

Next, go to Common Events and make it a Parallel Process. In the Events tab, put in the following:


Code: [Select]
If [Insert party member] "Moogle Charm" Equipped
   Encounter Rate: 0

Else
   Encounter Rate: (whatever you have it set as normally for your game)

End


You'll have to repeat this for each party member that can equip it as well. Simple as that ^^

===================================================================
VI. Alternating Characters

This tutorial basically allows you to switch to and fro from one "alter ego" of a character to another. Let's say, for example (I'll use my game as an example), you want to have Cirno become Advent Cirno, or return Advent Cirno back to normal Cirno. Here's how we'll do this.


First, make an accessory (or item, whatever it is that you want), then go to Common Events. Make this a Parallel Process, then in the Event section, put in the following (using Cirno/Advent Cirno as an example, and for an accessory). This will require some variables and switches for the character (as shown earlier in the Party Switch System section):


Code: [Select]
If [Cirno] Advent Ring (or whatever you named the accessory) Equipped
  Change Equipment: Cirno Accessory Unequip
  Variable Operation: [XXX: Cirno] Set 0
  Variable Operation: [XXX: Advent Cirno] Set 1
  Change Party Members: Cirno Remove
  Change Party Members: Advent Cirno Add
  Switch Operation: [XXX: Advent Acquired] ON
  Switch Operation: [XXX: Cirno Acquired] OFF

End



You basically reverse everything when doing it for the other character. The reason for unequipping the accessory is so that it doesn't infinitely loop itself and that you can use it again to return to the other character (especially true if the accessory is unique).
===================================================================
VII. Blue Magic


This is my attempt at trying the Blue Magic system, which seems to work fine so far save for messages appearing after battle telling the player they got the skill. First thing first, you'll need a character that can be a Blue Mage (of course). Next, have some skills set aside that'll be Blue Magic. In the Enemy tab, when assigning skills to an enemy, if it is an enemy skill that you want the Blue Mage to be capable of learning, set the switch for the skill to on (name a switch to something like, for instance, if the Blue Magic you want to learn is Fire, name the switch something like "Saw Fire"). This will make it so that you learn it whenever it is used, regardless if the mage was hit by it, it heals, or whatever else it does.



Next, make a Common Event and name it something like Blue Mage. Make it a Parallel Process and input the following:

Code: [Select]
If (Blue Mage) in the Party
   Switch Operation: [XXX: Blue Mage] ON

Else
   Switch Operation: [XXX: Blue Mage] OFF

End


This makes it so that whenever the Blue Mage is in the current party, you'll be able to learn Blue Magic WITH that mage, and if they're not in the party, then you won't just learn the Blue Magic for no reason.



Now, make another Common Event and name it Blue Magic. Make it a Parallel Process and the trigger switch [XXX: Blue Mage] ON. Input the following for each Blue Magic (make sure to replace (Blue Mage) with your Blue Mage and (Fire) with the Blue Magic skill!



Code: [Select]
If (Blue Mage) has learned (Fire)

  Else:
    If: Switch (Fire) is ON
      Variable Operation: [Fire] +1
      If: Variable Operation [Fire] is +1 or greater
        Message: Learned Fire!
        Change Skills: Blue Mage, Fire Add

        End

      End
      Switch Operation: [V:Fire] OFF
End




Simple as that ^^


===================================================================
VIII. Gravity Spells


For those who have always wanted to implement the Gravity series of spells into their game, well here's an easy way of doing so, for all 3 levels! There are two variations to this coding...one being for enemies, and one for allies. The first one we'll be diving into is for the enemy variety spells.


First, make a skill (Gravity, Gravira, and Graviga for example). Make them turn on switches (HP 1/4, HP 1/2, HP 3/4).

Next, give the skill to a monster, and have the skill turn on the appropriate switch (if you give a monster the Gravity spell, make sure it turns on the HP 1/4 switch!)

Next, the coding for each spell. Let us start with Gravity.

First, go to the Common Events tab, and create a new Common Event (let's name it Gravity). Have it as Parallel Process and be activated when the HP 1/4 switch is on. The coding then would go as follows:

Code: [Select]
Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]
Branch if Cloud is in the Party
   Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal
      Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] /, 4
      Change HP: Cloud's HP V[XXXX: Cloud HP] Remove

   End

End

Seem complicated? Let's break it down some then!

Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]

*This line is meant to set a variable to act as an accuracy for the named party member (Cloud is just an example. Replace the variable name with the name of your hero). This works in conjunction with another line in this coding.


Branch if Cloud is in the Party

*This line ensures that it'll only work on this party member WHILE THEY ARE IN THE PARTY. If you do not have this line, then it can hit the party member even if they're not active in the battle. We don't want that now do we?


Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal

*This goes with the very first line of coding for accuracy.


Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
Variable Operation: [XXXX: Cloud HP] /, 4


*The first line of coding sets a variable to be equal to your character's current HP value. The second line of coding reduces it by 1/4.


Change HP: Cloud's HP V[XXXX: Cloud HP] Remove

Lastly, this line of coding will remove HP equal to the amount in said variable.


Simple as that! You'll need to repeat this for EVERY character in your game however, as there is no set way of making this hit single targets. For Gravira, just change the following:

*Change the activation switch from HP 1/4 to HP 1/2.
*Change the following line from:

Variable Operation: [XXXX: Cloud HP] /, 4

to:

Variable Operation: [XXXX: Cloud HP] /, 2


And you have your very own Gravira spell! Now, for the final part! Graviga, which is 3/4 HP. Now, since 2K3 doesn't let you use decimals, this becomes a bit trickier to do. First off, make sure to make a new Common Event, and have it activated through the HP 3/4 switch, and make it a Parallel Process as well. Let us take a look at the coding.



Code: [Select]
Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]
Branch if Cloud is in the Party
   Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal
      Variable Operation: [XXXX: Cloud HP Value] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] /, 4
      Variable Operation: [XXXX: Cloud HP Value] -, Var [XXXX: Cloud HP]'s value
      Change HP: Cloud's HP V[XXXX: Cloud HP Value] Remove

   End

End



Note some differences here. The main differences are the addition of two new lines. Let's look at this!


Variable Operation: [XXXX: Cloud HP Value] Set, Cloud HP

*This sets up a secondary value that is equal to the character's current HP. Make note that this HAS to go before the actual algorithm of changing HP values. Otherwise, it will not work right!


Variable Operation: [XXXX: Cloud HP Value] -, Var [XXXX: Cloud HP]'s value

*This takes the character's current HP, and reduces it by the difference between their current HP, and their current HP/4 (which, would be 1/4 of their current HP). This right here makes it so that you take full HP and reduce it by 1/4, giving your 3/4 value.



Change HP: Cloud's HP V[XXXX: Cloud HP Value] Remove

*Finally, we take the HP value of the new variable and remove that much HP from the character.


You may or may not want to check HP Reduction Can Kill Target. Up to you on that, though Gravity spells generally never kill so...!


And there's the coding behind it all! Now let's get to the last bit. In the Monster Groups tab, set up a new page for EACH event (so a page for HP 1/4, a page for HP 1/2, and a page for HP 1/4) for monsters that will use said skills, and in the Event Page, call the appropriate Common Event for that switch, and turn off the switch afterwards in the same page. Voila! There's your Gravity spells in a nutshell!



Now, let us dive into ally-variety Gravity spells!


This works a bit differently here now. First, let us set up a skill (name it whatever, but for this example, we'll go with Gravity/Gravira/Graviga again). Make it turn on a switch (make it a different switch than from the enemy variation spells. Let's name it Gravity, Gravira, and Graviga). Make SURE it can only be used in battle!

Now, this is where it varies. Go to the Monster Groups tab, and set up a new page. We'll start with Gravity.


Trigger: Switch [XXXX: Gravity] ON

In the coding area below...


Code: [Select]
Variable Operation: [XXXX: Enemy HP 1 Set, 1: XXXX HP
Show Battle Animation: Gravity, All Enemies (Wait)
Variable Operation: [XXXX: Random] Set, Rnd [0-100]
Branch if Var [XXXX: Random] is 69 Less/Equal
   Branch if Var [XXXX: Enemy HP 1] is 19998 Greater
     Change Monster HP: 1: XXXX HP 9999 Remove
     Switch Operation: [XXXX: Gravity] OFF

   Else Handler
      Change Monster HP: 1: XXXX HP 25% Remove
      Switch Operation: [XXXX: Gravity] OFF

   End
      Switch Operation: [XXXX: Gravity] OFF

End
Switch Operation: [XXXX: Gravity] OFF



Now to break this down!


Variable Operation: [XXXX: Enemy HP 1 Set, 1: XXXX HP

*Sets up a variable with the enemy's current HP value. Note you'll have to do this for EACH enemy!


Show Battle Animation: Gravity, All Enemies (Wait)

*Shows the battle animation, and makes all actions stop until its completed. Used to not have the damage show until after the animation is completed.


Variable Operation: [XXXX: Random] Set, Rnd [0-100]
Branch if Var [XXXX: Random] is 69 Less/Equal


*First line of coding is used to set up a random number. Second line of coding is uses the result of the first line for the accuracy of the skill.


Branch if Var [XXXX: Enemy HP 1] is 19998 Greater
     Change Monster HP: 1: XXXX HP 9999 Remove
     Switch Operation: [XXXX: Gravity] OFF

   Else Handler
      Change Monster HP: 1: XXXX HP 25% Remove
      Switch Operation: [XXXX: Gravity] OFF



*This checks to see if the enemy's HP is higher than 19998 HP, and if it is, reduces it by a fixed 9999 damage instead. If it is less than 19998, then it reduces HP by 25%. After checking for either of these, the switch for the skill is turned off. Note that this will have to be repeated for EACH enemy as well!


For Gravira, just replace 25% with 50%, and for Graviga, replace 25% with 75%. Easy as that! Make sure to have all three on different pages, and be triggered by their respective switches!

===================================================================
« Last Edit: April 04, 2012, 08:30:24 AM by Xenomic »

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Will do. I'll just update the first post with new stuff. I even decided to make video tutorials on these (though how well those will be, I don't know). Should I post those here for you guys to view if they're good enough or not, since I tend to upload em to my YT channel for those who don't go to forums like these?


Also, will update the first post later on with how to do a Bomb event. Was busy doing those vids ^^;

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Eh. What the heck? I'll just post these other tutorials I did a video for. Pretty much knowing what's what. Might go into more detail on each part later....not sure yet. Also, dunno if I'll post these in the 1st post or not...hmm...I'm only posting these because I think they'd be helpful as well.

Also, I might use this as my "Post Video Tutorial" post. Dunno if I should hide these or not in spoilers, so dun kill me if I don't know D:

I'll probably do a Lock Commands tutorial later, since I know how to do it ^^;;

BASIC TUTORIALS

Character Tutorial (2 parts):

Part 1:


Part 2:



Skill Tutorial:


Items Tutorial (2 parts):

Part 1:


Part 2:


Monsters, Monster Groups, Attributes, & Conditions Tutorial:


Conditions, Animations Tabs & Battle Layout Tutorial:



SPECIAL TUTORIALS:

Tent Tutorial:


8 Directions & Timer Tutorial:


Party Switch System & Jump Tutorial:


Blue Magic, "Moogle Charm", & Alternating Characters Tutorial:

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Heya guys! Long time no see! Since I've been working on my rpg for god knows how long now, I got some nifty things that I feel like sharing with you all since I haven't touched this in forever! Namely because I wasn't getting into big technical stuff until the past couple months or so. So let's begin with the first of things, some that people might have trouble with (I know I did for a long time...)



VIII. Gravity Spells


For those who have always wanted to implement the Gravity series of spells into their game, well here's an easy way of doing so, for all 3 levels! There are two variations to this coding...one being for enemies, and one for allies. The first one we'll be diving into is for the enemy variety spells.


First, make a skill (Gravity, Gravira, and Graviga for example). Make them turn on switches (HP 1/4, HP 1/2, HP 3/4).

Next, give the skill to a monster, and have the skill turn on the appropriate switch (if you give a monster the Gravity spell, make sure it turns on the HP 1/4 switch!)

Next, the coding for each spell. Let us start with Gravity.

First, go to the Common Events tab, and create a new Common Event (let's name it Gravity). Have it as Parallel Process and be activated when the HP 1/4 switch is on. The coding then would go as follows:

Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]
Branch if Cloud is in the Party
   Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal
      Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] /, 4
      Change HP: Cloud's HP V[XXXX: Cloud HP] Remove

   End

End


Seem complicated? Let's break it down some then!

Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]

*This line is meant to set a variable to act as an accuracy for the named party member (Cloud is just an example. Replace the variable name with the name of your hero). This works in conjunction with another line in this coding.


Branch if Cloud is in the Party

*This line ensures that it'll only work on this party member WHILE THEY ARE IN THE PARTY. If you do not have this line, then it can hit the party member even if they're not active in the battle. We don't want that now do we?


Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal

*This goes with the very first line of coding for accuracy.


Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
Variable Operation: [XXXX: Cloud HP] /, 4


*The first line of coding sets a variable to be equal to your character's current HP value. The second line of coding reduces it by 1/4.


Change HP: Cloud's HP V[XXXX: Cloud HP] Remove

Lastly, this line of coding will remove HP equal to the amount in said variable.


Simple as that! You'll need to repeat this for EVERY character in your game however, as there is no set way of making this hit single targets. For Gravira, just change the following:

*Change the activation switch from HP 1/4 to HP 1/2.
*Change the following line from:

Variable Operation: [XXXX: Cloud HP] /, 4

to:

Variable Operation: [XXXX: Cloud HP] /, 2


And you have your very own Gravira spell! Now, for the final part! Graviga, which is 3/4 HP. Now, since 2K3 doesn't let you use decimals, this becomes a bit trickier to do. First off, make sure to make a new Common Event, and have it activated through the HP 3/4 switch, and make it a Parallel Process as well. Let us take a look at the coding.



Variable Operation [XXXX: Variable Cloud] Set, Rnd [0-100]
Branch if Cloud is in the Party
   Branch if Var [XXXX: Var. Cloud] is 74 Less/Equal
      Variable Operation: [XXXX: Cloud HP Value] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
      Variable Operation: [XXXX: Cloud HP] /, 4
      Variable Operation: [XXXX: Cloud HP Value] -, Var [XXXX: Cloud HP]'s value
      Change HP: Cloud's HP V[XXXX: Cloud HP Value] Remove

   End

End




Note some differences here. The main differences are the addition of two new lines. Let's look at this!


Variable Operation: [XXXX: Cloud HP Value] Set, Cloud HP

*This sets up a secondary value that is equal to the character's current HP. Make note that this HAS to go before the actual algorithm of changing HP values. Otherwise, it will not work right!


Variable Operation: [XXXX: Cloud HP Value] -, Var [XXXX: Cloud HP]'s value

*This takes the character's current HP, and reduces it by the difference between their current HP, and their current HP/4 (which, would be 1/4 of their current HP). This right here makes it so that you take full HP and reduce it by 1/4, giving your 3/4 value.



Change HP: Cloud's HP V[XXXX: Cloud HP Value] Remove

*Finally, we take the HP value of the new variable and remove that much HP from the character.


You may or may not want to check HP Reduction Can Kill Target. Up to you on that, though Gravity spells generally never kill so...!


And there's the coding behind it all! Now let's get to the last bit. In the Monster Groups tab, set up a new page for EACH event (so a page for HP 1/4, a page for HP 1/2, and a page for HP 1/4) for monsters that will use said skills, and in the Event Page, call the appropriate Common Event for that switch, and turn off the switch afterwards in the same page. Voila! There's your Gravity spells in a nutshell!



Now, let us dive into ally-variety Gravity spells!


This works a bit differently here now. First, let us set up a skill (name it whatever, but for this example, we'll go with Gravity/Gravira/Graviga again). Make it turn on a switch (make it a different switch than from the enemy variation spells. Let's name it Gravity, Gravira, and Graviga). Make SURE it can only be used in battle!

Now, this is where it varies. Go to the Monster Groups tab, and set up a new page. We'll start with Gravity.


Trigger: Switch [XXXX: Gravity] ON

In the coding area below...


Variable Operation: [XXXX: Enemy HP 1 Set, 1: XXXX HP
Show Battle Animation: Gravity, All Enemies (Wait)
Variable Operation: [XXXX: Random] Set, Rnd [0-100]
Branch if Var [XXXX: Random] is 69 Less/Equal
   Branch if Var [XXXX: Enemy HP 1] is 19998 Greater
     Change Monster HP: 1: XXXX HP 9999 Remove
     Switch Operation: [XXXX: Gravity] OFF

   Else Handler
      Change Monster HP: 1: XXXX HP 25% Remove
      Switch Operation: [XXXX: Gravity] OFF

   End
      Switch Operation: [XXXX: Gravity] OFF

End
Switch Operation: [XXXX: Gravity] OFF




Now to break this down!


Variable Operation: [XXXX: Enemy HP 1 Set, 1: XXXX HP

*Sets up a variable with the enemy's current HP value. Note you'll have to do this for EACH enemy!


Show Battle Animation: Gravity, All Enemies (Wait)

*Shows the battle animation, and makes all actions stop until its completed. Used to not have the damage show until after the animation is completed.


Variable Operation: [XXXX: Random] Set, Rnd [0-100]
Branch if Var [XXXX: Random] is 69 Less/Equal


*First line of coding is used to set up a random number. Second line of coding is uses the result of the first line for the accuracy of the skill.


Branch if Var [XXXX: Enemy HP 1] is 19998 Greater
     Change Monster HP: 1: XXXX HP 9999 Remove
     Switch Operation: [XXXX: Gravity] OFF

   Else Handler
      Change Monster HP: 1: XXXX HP 25% Remove
      Switch Operation: [XXXX: Gravity] OFF



*This checks to see if the enemy's HP is higher than 19998 HP, and if it is, reduces it by a fixed 9999 damage instead. If it is less than 19998, then it reduces HP by 25%. After checking for either of these, the switch for the skill is turned off. Note that this will have to be repeated for EACH enemy as well!


For Gravira, just replace 25% with 50%, and for Graviga, replace 25% with 75%. Easy as that! Make sure to have all three on different pages, and be triggered by their respective switches!

===================================================================

I'll be updating the first post with this info as well as with any new info that is going into my little faq. I do have to add in my Arithmetician skills tutorial thing for those interested in trying to emulate that to a degree, as well as some other things. I'm sure someone might appreciate it no!? And who knows! Maybe someone can build up from these as well!



EDIT - Updated with both enemy and ally variations. Only had enemy variations before in here. If anyone has any suggestions or can make the tutorial itself look neater and cleaner, do let me know!
« Last Edit: March 15, 2011, 08:08:12 AM by Xenomic »

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
IX. Skill Tree Items

This particular section is for those that wish to make their abilities learned not through variables, or through the traditional leveling up, but through a specific set of items...and in a specific way at that.

First, let's make an item. Let's call this item Fire Scroll. Make it a switch, and have it turn on a switch (let's name it Fire Scroll). Have the activation be only in the field.


Now, the complicated part! Let us make a Common Event, call it Fire Scroll, make it a Parallel Process, and have the trigger switch be the Fire Scroll switch. Here, we want to make it so that if you have any other levels of the spell (i.e. Fira or Firaga), you cannot learn this spell at all. Coding is as below.

Code: [Select]
Branch if Cloud Fire Skill Usable
  Message: Cannot learn this skill!
  Change Items: Fire Scroll Add

Else Handler
  Branch if Cloud Fira Skill Usable
    Message: Cannot learn this skill!
    Change Items: Fire Scroll Add

  Else Handler if Cloud Firaga Skill Usable
    Message: Cannot learn this skill!
    Change Items: Fire Scroll Add



Rinse and repeat for each level of the skill. This will make it so that you ONLY learn this skill when you don't have the skill already, or if you don't have any other levels of the skill. Now, the coding for non-starting levels of skills is a bit different. Let's go with the next level. Make an item for Fira Scroll and create a Common Event as above but for Fira. For the coding, let's look at it below.


Code: [Select]
Branch if Cloud Fire Skill Usable
       Change Skills: Cloud Fire Remove
       Change Skills: Cloud Fira Add
       Message: Learned Fira!

     Else Handler
        Message: You cannot use this item yet.
        Change Items: Fira Scroll 1 Add

     End
       Switch Operation: [XXXX: Fira Scroll] OFF


This makes it so that as long as you have the skill DIRECTLY before this level, you can learn it, but if the character has any higher levels of the skill, they cannot learn the skill at all. For higher levels of the skill, just copy/paste the coding used for level 2 skills, and modify it to fit those skills (for instance, Fire would be Fira and Fira would be Firaga for the Firaga Scroll coding.

And there you have it!

===================================================================
X. Multiple Party Switch System

Ever wanted to make a party switch system similar to FFVI in Kefka's Tower? This section is for you then! Keep in mind, that this section is probably going to be very confusing!


First, let us make an event somewhere. Make it Auto-Start and be Below
Hero. On the first page, let us put in the following:


Code: [Select]
Branch if Switch [XXXX: Barret Party 1] is ON
   Change Party Members: Barret Add
<!--- This line must be repeated for every character that can be used for that segment. Change the switch and party members accordingly!
End
Variable Operation: [XXXX: Party 1 X] Set, Hero X Coord.
Variable Operation: [XXXX: Party 1 Y] Set, Hero Y Coord.
Variable Operation: [XXXX: Party 2 X] Set, Hero X Coord.
Variable Operation: [XXXX: Party 2 Y] Set, Hero Y Coord.
Variable Operation: [XXXX: Map ID] Set, Hero Map ID
Switch Operation: [XXXX: Control Party 1] ON
Switch Operation: [XXXX: Begin Next Event] ON


Next, make a second page in the same event, and have it triggered by having the Begin Next Event switch on. Make it a Parallel Process and Below Hero. In the Event Box, the coding is as follows.


Code: [Select]
Key Input Proc: [XXXX: Key Input]
Branch if Var [XXXX: Key Input] is 7
   Variable Operation: [XXXX: Key Input] Set, 0
   Branch if Switch [XXXX: Control Party 1] is ON
      Message: Switch to party 2?
      Show Choices: Yes/No
      [Yes] Handler
          Variable Operation: [XXXX: Party 1 X] Set, Hero X Coord.
          Variable Operation: [XXXX: Party 1 Y] Set, Hero Y Coord.
          Tint Screen: (R000, G000, B000, S000), 0.5 Sec (Wait)
          Change Party Members: Cloud Remove

          <!--- Repeat this for all party members! -->

          Recall to Location: V[Map ID] (V[Party 2 X], V[Party 2 Y])
          Change Event Location: Cloud, (V[Party 1 X], V[Party 1 Y])
          Branch if Switch [XXXX: Cloud Party 2] is ON
             Variable Operation: [XXXX: Cloud] Set, 2
              Change Party Members: Cloud Add
          End
             Branch if Switch [XXXX: Barret Party 2] ON
               Change Party Members: Barret

           <!--- Repeat this for every party member! -->

              End
                Switch Operation: [XXXX: Control Party 1] OFF
                Switch Operation: [XXXX: Control Party 2] ON
                Tint Screen: R100, G100, B100, S100), 0.5 Sec (Wait)
                Jump to Label: 1

              [No] Handler

              End

           End
               Branch if Switch [XXXX: Control Party 2] is ON
                  Message: Switch to party 1?
                  Show choices: Yes/No
                  [Yes] Handler
                  Var. Operation: [XXXX: Party 2 X] Set, Hero X Coord.
                  Var. Operation: [XXXX: Party 2 Y] Set, Hero Y Coord.
                  Tint Screen: (R000, B000, G000, S000), 0.5 Sec (Wait)
                  Change Party Members: Cloud Remove

             <!--- Repeat for all party members! -->

                  Recall to Location: V[Map ID] (V[Party 1 X], V[Party 1 Y])
                  Change Event Location: Cloud, [V[Party 2 X], V[Party 2 Y])
                  Branch if Switch [XXXX: Cloud Party 1] is ON
                  Change Party Members: Cloud Add
                  Var. Operation: [XXXX: Cloud] Set, 1

                End
                   Branch if Switch [XXXX: Barret Party 1] is ON
                      Change Party Members: Barret Add

              <!--- Repeat for all party members! -->

                   End
    Switch Operation: [XXXX: Control Party 1] ON
                       Switch Operation: [XXXX: Control Party 2] OFF
                       Tint Screen: (R100, G100, B100, S100), 0.5 sec (Wait)
 
                   [No] Handler
             
    End

               End

           End
           Label: 1


Now, let's make an event somewhere for a placeholder event for your sprites. On the first page, set up your character sprite and have it triggered by setting the Variable to Cloud and equal to 1. On the second page, set it up for the leader of the SECOND party, and have that activated by having the Variable for Cloud equal to 2. Now, let us look at the character coding! We'll use Cloud as an example here.


Create an event somewhere for Cloud and set the graphic for him. For the event coding, put in the following:


Code: [Select]
Branch if Switch [XXXX: Select Party 1] is ON
   Branch if Switch [XXXX: Barret Party 2] is ON
      Message: Is already in another party.

       Else Handler
          Branch if Switch [XXXX: Barret Party 1] is ON
          Message: Is already in another party.

          Else Handler
             Message: Add to first party?
             Show Choices: Yes/No
             [Yes] Handler
                Switch Operation: [XXXX: Barret Party 1] ON
                Variable Operation: [XXXX: Party 1 Total] +, 1
                Branch if Var [XXXX: Party 1 Total] is 3
                   Message: Is this the group that you want for party 1?
                   Show Choices: Yes/No
                   [Yes] Handler
                      Var. Operation: [XXXX: Cloud] Set, 1
                      Var. Operation: [XXXX: Party 1 X] Set, Hero X Coord.
                      Var. Operation: [XXXX: Party 1 Y] Set, Hero Y Coord.
                      Var. Operation: [XXXX: Party 2 X] Set, Hero X Coord.
                      Var. Operation: [XXXX: Party 2 Y] Set, Hero Y Coord.
                      Var. Operation: [XXXX: Map ID] Set, Hero Map ID
                      Recall to Location: V[Map ID] (V[Party 2 X], V[Party 2 Y])
                      Change Event Location: Cloud, (V[Party 1 X], V[Party 1 Y])
                      Change Party Members: Barret Remove

                  <!--- Repeat for each party member! -->

                     Change Party Member: Cloud Add (or whoever the main leader of said party is)
                      Switch Operation: [XXXX: Select Party 1] OFF
                      Switch Operation: [XXXX: Select Party 2] ON
                      Jump to Label: 1

                     [No] Handler
                        Var. Operation: [XXXX: Party 1 Total] Set, 0
                        Switch Operation: [XXXX: Barret Party 1] OFF
                   
                   <!--- Repeat for each party member! -->

                           End

                        Else Handler

                        End

        [No] Handler
 
      End

   End

End
Branch if Switch [XXXX: Select Party 2] is ON
   Branch if Switch [XXXX: Barret Party 1] is ON
      Message: Is already in another party.

       Else Handler
          Branch if Switch [XXXX: Barret Party 2] is ON
          Message: Is already in another party.

          Else Handler
             Message: Add to second party?
             Show Choices: Yes/No
             [Yes] Handler
                Switch Operation: [XXXX: Barret Party 2] ON
                Variable Operation: [XXXX: Party 2 Total] +, 1
                Branch if Var [XXXX: Party 2 Total] is 3
                   Message: Is this the group that you want for party 2?
                   Show Choices: Yes/No
                   [Yes] Handler
                      Var. Operation: [XXXX: Cloud] Set, 1
                      Var. Operation: [XXXX: Party 1 X] Set, Hero X Coord.
                      Var. Operation: [XXXX: Party 1 Y] Set, Hero Y Coord.
                      Var. Operation: [XXXX: Party 2 X] Set, Hero X Coord.
                      Var. Operation: [XXXX: Party 2 Y] Set, Hero Y Coord.
                      Var. Operation: [XXXX: Map ID] Set, Hero Map ID
                      Recall to Location: V[Map ID] (V[Party 1 X], V[Party 1 Y])
                      Change Event Location: Cloud, (V[Party 2 X], V[Party 2 Y])
                      Change Party Members: Barret Remove

                  <!--- Repeat for each party member! -->

                     Change Party Member: Cloud Add (or whoever the main leader of said party is)
                      Switch Operation: [XXXX: Select Party 1] OFF
                      Switch Operation: [XXXX: Select Party 2] ON
                      Jump to Label: 1

                     [No] Handler
                        Var. Operation: [XXXX: Party 2 Total] Set, 0
                        Switch Operation: [XXXX: Barret Party 2] OFF
                   
                   <!--- Repeat for each party member! -->

                           End

                        Else Handler

                        End

        [No] Handler
 
      End

   End

End



Whew! That's a lot of coding! Note that you'll need to do this for EACH character that'll be in the segment used for this! And of bigger note, this will ONLY work on the same map....therefore, you cannot use this across multiple maps...otherwise you will end up teleporting inside a wall or location that you are not meant to teleport to! Keep this in mind!
===================================================================
XI. Bowyer

Ever wanted to mimic this annoying boss from Super Mario RPG? Well, here's a way of doing so!


First, make a skill and name it Lock Attack. It doesn't matter if it targets all enemies or not, unless it does damage that is. Next, give the skill to your Bowyer wannabe and have it turn on a switch when used (let's call the switch Lock Attack). Next, let us go to the monster groups tab, and for the Bowyer boss, make a new page and have it activated when the Lock Attack Switch is on. Make it call the Common Event for Lock Attack.

Now for the Common Event. It's really simple actually! Name the event Lock Attack, set its trigger to Call. Now, for the coding.


Code: [Select]
Branch if Switch [XXXX: Lock Attack] is ON
   Change Battle Commands: Mario Fight Remove

<!--- Repeat for all characters! -->

   Change Battle Commands: Mario Item Add

<!--- Repeat for all characters! -->

Else Handler
   Change Battle Commands: Mario Fight Add

<!--- Repeat for all characters! -->


Simple as that! For Skills, Items, or whatnot, just replace the coding for the appropriate skill! Just make sure that you at least give one command back and take one away that another skill doesn't give/take away to avoid having a skill completely locked down!

Afterwards, make sure to put an event in the same map that the boss fight takes place in, remove all abilities, and then readd the abilities to each character in their original order!

===================================================================
XII. Sacrifice Skill

For those interested in having an ability that kills off a party member to restore other party members, here you go!

First, let's make a skill. Let us call it Sacrifice, and make it a Switch. Have it turn on a switch (let's name it Sacrifice) and be activated ONLY during battles!

Next, let us go to the Common Events tab. Create a new Common Event (let's name it....oh....Full-Revive or Sacrifice...something that'll work in remembering it). Next, make the trigger for it a Call. Now for the coding!


Code: [Select]
Change HP: Zidane HP V[Hero HP] Remove
Branch if Cloud Death Condition
   Branch if Cloud in the Party
       Change Cond: Cloud Death Remove
       Change HP: Cloud HP 9999 Recovered

    End

End

<!--- Repeat lines 2-6 for every character -->


For [Hero HP], set it to the user's current HP and check the HP Reduction option. Also make sure it decreases the HP!

Next, go to Monster Groups tab, and make a new page. Make it activated by whatever switch (for this example, let's call the switch Sacrifice). Now for the coding

Code: [Select]
Play Sound: holy9 (play whatever sound you want. Don't need this if you have an animation though)
Variable Operation: [XXXX: Hero HP] Set, Zidane HP
Show Battle Animation: Sacrifice, Entire Party (Wait)
Call Common Event: Sacrifice
Switch Operation: [XXXX: Sacrifice Off]


And there you go! That's all there is to it~

===================================================================
XIII. Heartless Angel

Wanna reduce everyone's HP to 1 like a jerk? Then here's a section for you!


First, let us make a new skill. Let us call it Heartless Angel for consistency sake, and make it a Switch. Have it usable in battles only, and turn on a switch (let's name it HP 1).

Next, let us go to the Common Events tab! Name it Heartless Angel, and make the trigger Call. In the coding, let us do the following:


Code: [Select]
Branch if Cloud in the Party
   Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
   Variable Operation: [XXX: Cloud HP] -, 1
   Change HP, Cloud's HP V[Cloud's HP] Remove

End

<!--- Repeat for all party members.


You can even make a variation of this so that it has a chance to miss! Let us look at that coding in particular.

Code: [Select]
Variable Operation: [XXXX: Var. Cloud] Set, Rnd [0-100]
Branch if Cloud in the Party
   Branch if Var [XXXX: Var. Cloud] is 49 Less/Equal
      Variable Operation: [XXXX: Cloud HP] Set, Cloud HP
      Variable Operation: [XXX: Cloud HP] -, 1
      Change HP, Cloud's HP V[Cloud's HP] Remove

   End

End


This makes it so that the ability has a 50% chance of hitting. Change accordingly if you wish to have different hit rates!

===================================================================
XIV. Arithmetician Skills


The Arithmetician...a class from Final Fantasy Tactics that fights using numbers essentially. It's a rather unique class that I felt could be done pretty decently in 2k3. This section shows how some such formulas can be used to create your OWN arithmetician! Note that these are just examples from my rpg, and can be modified in a variety of ways.


For all skills, they must be made into Switch abilities, and have a switch corresponding the ability (if you make an ability called Level 5 Death, better make sure the switch is Level 5 Death as well!). All Common Events should be Call. Note that not all of these HAVE to be Common Events and can instead be done on monster groups tabs.


RECOVERY

Best done through Common Events. Make a Common Event and make its trigger call. Coding is below:

Code: [Select]
Branch if Spritia in the Party
   Var. Oper: [XXXX: Spiritia Lv] Set, Spiritia Level
   Var. Oper: [XXXX: Spiritia Lv] *, 50
   Change HP: Spiritia's HP V[XXXX: Spiritia Lv] Recovered

End

<!--- Repeat for each party member. -->


In the Monster Groups tab, set up a new page and have the switch be for the skill that uses this event. In the Event box, show the battle animation for the move, call the Common event, and then turn off the switch. Simple as that!


For another unique healing move, let's go with this. Name another common event say....Esuanga. Have the trigger set to Call, and put in the following:


Code: [Select]
Branch if Adol Level is 20 or more
   Change Cond: Entire Pary Poison Remove

End
Branch if Adol Level is 25 or more
   Change Cond: Entire Party Poison Remove
   Change Cond: Entire Party Blind Remove
   Change Cond: Entire Party Silence Remove

End

<!---Repeat for as many levels as needed! -->

And in the Monsters Groups tag, simply do the same thing as for the previous ability listed above. Just remember to change the switches and common event to point to this Common Event!


ATTACKING

Here's where the fun begins! For these, make sure to have an ability turn on the corresponding switches for each of these!

Let us begin with a simple one. EXP damage! Make a new page in Monster Groups, have the trigger be the corresponding skill switch, and in the Event box, type in the following:

Code: [Select]
Show Battle Animation: EXP Attack, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Marth EXP] Set, Marth Experience
Var. Oper: [XXXX: Marth EXP] /, 500
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Marth EXP] Remove
   Switch Operation: [XXXX: EXP Attack] OFF

Else Handler
   Switch Operation: [XXXX: EXP Attack] OFF

End


This essentially will do fixed damage to all enemies based on Marth's EXP divided by 500. The more EXP he has, the more fixed damage it'll do! Simple as that! The following can all be altered from the above coding to suit any needs.

CHOCOBUCKLE

Code: [Select]
Show Battle Animation: Chocobuckle, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Escape Value] Set, No. Escapes
Var. Oper: [XXXX: Escape Value] /, 3
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Escape Value] Remove
   Switch Operation: [XXXX: Chocobuckle] OFF

Else Handler
   Switch Operation: [XXXX: Chocobuckle] OFF

End



BATTLE

Code: [Select]
Show Battle Animation: Battle Attack, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Battle Value] Set, No. Battles
Var. Oper: [XXXX: Battle Value] /, 3
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Battle Value] Remove
   Switch Operation: [XXXX: Battle Attack] OFF

Else Handler
   Switch Operation: [XXXX: Battle Attack] OFF

End



ENEMY ATTACK

For the following, you'll have to repeat certain coding for every enemy. This is mainly with values dealing with enemy statistics.

Code: [Select]
Show Battle Animation: Power Strike, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Enemy ATK 1] Set, [Insert enemy] Attack
Var. Oper: [XXXX: Enemy ATK 1] *, 5
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Enemy ATK 1] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: Power Strike] OFF

Else Handler
   Switch Operation: [XXXX: Power Strike] OFF

End



DEFENSE STRIKE

Code: [Select]
Show Battle Animation: Defense Strike, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Enemy DEF 1] Set, [Insert enemy] Attack
Var. Oper: [XXXX: Enemy DEF 1] *, 5
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Enemy DEF 1] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: Defense Strike] OFF

Else Handler
   Switch Operation: [XXXX: Defense Strike] OFF

End


SPECIAL FORMULA 1

Code: [Select]
Show Battle Animation: Phantasmal Emperor, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Ramza ATK] Set, Ramza Attack
Var. Oper: [XXXX: Ramza INT]  Set, Ramza Intellect
Var. Oper: [XXXX: Phantasmal Emperor] Set, Var [Ramza Attack] Value
Var. Oper: [XXXX: Phantasmal Emperor] +, Var [Ramza INT] Value
Var. Oper: [XXXX: Phantasmal Emperor] *, 3
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Phantasmal Emperor] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: Phantasmal Emperor] OFF

Else Handler
   Switch Operation: [XXXX: Phantasmal Emperor] OFF

End



SPECIAL FORMULA 2

Code: [Select]
Show Battle Animation: Mega Ultima, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Ramza INT] Set, Ramza Intellect
Var. Oper: [XXXX: Enemy DEF 1]  Set, [Insert Enemy's Defense]
Var. Oper: [XXXX: Mega Ultima] Set, Var [Ramza Intellect] Value
Var. Oper: [XXXX: Mega Ultima] +, Var [Enemy DEF 1] Value
Var. Oper: [XXXX: Mega Ultima] *, 5
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Phantasmal Emperor] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: Mega Ultima] OFF

Else Handler
   Switch Operation: [XXXX: Mega Ultima] OFF

End


*For this particular formula, you may need up to 8 different variables for Mega Ultima to hold for each specific enemy value.



SPECIAL FORMULA 3

Code: [Select]
Show Battle Animation: Stat Break, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Ramza ATK] Set, Ramza Attack
Var. Oper: [XXXX: Ramza DEF] Set, Ramza Defense
Var. Oper: [XXXX: Ramza INT] Set, Ramza Intellect
Var. Oper: [XXXX: Ramza SPD] Set, Ramza Agility
Var. Oper: [XXXX: Stat Break] Set, Var [Ramza ATK] Value
Var. Oper: [XXXX: Stat Break] +, Var [Ramza DEF] Value
Var. Oper: [XXXX: Stat Break] +, Var [Ramza INT] Value
Var. Oper: [XXXX: Stat Break] +, Var [Ramza SPD] Value
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[Stat Break] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: Stat Break] OFF

Else Handler
   Switch Operation: [XXXX: Stat Break] OFF

End




SPECIAL FORMULA 4

Code: [Select]
Show Battle Animation: All Break, All Enemies (Wait)
Var. Oper: [XXXX: Random] Set, Rnd [0-100]
Var. Oper: [XXXX: Enemy ATK 1] Set, [Insert name] Attack
Var. Oper: [XXXX: Enemy DEF 1] Set, [Insert name] Defense
Var. Oper: [XXXX: Enemy INT 1] Set, [Insert name] Intellect
Var. Oper: [XXXX: Enemy SPD 1] Set, [Insert name] Agility
Var. Oper: [XXXX: All Break] Set, Var [Enemy ATK 1] Value
Var. Oper: [XXXX: All Break] +, Var [Enemy DEF 1] Value
Var. Oper: [XXXX: All Break] +, Var [Enemy INT 1] Value
Var. Oper: [XXXX: All Break] +, Var [Enemy  SPD 1] Value
Branch if Var [XXXX: Random] is 79 Less/Equal
   Change Monster HP: 1:Hornet's HP V[All Break] Remove

<!--- Repeat for each monster's specific values -->

   Switch Operation: [XXXX: All Break] OFF

Else Handler
   Switch Operation: [XXXX: All Break] OFF

End

===================================================================
XV. Various Blue Magics


Take note that each of these require a Skill to be a Switch and turn on the appropriate switch. All coding is done either in Common Events or in Monster Groups.



WHITE WIND

In Monster Groups Tab, make a new page and have the trigger be the skill switch (for this, name the Switch White Wind). In the Event Box, type in the following:

Code: [Select]
Var. Oper: [XXXX: White Wind] Set, Lenna HP
Show Battle Animation: White Wind, Entire Party (Wait)
Change HP: Entire Party's HP V[White Wind] Recovered
Switch Operation: [XXXX: White Wind] OFF



SELF-DESTRUCT

In Monster Groups Tab, make a new page and have the trigger be the skill switch (for this, name the switch Self-Destruct). In the Event Box, type in the following:


Code: [Select]
Var. Operation: [XXXX: Self-Destruct] Set, Leo HP
Show Battle Animation: Self-Destruct, All Enemies (Wait)
Change Monster HP: [Insert monster]'s HP V[Self-Destruct] Remove

<!--- Repeat for each monster! --->

Change HP: Leo's HP V[Self-Destruct] Remove
Change Party Members: Leo Remove
Var. Operation: [XXXX: Leo Return] Set, 1
Switch Operation: [XXXX: Self-Destruct] OFF


Make sure to set an event that is a Parallel Process on your maps that re-adds the user back to the party and sets [XXXX: Leo Return] back to 0!



BALANCE

In the Monster Groups tab, make a new page and have the trigger be the skill switch (for this, name it Balance). In the Event Box, type in the following:

Code: [Select]
Show Battle Animation: Balance, All Enemies (Wait)
Var. Oper: [XXXX: HP Value 1] Set, Link Max HP
Var. Oper: [XXXX: HP Value 1] -, Link HP
Change Monster HP: [Insert monster]'s HP V[HP Value 1] Remove

<!--- Repeat for each monster! --->

Switch Operation: [XXXX: Balance] OFF



FROG DROP

This can be changed in many, many ways. Below is just an example!

First, make a Common Event. Name it whatever (we'll name it Dolls of War here) and make the trigger Call. In the Event Box, have the following:

Code: [Select]
Branch if Doll Possessed
   Var. Oper: [XXXX: 100 Damage] Set, 100
   Var. Oper: [XXXX: 100 Damage] *, Var [Doll]'s Value

Else Handler
   Var. Oper: [XXXX: 100 Damage] Set, 100

End


This formula allows you to set damage to a specific amount, and increase it by an amount held in a variable. In this instance, the damage will be multipled by however many Dolls the player holds. So if the player has 50 dolls, the damage dealt would be 5000 fixed.


LIMIT GLOVE

In Monster Group tab, make a new page and have the trigger be the skill switch (for this, name it Limit Glove). In the Event Box, type in the following:

Code: [Select]
Show Battle Animation: Limit Glove, All Enemies (Wait)
Var. Oper: [XXXX: Quina HP] Set, Quina HP
Branch if Var [XXXX: Quina HP] is 10 Less/Equal
   Change Monster HP: [Insert monster]'s HP 9999 Remove
   Switch Operation: [XXXX: Limit Glove] OFFF

Else Handler
   Change Monster HP: [Insert monster]'s HP 1 Remove
   Switch Operation: [XXXX: Limit Glove] OFF

End
Switch Operation: [XXXX: Limit Glove] OFF
« Last Edit: September 03, 2011, 06:58:43 AM by Xenomic »

*
Rep:
Level 94
2012 Most Attractive Male MemberSecret Santa 2012 ParticipantProject of the Month winner for June 20092010 Best Counsel
This is crazy! Major respect for this. I don't make games, and I don't understand a single word of it, but it is incredible to me that this stuff makes sense to people! Good job~

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Hey there everyone! Long time no see yo! Got some new stuff for ya, thanks to several people (and to RikaPSO as well who helped me with several of these! I haven't touched up on this thing in ages (and some things need updated badly such as the new PHS system I'm using), but I'll get to those eventually....maybe. In other news, have new stuff!


===================================================================
XIV. Gil Toss

1) First, make a new Battle Command and name it Gil Toss for simplicity's sake

2) Throw this into Common Events and name the common event Gil Toss:


Code: [Select]
Variable Oper: [variable z] Set, Money //sets variable z to your money
Input Number: 7 Digit, [variable x] //stores $ in variable x
Branch if Var [variable x] is V[variable z] Greater //if your money is less than the chosen input value....
  Variable Oper: [variable x] Set, Money //set the input value to your money^
End
Branch if Money is 0 Less/Equal
  Variable Oper: [variable Y] Set, 0
  Variable Oper: [variable X] Set, 0 //sets variables to 0 so damage done is 0 if player has no money left
Else
  Change Money: V[variable x] Remove //removes money based on your input value
  Variable Oper: [variable x] / , 100 //divides variable x by 100
  Variable Oper: [variable y] Set , Character x Level //set's the character's level to variable y
  Variable Oper: [variable x] + , Var [variable y]'s Value //adds variable y to x


To prevent damage from going over 9999, if you so desire, add this little lovely coding at the end of the above coding.

Code: [Select]
Branch if Var [variable x] is 9999 Greater
   Variable Oper: [variable x] Set, 9999


Note that this formula can be messed with for various formulas.


3) Then throw this into each monster group page:


Trigger: [Cloud] uses [Gil Toss] command

Call Common Event: Gil Toss

Code: [Select]
Branch if 1: Monster1 Targeted //checks which mob your targeting with the skill
  Change Cond: Character x Inflict x //will change the animation used by the character for the moment
  Show Battle Animation: x, Monster1 //shows the animation hitting the mob -throws coin-
  Wait: 0.1 Sec //waits..
  Change monster HP: 1:Monster1's HP V[variable x] Remove //does damage based on variable x
  Change Cond: Character x Remove x //changes the animation back to normal
End



So for instance, say you choose 500 Gil, and Cloud's Level is 16, the total damage done is 21. Doesn't seem much, but hey, can always change if you need to. And to prevent the ability from doing damage when you have no money (which was the problem I was having originally with the code), changing the variables as per the second If block will make it do as such.

===================================================================
XVII. Key Item + Running



Common Event (Trigger: Parallel Process)

Code: [Select]
Branch if Switch [0001] is OFF
 Key Input Processing: Var [0001] (Set to "Equal to 7", untick

"Wait until key pressed")
 Branch if Var [0001] is 7
  Move Event: Hero, Increase Move Speed, Change Graphic
  Wait 0.2 Sec
  Switch [0001] ON
 End
End

Branch if Switch [0001] is ON
 Key Input Processing: Var [0001] (Set to "Not 7", untick "Wait until key pressed")
 Branch if Var [0001] is 7 Not
  Move Event: Hero, Decrease Move Speed, Change Graphic
  Wait 0.2 Sec
  Switch [0001] ON
 End
End

===================================================================
XVIII. Chakra

1) Make a battle command named Chakra, and make it an Event command.

2) Set the following in a Common Event, and set Common Event to Call.

Code: [Select]
Variable Oper: [variable x] Set, Char1 Max HP
Variable Oper: [variable y] Set, Party Size
Variable Oper: [variable x] / , Var [variable y]'s Value
Variable Oper: [variable x] - , 1
Change HP: Entire Party's HP V[variable x] Recovered


3) Set the following in M.Groups tabs. Set the trigger condition to if the character uses the specified command ability above.

Code: [Select]
Change Cond: Character x Inflict x //will change the animation used by the character for the moment
Show Battle Animation: x, Entire party //shows the animation for healing i guess?
Wait: 0.1 Sec //waits..
Change Cond: Character x Remove x //changes the animation back to normal

===================================================================
XIX. HP/MP+% Accessories

Make a Common Event and make it a Parallel Process (no Trigger Switch needed). Input the following code in the Event Commands box. The following code is for HP +10%. In order to make percentile accessories, multiply Maximum HP by whatever amount (for 10%, multiply by 10), and then divide the same amount by 100.

Code: [Select]
Wait: 0.1 Sec
Branch if Mario Onyx Ring Equipped
  Branch if Var [0487: Var. Mario] is 0
    Variable Oper: [0420: Mario Max HP] Set, Mario Max HP
    Variable Oper: [0420: Mario Max HP]*, 10
    Variable Oper: [0420: Mario Max HP]/, 100
    Change Statistics: Mario Max HP V[0420] Up
    Variable Oper: [0487: Var. Mario] Set, 1

  End

Else Handler
  Branch if Var [0487: Var. Mario] is 1
    Variable Oper: [0487: Var. Mario] Set, 0
    Change Statistics: Mario Max HP V[0420] Down

  End

End



Note: In order for this to work successfully for each character, you'll either need to turn on a switch for each character that equips the accessory, or for an easier way, just give each character a variable of their own. By going the variable route, the same variable can be applied to any accessories (note that for other equipment, multiple variables for the same character would be required).


===================================================================
XX. Money Ring


Make a Common event and make it a Parallel Process (no Trigger Switch needed). Next, input the following into the Event Commands box.


Code: [Select]
Branch if Link Coin Ring Equipped
  Branch if Var [0712: Moving X] is V[0714] Not
    Variable Oper: [0712: Moving X] Set, Hero X Coord.
    Variable Oper: [0714: Moving X Change] Set, Hero X Coord.
    Change Money: 1 Add

  End
     Branch if Var [0713: Moving Y] is V[0715] Not
        Variable Oper: [0713: Moving Y] Set, Hero Y Coord.
        Variable Oper: [0714: Moving Y Change] Set, Hero Y Coord.
        Change Money: 1 Add

      End

Else Handler

End

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
If anyone would be willing to, I have this tutorial hosted on my site (it's been there for years now...) and it could use some proofreading, maybe even fixing up. Again, if anyone's willing to do so...


http://xenomic.freehostia.com/Text/RPG%20Maker%202k3%20Tutorials.txt

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
Document has been updated! Lots of things added in, and more to come. Enjoy~

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic
And document finally finished...for now! There's still a couple things to revise in it, and some things aren't fully done yet. Any suggestions/help/whatever is more than welcomed! The link to the document will be in the first post, but I will still leave all of what's here....here! Just in case something happens to my site or whatnot.

**
Rep:
Level 58
Some days I dream that I exist as a mollusk.
Just asking because it's not obvious and I don't want to burn time reading something that doesn't apply to me...

What version of RPG maker is this for?

****
Touhou Fantasy Developer and all around cool person. :)
Rep:
Level 85
T.G. "Thunder God" Xenomic

*
Rep:
Level 82
Just asking because it's not obvious and I don't want to burn time reading something that doesn't apply to me...

What version of RPG maker is this for?

If you can understand the principles behind the evented system, you can pretty much implement them into the latest versions of RPG Maker. It might be that you need to make use of a script that restores some of the functionality from an earlier version that was removed in the later. I know Yanfly has such a script for RMVX. And if there is something still missing, there's a bunch of good scripters here at RMRK that can probably help out.

Even if they might not be exactly designed for your needs, don't disregard them. They might be still useful to read through.

edit:
I know you're using 2k3 (now), so this is more of a general info thing to others who might come across the thread from a search somewhere and think it's useless.
« Last Edit: February 29, 2012, 01:19:29 PM by Logan »
(Why do I always feel like it's the end of the world and I'm the last man standing?)