There is a section where there are moving spike traps that slide around in a fixed path but they dont hurt you. The only tips I found only work on stationary hazards. Any help would be greatly appreciated!
How do I make a moving damage floor?
● ARCHIVED · READ-ONLY
-
-
Create an event with a fixed path, set the event's priority to "below character" and the trigger to "event touch", and then add whatever you need to the content to the event. I would add a flash, a SE, and then a Hp remover for the party.
-
It mostly works but when I enter the room I started taking damage everywhere in the area. Here is the event page for the spikes. The flash screen scriot is set to wait for completion.Create an event with a fixed path, set the event's priority to "below character" and the trigger to "event touch", and then add whatever you need to the content to the event. I would add a flash, a SE, and then a Hp remover for the party.
-
1) Personally I would make the flash shorter, and wouldn't make it wait (unless you want the game to pause for the flash each time the hero gets hit).
2) How many of these events do you have? 1 event means that each time that event touches the main character, it will trigger once. It's not supposed to trigger if the event isn't below the hero. -
It mostly works but when I enter the room I started taking damage everywhere in the area. Here is the event page for the spikes. The flash screen scriot is set toI fixed the room thing I acidently made one of the triggers parallel. But now there's another problem, the hits rarely register even though I touch it. It only seems to work if I stay on it long enough.1) Personally I would make the flash shorter, and wouldn't make it wait (unless you want the game to pause for the flash each time the hero gets hit).
2) How many of these events do you have? 1 event means that each time that event touches the main character, it will trigger once. It's not supposed to trigger if the event isn't below the hero. -
Probably because it's moving too fast. Try lowering the frequency. It only triggers if the player is on the same tile, but it won't trigger if the event is in the middle of its movement between 2 tiles.
-
It works but only if my party is currently moving. If I stand idle I don't get hurt.Probably because it's moving too fast. Try lowering the frequency. It only triggers if the player is on the same tile, but it won't trigger if the event is in the middle of its movement between 2 tiles.
-
Oh wait, you want to the party to take periodic damage? Like every 1 sec if they are standing on the spikes?
-
Yeah. Also it leaves me with 1 HP instead of killing me.Oh wait, you want to the party to take periodic damage? Like every 1 sec if they are standing on the spikes?
-
For the 1 hp, just don't check the box that says "allow knockout" in the change hp command.
As for the periodic damage, that's a bit trickier. I just want to ask, how can the hero stay more than a certain amount of time on a event if the event is constantly moving? -
TheYeah. Also it leaves me with 1 HP instead of killing me.
I actually fixed the dying thing already though the answer for 2nd question, i'd say he could if he ran along with it.For the 1 hp, just don't check the box that says "allow knockout" in the change hp command.
As for the periodic damage, that's a bit trickier. I just want to ask, how can the hero stay more than a certain amount of time on a event if the event is constantly moving? -
So when you run along the event it doesn't trigger each time you move?
-
You always take damage if you touch it while moving. I just wanna make it so if you stand on the stationary spikes you'll take continuous damage over time and also take damage if a moving spike touches you while idle.So when you run along the event it doesn't trigger each time you move?
-
For the stationary spike, you should make it a parallel process event. Add a conditional branch with script as the condition, and write
Code:$gamePlayer.x == number1 && $gamePlayer.y == number2
Replace number1 by the spike x position on the map and number2 by the spike y position on the map.
Now, inside that conditional branch, add your party damage, SE if you want, and wait for the amount frames between each time the player takes damage. -
Works perfectly. Good thing the bottom of the screen tells you the coordinates or this would be brutal! For the moving spikes I suggest if the player position is equal to the events current position.For the stationary spike, you should make it a parallel process event. Add a conditional branch with script as the condition, and write
Code:$gamePlayer.x == number1 && $gamePlayer.y == number2
Replace number1 by the spike x position on the map and number2 by the spike y position on the map.
Now, inside that conditional branch, add your party damage, SE if you want, and wait for the amount frames between each time the player takes damage.