This guide is the basis for this one. In this guide, I will show you how to make a knockout notification, with multiple different stats inside it.
This guide uses around 20 blocks, and uses around 15% memory. I recommend it in battle-royale games, especially 2 team battle games. It could also be modified for use in snowy survival, or a basic version could be used in snowbrawl.
What it Does
This notification will have a few parts. It will have the name of the player knocked out, who knocked them out, the gadget used [not including rarity], and an optional section for team games.
Mine looks like this:
The first part of this guide is here to (partially) avoid a complicated checker system later in the game. I can’t think of a way to measure the exact gadget used to knockout a player, so we will print all the gadgets they have.
For this system to work correctly, players should be unable to drop items.
The first step: A player must get their gadget from somewhere, whether it is a starting inventory or a vending machine. When the gadget is obtained, a property will be set to the name of the gadget.
To start this section, place a property device. Name it ‘Weapon 1’.
If players get their gadget from a starting inventory, then you will set the default value of the property to the name of that gadget.
Let’s say that the player gets a zapper from a starting inventory device.
You would set the default value to ‘Zapper’.
If the players get their first gadget from an item granter or vending machine, you will configure the default value to 'Empty'.
Set the default value to ‘Empty’.
Set the scope of this property to player. This is extremely important.
Next, you will copy this property so you have as many as your players have inventory slots. Name the duplicates ‘Weapon 2’ and so on. [In my example, the player has 3 inventory slots.] If your first property had the default value set as the starting gadget, the duplicates must have the default set as ‘Empty’.
Now, you must find any/all places to get a gadget in your map. Whenever a player does the action that gives them a gadget [such as buying something or pressing a button that grants an item], it must transmit on a channel. The channel should be the name of the gadget [without the rarity]. If the player gets a snowball launcher from a vending machine, set its channel to ‘Snowball Launcher’.
Next, make a trigger in the back for each gadget you can obtain. Set them to activate when receiving on the channel from the vending machine.
Next, go into blocks. This will be a complicated set of blocks.
What this does is it checks if the first slot is empty. If it is, then it records it as in that slot. If it is full, it checks the next slot.
Since you need a different trigger for each gadget, you will replace the channel with the name of the gadget that one is for. You will then change the value you set the property as to the new gadget.
This next part is making a set of systems that activate when players are knocked out. This section uses wires because we know how AUO works with wires, but channels are strange.
Place a lifecycle. Set it to listen for a player knocking out.
Place a property. Name it ‘Killing Player’. Set the default value to ‘map objects’.
Now, you might think this looks odd, but it allows us to add a block later for when a sentry or laser knocks out.
Place another property and name it ‘Killing Player Items’.
Now, add a trigger. Wire the lifecycle to the trigger.
Make this fun block in the trigger:
Adapting to Include Tagging
If you want the system to count when tags happen, then wire the tag zone to a new trigger. Make sure to make the wire ‘When player tags’. Then, make a block that changes the property ‘Killed Player Items’ to ‘tag’.
With AUO accounted for, we can now make the next block.
Next, place a (new) lifecycle. Set it to listen for a player being knocked out.
Place down a property. Name it ‘KO Player’. No other settings should be changed for this property.
Place another property, and name this one ‘Knocked Player Team’. Make it a number property.
Place down a trigger. Wire the most recent lifecycle to the trigger.
In the trigger, make this block:
And now for our grand finale, a mess of blocks and channels. Have fun!
Place down a relay. Set it to everyone. Wire the ‘Player Knocked Out’ lifecycle to this relay.
Place down a trigger. Wire the relay to this trigger. Make a block.
(continues on right)
(continues on right)
Now, place down a property. Name it ‘Random Thought’. Make the scope player.
Place down a trigger that receives on the channel ‘MapDieHappy’. Place another trigger that receives on the channel ‘KilledTeamHappy’. Wire the first trigger to the second trigger.
Make a block in the second trigger.
Copy those two triggers. Make them receive on the channels ‘MapDieSad’ and ‘KilledTeamSad’. Change the block code a bit:
(Note: in those two sections you could set the value to more or less whatever you want.)
Now, finally, we are ready to send our notification!
Place a notification. Hit the ‘All Options’ tab and make it a ‘Success’ notification.
Go into blocks for the notification. Make it send when receiving on the channel ‘MapDieHappy’.
Important Note for Notification Blocks
So with all the notifications, a space should be before and after each text block. Also, in the final two notifications, the text block that looks empty has a space in it.
Next, copy this notification. (Manually, not using C.) Make it a ‘Warning’ type notification. Make this notification’s block send when receiving on the channel ‘MapDieSad’. Block:
Make another notification, this time a ‘Success’ notification with a block for the channel ‘KilledTeamHappy’. Block:
Make another notification. Make it a warning. Make the block go off on ‘KilledTeamSad’
The (almost) final block:
Now for the actual last thing. Place a trigger. Set it to receive on the channel ‘KilledTeamSad’. Place another trigger that receives on the channel ‘KilledTeamHappy’.
Wire the first to the second. Give the second a 1 second delay. Give it this block:
which is all that is needed to reset the system.
- 1/5 or
- 2/5 or
- 3/5 or
- 4/5 or
- 5/5 or
- 6/5 or