When you activate a teleporter in the main game, there is a small text box that appears at the top saying "Game saved" that disappears after a short time.
I was curious if there was a way to replicate a similar situation, where you can create a text box to appear that disappears after 'x' ticks that still allows Viridian to move freely.
using a background timer, yes. basically you use
n flags to represent a number that can go up to 2
n, and then you make a script chain (recommended to do with
do-pointers) that increments that binary number, and you use
gotoroom to keep triggering that script each tick. if you don't want it to be annoyingly noticeable, you need to make sure the room is static. that means no enemies, moving plats, or warping backgrounds that are not solid colors. if you have any of those, they will noticeably and annoyingly jitter. you can have another, standalone
gotoroom trigger to visibly freeze the room with those dynamic elements if wanted. everything will be frozen and act frozen except for horizontal gravity lines (which you can get stuck in). if you're not going to completely freeze the room like that, you can have gravity lines but make sure the player can't hit a gravity line and the increment timer trigger at the same time, and make sure players can't stand near a gravity line to stop the timer. this will still let players slow down the timer by repeatedly moving near these gravity lines. obviously, when it's done you will
endtext the
backgroundtext text box. moving between rooms will require a trigger on the boundary of the room that does
gotoroom to the adjacent room and
moveplayer to the other side of the room.
On the topic of teleporters, I was also wondering if there is a way to get teleporters into the state when you touch them normally, somewhere between "activateteleporter()" and "activeteleporter()" states. Potentially a gamestate?
not that i know of
And finally, similar to my first question, is there a way to create custom activity zones?
yes
do,32
createcrewman,-21
loop
everybodysad
createactivityzone,#
changemood,cyan,0
basically we're overflowing the activity zone id to be the activity zone of the last terminal in the room in the entity order (the last terminal to be placed in the room), and then spawning it. the number for do is 33 minus the amount of entities already in that room (the player counts as one).