<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[RM2K3 Support]]></title><description><![CDATA[RM2K3 Support]]></description><link>https://forum.electricairship.com/category/17</link><generator>RSS for Node</generator><lastBuildDate>Sat, 13 Jun 2026 06:45:17 GMT</lastBuildDate><atom:link href="https://forum.electricairship.com/category/17.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Jun 2026 17:48:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[RADAR Tutorial]]></title><description><![CDATA[<p dir="auto">Making a mini-map with your player represented is one of the earliest things we learned how to do with RPG Maker, but how would you make a mini-display that detects the location of NPCs on the map?</p>
<p dir="auto"><strong>Difficulty:</strong> High<br />
<strong>Requires:</strong> Maniacs Patch<br />
<strong>Required knowledge:</strong> Variables, a strong understanding of Basic Arithmetic</p>
<p dir="auto"><strong>You will need the following:</strong></p>
<p dir="auto">Display:<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Display.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Red Dot:<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Red_Dot.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Red Dot 2:<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Red_Dot_2.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Reticle:<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Reticle.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Set the reticle as your main party member.</p>
<p dir="auto">To start, make a 40x40 map. Why? Because that's what I'm using and that's what all of my numbers are adjusted to. Once you've learned how to do this, THEN start fiddling with numbers and map sizes.</p>
<p dir="auto"><strong>Common Event 1: Player Tracker</strong></p>
<p dir="auto">In order to track an NPC, the system needs to know where the Player Character is.</p>
<ul>
<li>Name Common Event 0001: “Player Tracker”</li>
<li>Set it to Parallel Process.</li>
<li>Do not assign a Condition Switch.</li>
</ul>
<p dir="auto">In RPG Maker 2003, a Parallel Common Event without a Condition Switch runs continuously and cannot be turned off.<br />
​</p>
<ul>
<li>In the body of Player Tracker, create Control Variable 0001: PX.</li>
<li>In Operation, tick “Set”.​</li>
<li>In Page 1 Operand, tick “Event”.​</li>
<li>In the first drop down menu, select “Player”.​</li>
<li>In the second drop down menu, select “X Coordinate”.</li>
</ul>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745880497676.png" alt="alt text" class=" img-fluid img-markdown" /><br />
[center]This sets the system to constantly track your player based on its X-axis position on the map.[/center]</p>
<ul>
<li>Next, create Control Variable 0002: PY.​</li>
<li>Repeat steps 5-7.​</li>
<li>In the second drop down menu, select “Y Coordinate”.​</li>
</ul>
<p dir="auto">This sets the system to track your player based on the Y-axis position. And this completes the Player Tracker event. Since a step counter is not required for a functional RADAR system, it is not included here, but if you were to make a step counter, you would include it in this common event.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745867819636.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto"><strong>Next, you will need an onscreen event: NPC 1</strong></p>
<p dir="auto">Since a RADAR tracks the NPCs, you will reasonably need something tracking your NPC. In the NPC's active page, set it to Parallel Process, and in the main body, repeat the process you went through creating the Player Tracker.</p>
<ul>
<li>Create Control Variable 0003: NX​</li>
<li>Create Control Variable 0004: NY​</li>
<li>Repeat steps 4-11 from the Player Tracker.​</li>
<li>Assign the Event Operand to either “This Event” or the specific NPC.</li>
</ul>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745868255621.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto"><strong>Time to Create the NPC 1 RADAR common event:</strong><br />
Start by naming Common Event 0002: “NPC 1 RADAR”, and once more setting to parallel process. Since you want to be able to turn your RADAR on and off, assign Condition Switch 0001: RADAR to this common event. Begin by setting RADAR display. You need not follow my example. You can set it to any position you like. I merely set this 31x31 image to the position 16x16 because it's easy to remember. Then set a second image at 2, your first red dot also set at 16x16.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745877892477.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Now, that the system is tracking both the Player and the NPC, we need to note the difference in location. So create Control Variable 0005: DiffX.</p>
<ul>
<li>In Operation, tick “Set”. Ignore the second drop-down menu; it should say "Or".</li>
<li>In Operand, page 3, set drop-down to “Sub”.</li>
<li>Set both Arg to “Variable” in their drop-down menus.​</li>
<li>Set Arg1 to “3”, “0003: NX”.</li>
<li>Set Arg2 to “1”, “0001: PX”.</li>
</ul>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745882110574.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">The reason you're setting NPCX to the first argument and PX to the second is because NX is what you're tracking. You're not trying to find out how far you are from it, but rather how far it is from you.</p>
<p dir="auto">At this point, your first thought is to simply make DiffY now and try to track positioning with a nested Conditional Branch that is tracking both DiffX and DiffY, but this won't work. The reason is that no matter what you do, it will never track both at the same time. It will first check whichever Condition it meets first, and then check the second condition, in order, so it will only ever display the second condition. If the first condition is DiffX, and the second condition is DiffY, then your RADAR will only ever display the Y position and never the X position, and vice versa.</p>
<p dir="auto">Control Variable 0006: DiffY is, indeed, your next step, but what you're using it for will be a bit more complicated. Create it the same way.</p>
<ul>
<li>For 0006: DiffY, follow DiffX steps 1-3.</li>
<li>Set Arg1 to “4”, “0004: NY”.</li>
<li>Set Arg2 to “2”, “0002: PY”.</li>
</ul>
<p dir="auto">At this point, your NPC 1 RADAR common event should look like this:<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/1745882223794.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Now, it's time to actually start tracking this on the screen. We're going to go through the entire process before showing anymore pictures.</p>
<ul>
<li>Create Control Variable 0007:R-Dot_OffsetX.​</li>
<li>In Operation, tick “Set”.</li>
<li>In Operand, page 1, tick “Variable” and select 0005: DiffX.</li>
</ul>
<p dir="auto">Next command:<br />
​</p>
<ul>
<li>Set your DiffX positioning: Make another Control Variable using 0005: DiffX.</li>
<li>In Operation, tick “Mul”.</li>
<li>In Operand, tick “Constant” and input 6.​</li>
<li>Make another Control Variable using 0006: DiffY, and in Operation, tick “Div”.</li>
<li>In operand, tick “Constant” and input 15.</li>
<li>Create a third one of these, and set it to "Sub", 1.​</li>
</ul>
<p dir="auto">This is setting the range of the Dot based on a scale to the size of the screen. Larger numbers are better since they're more precise. *11/33is better than *1/3, etc. The -1 is being used to compensate for a strange offset in which, if the display is on the left of the map, the dot will want to go slightly off of the left side. And if it's on the right of the map, it'll want to go off the right side. The same issue exists with the Y-axis. If the RADAR display were in the center of the Screen, this wouldn't be an issue.</p>
<ul>
<li>Repeat all of this 0008:R-Dot_OffsetY, setting all variables to 0008:R-Dot_OffsetY and DiffY.</li>
</ul>
<p dir="auto">Now, it's time to start actually positioning the dot. There are four control variables using the final two variables in our system.</p>
<ul>
<li>Create Control Variable 0009:R-Dot_ScreenX.</li>
<li>In Operation, page 1, tick “Set”.</li>
<li>In Operand, tick “Constant”.​</li>
<li>Set constant to 17.</li>
<li>Repeat Control Variable 0009:R-Dot_ScreenX.​</li>
<li>Operation, page 1, “Add”.</li>
<li>Operand, Variable 0005: DiffX</li>
<li>Finally, two more Control Variables; Control Variable 0010:R-Dot_ScreenY.</li>
<li>Repeat steps 12-17, switching all variables for the Y variable.</li>
</ul>
<p dir="auto">This sets the position of the graphic. Since the RADAR display is 31x31, and we are using a 30x30 range, and since these are set at 16 pixels, which assumes 32x32, from the borders, I initially thought that the center should be 16 for each variable. However, in practice, it's off by one, so 17 centers the dot on the screen. No matter where you start on the screen, the dot will always follow the NPC so it will only be in the middle if you are in the same space as the NPC.​</p>
<ul>
<li>Move Picture command, Picture two:</li>
<li>Display position, in the drop-down menu, Variable.</li>
<li>In the second drop-down menu, Center.​</li>
<li>In the first Variable option, 0009:R-Dot_ScreenX.​</li>
<li>In the second option, 0010:R-Dot_ScreenY.</li>
<li>Set wait time to zero.</li>
<li>And finally put a wait command 0.0 at the end to take care of any errors.</li>
</ul>
<p dir="auto">Finally, we can show an image of what's going on.​</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745887210245.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Now, in practice, you're going to notice something. On a 40x40 map, if the NPC is in the middle, and you go out to the edge, her dot's going to stay within the middle to secondary area of that RADAR screen. This is because her position is scaled against yours and you can only get half of the full distance from her. Once she's at the edge of the map, only then will you see her go all the way to edge. Because of this, not only does the RADAR give you her direction, but her general vicinity on the map. But let's say that you'd like to target her and you want to know when you're on the money! Well, that's where the little plus sign dot comes in. Open the NPC's event, and let's get to work. There's only thing left to do, and you can use a nested conditional branch for this one.</p>
<ul>
<li>Beneath your NPC tracking variables, create a conditional branch: If variable 0001: PX equals variable 0003: NX.​</li>
<li>Inside of that branch, create a second branch: If variable 0002: PY equals variable 0004:NY.</li>
<li>Now, simply show picture 3, Red Dot 2.​</li>
<li>In both else handlers, place the command, Erase Picture: 3.</li>
</ul>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/1745887732231.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">I did make a video, but you can barely see the RADAR.</p>
<p dir="auto">I have attached the project file.</p>
<p dir="auto">vvvvvvvvvvvvvvvvv<br />
<a href="https://rpgmaker.net/media/content/users/40682/locker/RADAR_Tutorial.zip" rel="nofollow ugc">RADAR Tutorial.zip</a><br />
^^^^^^^^^^^^^^^^^^</p>
<p dir="auto">Note: An RMN user suggested that in a larger process, NPCs should be tracked via parallel process in common events, and I would agree, except in the game I was making this for was using the RADAR for space ship combat.</p>
<p dir="auto">Essentially, you would use the same parallel process logic, but in a common event tracking all the NPCs, which would simplify processing by streamlining it in a single event, and leave you free to event the NPCs however you like. I mention this because that is absolutely a better approach and I would have loved to use it. But for what I made, it wasn't a viable approach.</p>
<p dir="auto">There was a glitch I encountered where trying to track them via a separate parallel process that DID work, but I couldn't, no matter how hard I tried, get the weapons interactions to work properly. No matter what I did, it kept glitching badly. Here was what I said in reply:</p>
<p dir="auto">This RADAR took a week and a half, maybe more of experimentation, and forcing things to work. It was made for a spaceship combat game. In that, I don't need to interact with the NPC. I need it to react when I touch it so I know I'm locked on, and then I need it to blow up with a key reaction. That all works best with parallel processes, so there's nothing to interact with. In that situation, having the NPCs control the parallel processes themselves makes them easier to keep track of.</p>
<p dir="auto">In short, for a system like that, I still wouldn't follow this suggestion, largely because I tried it, and the logic became too complicated to handle in a short game jam. When you need key activations to work, with this process, it becomes too difficult to differentiate the NPCs, and what I found was that no matter what I did, one of three things would happen:</p>
<ol>
<li>Targeted NPC would blow up properly, but the other NPCs would unspawn.</li>
<li>Targeted NPC would blow up properly, but the other NPCs would no longer be interactable (but still actively firing on you! Unwinnable combat.)</li>
<li>All NPCs would freeze the moment I used the key command. (This was least common)</li>
</ol>
<p dir="auto">However, there are scenarios in which you would want to target the NPC and then interact with them. For that, your method would be fine, because that's not a key command. If you've got an external parallel process tracking the NPC and you just want to go up and talk to them, that shouldn't interfere with anything. (And I tested that! When I ran the external parallel process, and I just had the space ships run text that says "I'm supposed to blow up, now!", that worked just fine. But when I wanted to make them do actually do it, I couldn't make it work right.)</p>
]]></description><link>https://forum.electricairship.com/topic/55/radar-tutorial</link><guid isPermaLink="true">https://forum.electricairship.com/topic/55/radar-tutorial</guid><dc:creator><![CDATA[pianotm]]></dc:creator><pubDate>Fri, 12 Jun 2026 17:48:19 GMT</pubDate></item><item><title><![CDATA[Dynamic Lists and Indexes (2K&#x2F;3)]]></title><description><![CDATA[<p dir="auto">Dynamic Index/List in 2000/2003</p>
<p dir="auto"><strong>Prerequisites:</strong> Understanding of the use of Switches.</p>
<p dir="auto"><strong>Difficulty:</strong> Very Easy</p>
<p dir="auto"><strong>Examples of Use:</strong> A bestiary that updates with new encounters. A list of important NPCs that updates as you meet new people. A quest journal that updates as you acquire and complete missions.</p>
<p dir="auto">Dynamic - /dīˈnamik/ (of a process or system) characterized by constant change, activity, or progress.</p>
<p dir="auto">I will be showing you how to make a dynamic list that the player can access at any point during the game. I will be teaching this system by explaining how I made a bestiary in my most recent game.</p>
<p dir="auto"><strong>What you will need:</strong></p>
<ol>
<li>A sufficient number of switches to match the number of objects you want to list. I set aside two pages of switches for this and up to this point, have only used half of a page. If I continue development on this game, I expect to use most of the rest, and could go over.</li>
<li>An equivalent number of extra slots in the Actor menu to list the names of the objects.</li>
<li>One variable for the Key Input function.</li>
<li>Two common events.</li>
</ol>
<p dir="auto"><strong>Procedure:</strong></p>
<p dir="auto">Start by creating your main common event, the actual list you want the player to access. Set it to parallel process. You can decide whether or not to tie it to a switch. I didn't care when the player was able to access, so I didn't use a switch.</p>
<p dir="auto">Set Key Input Processing and create a variable for it. You can set it to any key you want, but I recommend a key that the player doesn't use in normal gameplay. I chose the NUM1 key. In Key Input Processing, the numbers are assigned values of 10-19, with 10 being the NUM0 key, and 19 being the NUM9 key. So, NUM1 would be 11 in Key Input Processing. This is called by your variable.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/List_Key_Input_Processing.png%5B/img%5D" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Your common event should looks something like this.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/List_Common_Event_1.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">I'm assuming that you have created all of the objects you want to list. In the case of the bestiary example being used here, that would be creatures in the enemies list of your database. In your Actor Menu, simply list all of these objects.</p>
<p dir="auto">As follows:</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/Actor_List.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Back in your main common event, create a conditional branch. Set that conventional branch to trigger on your Key Input variable. I set it to look for NUM1, so I set it to 11. Inside this conditional branch, you can handle the details however you like, however, here are the important details:</p>
<p dir="auto">The player has to have a way to select specific entries. The easiest way is the “Show Choices” function, which is what I used. I made this manageable by assigning creatures to specific regions, so that there would be only three or four creatures to a region. This let me put the regions in their own “Show Choices” menu. In the show choices menu for the actual objects, don't list the object names directly. Instead list their Actor tags. So for choice one, based on my pictures, it would be \n&lsqb;&lsqb;]6[&rsqb;&rsqb;, then for choice two, \n&lsqb;&lsqb;]7[&rsqb;&rsqb; and so on. This way, if the name changes in the database, it will also change in your list.</p>
<p dir="auto">In each choice selection for the object, place a conditional branch set to trigger if your object switches are on. So if you've done a bestiary in the manner I've suggested, you'd have something like this.</p>
<pre><code>Show Choices
Region 1
&gt;Show Choices
&gt;&gt;\n[6]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[7]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[8]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[9]
&gt;&gt;&gt;Condtional Branch
Region 2
&gt;Show Choices
&gt;&gt;\n[10]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[11]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[12]
&gt;&gt;&gt;Condtional Branch
&gt;&gt;\n[13]
&gt;&gt;&gt;Condtional Branch
</code></pre>
<p dir="auto">Etc. etc.</p>
<p dir="auto"><strong>To be clear:</strong> These are your list entries. Show Choice option&gt;actor tag&gt;conditional branch. Every time. Consistency and repetition is key, here. This is a list, after all.</p>
<p dir="auto"><strong>Individual Entries:</strong></p>
<p dir="auto">With each object you add to the list, assign a switch to that specific object and include it in each of your conditional branches for the list entries.</p>
<p dir="auto">Meets a new NPC – Trigger a switch specific to that NPC in the initial dialogue event.<br />
Encounters a new enemy – In Troop Events, have an event set to turn 1 and trigger a switch specific to that enemy.</p>
<p dir="auto">Each unique object must have its own switch, and you must turn that switch on during the initial encounter. In addition, whenever you turn on a switch, immediately after, use the Call Event command to call the second common event that we'll be creating below.</p>
<p dir="auto">For each entry in your show choices list, create a conditional branch and provide details in that branch. Here's an example of an entry from my bestiary.</p>
<pre><code>@&gt; Conditional Branch: S[0041:Soma] == ON
  @&gt; Show Picture: 100, SomaFile, (160, 120), 100, 0%, M6, B0, RGBS(100,100,100,100)
  @&gt; Key Input Processing: V[0014:Get Key], (W) { Shift, }
  @&gt; Conditional Branch: V[0014:Get Key] == 7
    @&gt; Erase Picture: 100
    @&gt; Show Picture: 100, SomaFile2, (160, 120), 100, 0%, M6, B0, RGBS(100,100,100,100)
    @&gt; Key Input Processing: V[0014:Get Key], (W) { Shift, }
    @&gt; Conditional Branch: V[0014:Get Key] == 7
      @&gt; Erase Picture: 100
      @&gt;
     : Branch End
    @&gt;
   : Branch End
  @&gt;
 : Else
  @&gt; Text: You have not yet encountered this creature.
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">In this example, I checked to see if I had encountered an enemy, the Soma. If the switch is on, I show a picture (the creature's description), use the Key Input function to wait for the SHIFT key, display a second picture (the creature's stats), and wait for the shift key to completely end the process and let the player continue on their way. If the switch is not on, you get a message telling you the object is unknown.</p>
<p dir="auto">Here is a screencap of mine where you can see one whole entry and most of a second.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/List_Common_Event_1_3.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">Just rinse and repeat. For each show choice option, make sure it's name is an Actor tag, and just keep repeating these conditional branches.</p>
<p dir="auto">This, on its own, is enough to create your list. You can simply add choices and entries to this common event as you need to. You're done with it. However, so far, there's no way to hide the names of your objects. This is why we did this with the Actor tab. Events contain a function to change actor names.</p>
<p dir="auto">Create a second Common Event that updates your list. Name this whatever you want. I named mine “Animal Handling”. Whatever it is, just name this something that reminds you that you're using it to update your list. Set it to “none”. This is an event that gets called. In every instance where you turn on a switch for your list, immediately after, call this event.</p>
<ol>
<li>Talk to new NPC&gt;Switch on&gt;Call Update Event</li>
<li>Encounter new enemy&gt;Switch on&gt;Call Update Event</li>
<li>Etc.</li>
<li>Etc.</li>
</ol>
<p dir="auto">In the Update Event, every entry, once again, gets its own conditional branch. Once again, it's waiting to see if you've turned that object switch on.</p>
<p dir="auto">In that conditional branch, if the switch is on, change the name of the associated Actor to its correct name. Else, change the name of the associated Actor to “???”.</p>
<pre><code>@&gt; Conditional Branch: S[0041:Soma] == ON
  @&gt; Change Actor Name: [0006:Soma], Soma
  @&gt;
 : Else
  @&gt; Change Actor Name: [0006:Soma], ???
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">That's it. Every entry should look like that. Your update event is just a list of conditional branches that are checking to see if every switch is on and is changing the names. If you're using actor tags, this will be reflected in the list the player sees.</p>
<p dir="auto">Except for names, your Update Event should look exactly like this.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/List_Common_Event_2.png" alt="alt text" class=" img-fluid img-markdown" /></p>
<p dir="auto">And that is it. We're done. In action, it will look like this.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Bestiary1.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Bestiary2.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Bestiary3.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Bestiary4.png%5B/img%5D%5Bimg%5D/media/content/users/40682/locker/Bestiary5.png" alt="alt text" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.electricairship.com/topic/53/dynamic-lists-and-indexes-2k-3</link><guid isPermaLink="true">https://forum.electricairship.com/topic/53/dynamic-lists-and-indexes-2k-3</guid><dc:creator><![CDATA[pianotm]]></dc:creator><pubDate>Fri, 12 Jun 2026 17:00:05 GMT</pubDate></item><item><title><![CDATA[Traps and Trapfinding in RPG Maker 2003 (system agnostic)]]></title><description><![CDATA[<p dir="auto">Trap Setting</p>
<p dir="auto">THIS TUTORIAL ASSUMES THAT YOU UNDERSTAND BASIC EVENTING AND IF I TELL YOU SOMETHING LIKE, CREATE A MOVE ACTION, YOU WILL KNOW WHAT I'M TALKING ABOUT.</p>
<p dir="auto">Should work with all RPG Makers. When making traps in any game setting, there are specific questions that need to be asked.</p>
<ol>
<li>Where are the traps?</li>
<li>Are the traps detectable?</li>
<li>Can they be disabled?</li>
<li>Can they be avoided?</li>
<li>What happens when they're triggered?</li>
</ol>
<p dir="auto">For this tutorial, we'll assume that questions 2, 3, and 4 are all answered “yes”. Traps are extremely simple to make. Ideally, they should be placed on a path in such a way that they cannot be bypassed without finding another route. For gameplay purposes, consider making it impossible to progress without encountering the trap. There are plenty of variations on making a trap. I'm going to show you the method I am currently using.</p>
<p dir="auto">It requires two events: the detection event, which is the point on the map in which your protagonist will either see or fail to see your trap, and the second is the trap itself.</p>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/Placement.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Corridor with trap.</em></p>
<p dir="auto">In this first image, I show how a standard trap setup. At the top is the transfer event for another map. If you want to get to that map, you're going to have to get by my trap, Mr. or Mrs. Protagonist! It's not as easy as it sounds! For this tutorial, I've limited you to the mercy of the Random Number Gods! Your skills mean nothing! Success or failure is entirely predicated on how the dice land! Mwahahahaha!!!<br />
But you will need two variables and four switches, if you dare! You will also need a fifth switch if you want to use the optional enhancement item, but you'd be a fool to try, mortal!</p>
<p dir="auto">Variables:</p>
<ol>
<li>Random Number</li>
<li>Trap Damage<br />
Switches:</li>
<li>Trap Spotted</li>
<li>Trap Found</li>
<li>Trap Not Found</li>
<li>Trap Disabled</li>
<li>(Optional) Rogue Kit</li>
</ol>
<p dir="auto"><strong>The Optional Item</strong><br />
For this method of adding a trap finding/disabling bonus, this has to be a found item, there should be only one example of it, and finding it should be set to activate the Rogue Kit switch. There are likely better ways of doing this, but this was just the really easy way I came up with that most directly works with the laid out trap finding and disabling method.</p>
<p dir="auto"><strong>Spotting the Trap</strong><br />
Let's start with the bottom event; the Trap Detection event. This is painfully simple, it's a single switch.</p>
<ol>
<li>Set the first page to Player Touch in the trigger condition.</li>
<li>The event priority should default to “below characters”, but just check to make sure it's set to that.</li>
<li>In contents, create a switch, and call it Trap Detection or whatever you like.</li>
<li>Turn Trap Detection on.</li>
<li>Create a second page that is triggered by Trap Detection, and forget about it.<br />
This is exclusively seeing if you detect the trap or not. How that is done is going to be in the trap itself.</li>
</ol>
<p dir="auto"><img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Spotted.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>And the next page is blank.</em></p>
<p dir="auto"><strong>Before Setting the Trap</strong><br />
In Age of Myth, I currently had seven traps placed before I decided to create an item that grants a bonus to trap finding and disabling. The item cannot be purchased and only exists in a single location, so I simply turned on a switch upon finding the item. This meant altering my trap detection parameters. I will include that in the tutorial so that you don't find yourself having to go back and make sure all of your traps are corrected like I did. Again, there's a few ways to do this, but I decided that my trap system is simple enough that I didn't want to tie this item to another conditional branch. I basically didn't feel like rewriting the events.</p>
<p dir="auto"><strong>Setting the Trap</strong><br />
Time to work on our trap event.</p>
<ol>
<li>
<p dir="auto">Create a new event and set its trigger to Parallel Process.</p>
</li>
<li>
<p dir="auto">Set your first page to be activated on Trap Detection. This way, the parallel process doesn't run the second you enter the map.</p>
</li>
<li>
<p dir="auto">In contents, create a variable called “Random Number”. You will be able to use this for every trap, and anything else that needs a random number generator.</p>
</li>
<li>
<p dir="auto">In this event, tick Set in Operation, and for Random, choose 1 through 4.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Creating your Random Number Generator.</em></p>
</li>
<li>
<p dir="auto">After creating the Random Number variable, create a conditional branch.</p>
</li>
<li>
<p dir="auto">In this conditional branch, tick “variable” and select your Random Number variable. Set it as Equal to 1. Untick the condition handling box at the bottom.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection_2.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Setting your trap detection method.</em></p>
</li>
<li>
<p dir="auto">Copy and paste this three times so that you have four conditional branches.</p>
</li>
<li>
<p dir="auto">Set the other four to 2, 3, and 4 respectively.</p>
</li>
<li>
<p dir="auto">In the first, create a message that you've found the trap! Then create a switch called “Trap Found” and turn it on.</p>
</li>
<li>
<p dir="auto">In the next conditional branch create a switch named “Trap Not Found” and turn it on. In the two remaining conditional branches, copy paste your Trap Not Found switch.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection_3.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Congratulations! Your protagonist has a 25 percent chance of spotting a trap.</em></p>
</li>
<li>
<p dir="auto">Copy this page, and press the Paste Page function.</p>
</li>
<li>
<p dir="auto">Add your trap finding item switch to the switch triggers for this page as the second switch. Add a conditional branch that successfully finds the trap.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection_4.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Congratulations! Your protagonist's chance of spotting a trap has improved.</em></p>
</li>
</ol>
<p dir="auto">Now, your protagonist is fully capable of spotting the trap. Now, let's figure out what happens. We will start with what happens if the trap is found. Okay, this is a long procedure. If you feel you've missed a step, refer to the event code that I'll be placing below.</p>
<ol>
<li>
<p dir="auto">Create a new page, give your trap a sprite, set it to its untriggered appearance and make sure the priority is set to same as character.</p>
</li>
<li>
<p dir="auto">Set the Condition to your “Trap Found” switch and set the Trigger to Action Button.</p>
</li>
<li>
<p dir="auto">Ask your character if he or she wants to disable or find another way, and give them a choice. Obviously, they'll have to choose to disable the trap before proceeding, so put all handling in that choice, and leave the other choice blank.</p>
</li>
<li>
<p dir="auto">Remember your Random Number variable? Call it and set it once again to 1 through 4.</p>
</li>
<li>
<p dir="auto">As before, we'll be creating four conditional branches and setting the first one as our success handler. So let's get into that one.</p>
</li>
<li>
<p dir="auto">You want something to happen once the disable attempt is made, so in your success handler, simply create a move action that sets the trap to through on and another move action to move the character up and onto the trap. You might also consider awarding them experience.</p>
</li>
<li>
<p dir="auto">Create a switch called “Trap Disabled” and turn it on.</p>
</li>
<li>
<p dir="auto">The remaining conditional branches are our failure handlers and they will all have identical commands.</p>
</li>
<li>
<p dir="auto">Again, move the character up and onto the trap, but this time, create a move action for the trap to change to its triggered sprite, and move the player back off of the trap.</p>
</li>
<li>
<p dir="auto">Since this is on the same page, paranoia has me always making a new random number variable. Name this one Trap Damage and set it to 0 through 4 (the 0 is because I also give the character a chance to dodge the trap and avoid taking damage. This is entirely up to you.).</p>
</li>
<li>
<p dir="auto">Create five conditional branches looking for the Random Number variable, equal to 0 through 4.</p>
</li>
<li>
<p dir="auto">In Conditional Branch 0, simply give a message saying that the character dodged.</p>
</li>
<li>
<p dir="auto">In Branches 1 through 4, Change HP: Entire Party: -1 through -4.</p>
</li>
<li>
<p dir="auto">Set the trap to through on and turn on your “Trap Disabled” switch.</p>
</li>
<li>
<p dir="auto">Copy paste this whole process in the remaining Conditional Branches.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection_5.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Your Protagonist's health depends on success or failure.</em></p>
</li>
<li>
<p dir="auto">As previously, you can copy paste this page to create a new handler for special trap finding item.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Detection_6.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>We'd all like an improved chance at avoiding damage, wouldn't we?</em></p>
</li>
</ol>
<p dir="auto">Now that we've figured out what to do if you find the trap, what happens if you don't find the trap? Well, what would you see if you didn't find something? Absolutely nothing so if your random number generator doesn't find the trap, the player should have no indication that the trap is there until they've stepped on it.</p>
<ol>
<li>
<p dir="auto">Create another page and make the Condition your Trap Not Found switch.</p>
</li>
<li>
<p dir="auto">For this, you can simply copy paste the conditions of one of your failed conditional branches from the previous page.<br />
<img src="https://rpgmaker.net/media/content/users/40682/locker/Trap_Triggered.png" alt="alt text" class=" img-fluid img-markdown" /><br />
<em>Of course, just not spotting the trap isn't very good for your Protagonist, either.</em></p>
</li>
<li>
<p dir="auto">Create one last page, and set its condition to your Trap Disabled switch. Make sure its priority is “Below Characters” and that it is set to action button. Leave this page empty. The trap is set.</p>
</li>
</ol>
<p dir="auto">Alright. To make sure you've got this straight, I am placing the contents of the events below for reference. Apparently, placing this within a hide tag was not an option. I am terribly sorry about that. But, the two events are divided into quotes so they can be distinguished from each other.</p>
<p dir="auto">Detection Event:<br />
Page 1: Player Touch, Below Characters.<br />
Conditions: none</p>
<pre><code>@&gt; Control Switches: [0001:Trap Spotted] = ON
</code></pre>
<p dir="auto">Page 2: Action Button, Below Characters.<br />
Conditions: Trap Spotted is ON.<br />
Contents: Empty</p>
<p dir="auto">Trap Event:<br />
Page 1: Parallel Process, Below Characters<br />
Conditions: Trap Spotted is ON.</p>
<pre><code>@&gt; Control Variables: [0001:Random Number] = Random No. (1...4)
@&gt; Conditional Branch: Variable [0001:Random Number] == 1
  @&gt; Text: YOU'VE SPOTTED A TRAP!
  @&gt; Control Switches: [0002:Trap Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 2
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 3
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 4
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">Page 2 (OPTIONAL): Parallel Process, Below Characters<br />
Conditions: Trap Spotted is ON. Rogue Kit switch is ON.</p>
<pre><code>@&gt; Control Variables: [0001:Random Number] = Random No. (1...5)
@&gt; Conditional Branch: Variable [0001:Random Number] == 1
  @&gt; Text: YOU'VE SPOTTED A TRAP!
  @&gt; Control Switches: [0002:Trap Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 2
  @&gt; Text: YOU'VE SPOTTED A TRAP!
  @&gt; Control Switches: [0002:Trap Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 3
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 4
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0001:Random Number] == 5
  @&gt; Control Switches: [0003:Trap Not Found] = ON
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">Page 3: Action Button, Same as Characters<br />
Conditions: Trap Found is ON</p>
<pre><code>@&gt; Text: Attempt to disable or find another
 :         : way?
@&gt; Show Choices: Disable, Find another way
 : When [Disable]
  @&gt; Control Variables: [0001:Random Number] = Random No. (1...4)
  @&gt; Conditional Branch: Variable [0001:Random Number] == 1
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Text: Success!
     :         : Gain 50 XP.
    @&gt; Control Variables: [0016:Leveling] += 50 
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 2
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 3
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 4
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt;
 : When [Find another way]
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">Page 4 (Optional): Action Button, Same as Characters<br />
Conditions: Trap Found is ON, Rogue Kit is ON</p>
<pre><code>@&gt; Text: Attempt to disable or find another
 :         : way?
@&gt; Show Choices: Disable, Find another way
 : When [Disable]
  @&gt; Control Variables: [0001:Random Number] = Random No. (1...5)
  @&gt; Conditional Branch: Variable [0001:Random Number] == 1
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Text: Success!
     :         : Gain 50 XP.
    @&gt; Control Variables: [0016:Leveling] += 50 
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 5
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Text: Success!
     :         : Gain 50 XP.
    @&gt; Control Variables: [0016:Leveling] += 50 
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 2
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 3
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt; Conditional Branch: Variable [0001:Random Number] == 4
    @&gt; Set Move Route: This Event, Through ON
    @&gt; Set Move Route: Player, Move Up
    @&gt; Wait for All Movement
    @&gt; Play SE: 'Slash9', 80, 100, 50
    @&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
    @&gt; Wait for All Movement
    @&gt; Set Move Route: This Event, Turn Right
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up
    @&gt; Wait: 0.2 seconds
    @&gt; Set Move Route: This Event, Turn Up, Turn Left
    @&gt; Wait: 0.2 seconds
    @&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
    @&gt; Text: AAAHH!!!
    @&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
      @&gt; Text: Successfully evaded.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
      @&gt; Change HP: Entire Party, - 1
      @&gt; Text: You take 1 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
      @&gt; Change HP: Entire Party, - 2
      @&gt; Text: You take 2 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
      @&gt; Change HP: Entire Party, - 3
      @&gt; Text: You take 3 damage.
      @&gt;
     : Branch End
    @&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
      @&gt; Change HP: Entire Party, - 4
      @&gt; Text: You take 4 damage.
      @&gt;
     : Branch End
    @&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
    @&gt; Wait for All Movement
    @&gt; Control Switches: [0004:Trap Disabled] = ON
    @&gt;
   : Branch End
  @&gt;
 : When [Find another way]
  @&gt;
 : Branch End
</code></pre>
<p dir="auto">Page 5: Player Touch, Below Characters<br />
Conditions: Trap Not Found is ON</p>
<pre><code>@&gt; Set Move Route: This Event, Through ON, Turn Down, Change Graphic...
@&gt; Wait for All Movement
@&gt; Play SE: 'Slash9', 80, 100, 50
@&gt; Set Move Route: Player, Direction Fix ON, Jump , Move Down, Move Down, Land , Direction Fix OFF
@&gt; Wait for All Movement
@&gt; Set Move Route: This Event, Turn Right
@&gt; Wait: 0.2 seconds
@&gt; Set Move Route: This Event, Turn Up
@&gt; Wait: 0.2 seconds
@&gt; Set Move Route: This Event, Turn Up, Turn Left
@&gt; Wait: 0.2 seconds
@&gt; Change Faceset: 'Hero Face 3', 1, Left, No Flip
@&gt; Text: AAAHH!!!
@&gt; Control Variables: [0002:Trap Damage] = Random No. (0...4)
@&gt; Conditional Branch: Variable [0002:Trap Damage] == 0
  @&gt; Text: Successfully evaded.
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0002:Trap Damage] == 1
  @&gt; Change HP: Entire Party, - 1
  @&gt; Text: You take 1 damage.
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0002:Trap Damage] == 2
  @&gt; Change HP: Entire Party, - 2
  @&gt; Text: You take 2 damage.
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0002:Trap Damage] == 3
  @&gt; Change HP: Entire Party, - 3
  @&gt; Text: You take 3 damage.
  @&gt;
 : Branch End
@&gt; Conditional Branch: Variable [0002:Trap Damage] == 4
  @&gt; Change HP: Entire Party, - 4
  @&gt; Text: You take 4 damage.
  @&gt;
 : Branch End
@&gt; Set Move Route: This Event, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic..., Wait, Change Graphic...
@&gt; Wait for All Movement
@&gt; Control Switches: [0004:Trap Disabled] = ON
</code></pre>
<p dir="auto">Page 6: Action Button, Below Characters.<br />
Conditions: Trap Disabled is ON.<br />
Contents: Empty</p>
]]></description><link>https://forum.electricairship.com/topic/44/traps-and-trapfinding-in-rpg-maker-2003-system-agnostic</link><guid isPermaLink="true">https://forum.electricairship.com/topic/44/traps-and-trapfinding-in-rpg-maker-2003-system-agnostic</guid><dc:creator><![CDATA[pianotm]]></dc:creator><pubDate>Thu, 11 Jun 2026 18:54:34 GMT</pubDate></item></channel></rss>