Couldn’t find a specific guide on this that works with classic tag, (others only work with infection or with a permanent tagger), so decided to make one!
This is for ‘Single Tagger’ tag, where you only have 1 tagger. No infections or anything. Just when a tagger tags, the person tagged becomes ‘it’.
Supplies
You will need the following:
1x Lifecycle
1x Repeater
2x Relays
3x Triggers
1x Tag Zone
2x Counters
2x Properties
And some time!
Sorry if this is unnecessarily complicated, I’m still quite new to GimKit creative. There may be a simpler way out there that works just fine, but I found this to work!
Also, you may want to label your devices, as there will be a lot of them.
Property Settings:
Lifecycle:
Event Game Start
Repeater:
1s interval
Stop after receiving on channel
Relay 1 (runner team relay):
Specific team audience to Team 1 (or whatever team is running)
Relay 2 (tagger team relay [post tag]):
Specific team audience to Team 2 (or whatever team is tagging)
Trigger 1 (stop repeater trigger):
No delay
Invisible and collisions off
Global scope
Can only be triggered once
Any team trigger
Trigger 2 (no delay trigger):
When triggered transmit on [trigg]
Trigger when receiving on [trigg]
No delay
Invisible and collisions off
Player scoped
Any team trigger
Trigger 3 (delayed trigger):
When triggered transmit on [trigg]
Trigger when receiving on [trigg]
1s delay
Invisible and collisions off
Player scoped
Any team trigger
Blocks! (we’ll get into that later)
Tag Zone:
Team 2 taggers (keep teams consistent)
No respawn when tagged
Counter 1 (seconds counter):
0 starting value
Invisible
Player scoped
Update ‘seconds’ property
No target value
Counter 2 (tags counter):
0 starting value
Invisible
Player scoped
Update ‘tags’ property
No target value
Property 1 (seconds):
Name, Seconds (or whatever you want)
Number data type
Defaults at 0
Player scoped
Property 2 (tags):
Name, Tags (or whatever you want)
Number data type
Defaults at 0
Global scope
Wires:
Lifecycle > Repeat – Event occurs, start repeater
Repeater > Relay 1 (runner team relay) – Repeater runs, trigger relay
Relay 1 (runner team relay) > Seconds counter – Relay trigger, increment counter
Tag Zone > Relay 2 (tagger team relay [post tag]) – Player gets tagged, Trigger relay
Tag Zone > Trigger 1 (stop repeater) – Player gets tagged, trigger
Relay 2 (tagger team relay [post tag]) > Trigger 2 (no delay trigger) – Relay trigger, deactivate trigger
Trigger 1 (stop repeater) > Repeater – Triggered, Stop repeater
Trigger 2 (no delay trigger) > Trigger 3 (delayed trigger) – Triggered, trigger
Trigger 3 (delayed trigger) > Trigger 2 (no delay trigger) – Triggered, trigger
Trigger 3 (delayed trigger) > Relay 1 (runner team relay) – Triggered, trigger relay
Blocks
Trigger 3 uses blocks. Here is the block used!
Additionally, I have been informed that a more memory efficient way of doing this exists with a checker. Please do note this!
How and why this works
This section will explain how everything works in my mechanism and why it needs to be there.
Devices are in caps, so you can see them easily.
LIFECYCLE. This starts the initial REPEATER so that seconds are counted from the start of the game. This then connects to the REPEATER to repeat these initial seconds, with a 1 second delay. Then it is filtered through RELAY 1 so that the seconds only increment for players on a specific team (in my case, the runners).
Now usually that’d be the end (plus another relay and lifecycle to stop when you get tagged). This does work…with infection maps. However, with classic tag, the tagger doesn’t stay ‘it’ after they tag. They become a runner. That tagged runner then becomes it. This causes a problem with the aforementioned example, because it doesn’t stop the original ‘it’ from gaining points, and if they are re-tagged, both player’s counters stop going up, regardless of their team. With classic tag, we want the runners’ counter to move up and the tagger’s to pause.
So, simple, just add another LIFECYCLE (or connect directly to the Tag Zone) to continue when you tag someone else and connect that to the REPEATER, right? Well, no. This causes a small problem where the original LIFECYCLE message is still repeating, and adding another LIFECYCLE adds another message to repeat, so it increments the COUNTER by 2 instead of one. Not ideal.
So, in comes the TRIGGER(s). TRIGGER 1 stops the repeater after a tag so that the double signal problem doesn’t happen. After that, we can make your standard trigger clock (2 triggers acting like a repeater but better). Then, using a RELAY connected to a TAG ZONE, we can deactivate the undelayed TRIGGER for the taggers, leaving the COUNTER active for only the running team. The best part about the TRIGGER clock is that it will continue to increase points for members of the running team, and due to there only being a deactivating RELAY for another team, the double signal will no longer happen. But how does the TRIGGER clock even know when to start?
For this, channels and the ‘tags’ PROPERTY will be important. The creation of the ‘tags’ PROPERTY lets us know when the starting REPEATER has been deactivated by the first tag. Then we need a way for the 3rd delayed TRIGGER to detect that. You have two options. You can either go the long and less memory efficient way of adding blocks to said TRIGGER, or you can use a checker. Either way does its job. It tells us that the first tag has happened (which has deactivated the REPEATER), meaning that the clock can now start.
You will also need to change your scoring settings for the seconds to show up, if you haven’t already. Open ‘Map Options’, go to ‘Score’, and input these settings:
Final result (with labels)
That’s it!
All the best,
-Cloudy
with a chance of meatballs