Questions about teleporters and activity zones

Started by sv6z2, April 29, 2018, 09:14:18 PM

Previous topic - Next topic

sv6z2

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.

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?

And finally, similar to my first question, is there a way to create custom activity zones?

Info Teddy

Quote from: Derp Department on April 29, 2018, 09:14:18 PMWhen 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 2n, 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.
Quote from: Derp Department on April 29, 2018, 09:14:18 PMOn 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
Quote from: Derp Department on April 29, 2018, 09:14:18 PMAnd finally, similar to my first question, is there a way to create custom activity zones?
yes
Quote from: Info Teddy on April 29, 2018, 03:58:38 AMdo,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).

sv6z2

#2
Quote from: Derp Department on April 29, 2018, 09:14:18 PM
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?

so about this, i managed to actually do this and not break your save data, but it might be a bit of a stretch and difficult to use practically. a demo level of how i did it is below.

it does indeed involve gamestates to make this work. 4012, 4022, 4032, 4042 are the most effective and practical to work around with what ive tested. no delays, sound effects or any irrelevant things apart from the annoying movement 
i dont know how this will be used by people, if at all, so i decided to make this post only a reply

fiq probably already knows this

EDIT 2019/11/09: Yeah this still breaks your saves. Can't believe I didn't realise at the time, but whatever. 'Ally' on the discord found a workaround. You can set the "touch" script to be:
activateteleporter()
activeteleporter()

and the teleporter will be white like it is when you normally touch it. However, the wrong animation will still play, but it doesn't matter that much. Then, you can simply use the custom activity zone trick to make a "use" script and have it teleport. No map select screen though. This is probably the closest you can get to making a working round teleporter in VVVVVV. Hopefully this will be of use to whoever comes across this post in the future.

Ally 🌠

4012 seems to be the only one that gives the press enter to teleport thing

and here, i made the bad movement thing less
existent??

level attached below