じ☆ve冰风 发表于 4 天前

Timed Spike Trap Tutorial

So a couple of us (Myself, @Frogboyand @just1witness ) figured this out to fix Frogboy's problem in support and we thought this would be handy for you guys.This is not my work but the work of 3 of us.

Its a tutorial on how to build timed spike traps. (or any kind of traps for that matter)   As far as I can tell its the most efficient way to build one especially if you are going to have many on the one map.

It cuts out

[*]the need for plugins,
[*]tracking the location of each trap via variables,
[*]Using a bunch of conditional branches for each trap
[*]and imho is a total time saver.

Here's a video of how easy it is to add a new trap without having to set co-ordinates, new variables etc...

https://www.youtube.com/embed/KJ1xgzQNRaE

Just a matter of copy and pasting the event and painting a region underneath.

Lets start with the traps themselves.They are a simple event and just require 2 pages (one on, one off).
Page one looks like...



and Page 2 looks like




So as you can see, its a simple event.In page 1, The trap is off waits 90 frames, plays a sound effect and turns on.
Page 2 the trap is on, spikes are up and again it waits 90 frames and than plays SE and turns off.

Now the fun part.Create another Parallell Process Event anywhere on the map.
Set it up as follows, its only one page.




Here we are creating and event that ONLY runs when the spike trap is on, so it must have a condition switch to match the one you set when turning the trap on in the trap events.
Now we only need 3 variables.

[*]"PlayerX"is tracking the players x coordinate on the map.
[*]"PlayerY" is tracking the player y coordinate on the map
[*]"varRegionIDtrack" is created in the underused Get Location Info section.
Here's how.

[*]Simply add the Get Location Info.
[*]When it opens set the variable to whatever number you made "varRegionIDtrack",
[*]Choose Region ID in the next dropdown menu.
[*]For location choose "Designation with Variables"
[*]Set the x: dropdown to your "PlayerX" tracking variable.
[*]Set the y: dropdown to your "PlayerY" tracking variable.
What this now means is the game is always tracking the current region ID of the co-ordinate the player is standing on and saving it to our variable "varRegionIDtrack".

From here we simply create a simple conditional branch and set it up as follows.
if the players "varRegionIDtrack" = 1, so basically if the player is standing on region 1, (our spike traps.) the event will trigger.
When the event triggers

[*]It will show the animation,
[*]remove the HP, (these are upside down in the SS but it makes no odds.
[*]Wait 20 frames (this gives the event graphic time to appear and not just flash)
[*]Finally it will turn of the switch and play the off SE. (this is hugely important so the event doesn't keep triggering for the entire 90 frames.)



本贴来自国际rpgmaker官方论坛作者:padr81处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/timed-spike-trap-tutorial.79746/
页: [1]
查看完整版本: Timed Spike Trap Tutorial