jonadrian619
-___-
- Reaction score
- 240
The Unally System tutorial by jonadrian619
this is my own version of the Unally/Ally system, which is for beginners and newbies and RP makers too.
This tutorial shows how to create a system, in this case, where if a player types 'unally + (player color of whom youre going to unally)', the player whom youre going to unally will be your enemy for instance. This system requires no variables and it's all GUI. This tutorial is newbie-friendly and for beginners and even pros.
1) About Unally Systems
Maps like my original Life in a City, Demise of Brotherhood (DoBRP) or any RP (roleplay) map, often use the unally option where players can unally the player of their choice, through chat messages, of course. Unally systems can tweak map gameplay and can add the fun to your map. Usually this system was made because most players were getting bored of having no enemy user players.
Usually, the unally system does many triggers. This system uses only 1 trigger. I used a single trigger to prevent adding a few bytes. Because the amount of triggers adds a few bytes.
Players can't unally themselves, like when you are the Red Player and you've typed unally red, nothing happens. This is because of the condition '(Triggering player) Not equal to Player 1 (Red)'
2) Triggers
The amount of events and actions depend on how many players you will allow to be unallied by other players.
Events:
For each player you're going to allow being unallied to others, this is a sample of the event you're going to use.Player - Player XX (Color) types a chat message containing (unally + <Empty String>) as A substring
If you have 5 players for example, you need 5 of these events, each having a different player number. Don't use 'An exact match' because the actions will not fire. Use 'as a substring' instead.
Actions:
Code:
---------------Player 1 Unalliance---------------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (unally + red)
(Triggering player) Not equal to Player 1 (Red)
Then - Actions
Player - Make (Triggering player) treat Player 1 (Red) as an Enemy
Player - Make Player 1 (Red) treat (Triggering player) as an Enemy
Else - Actions
---------------Player 2 Unalliance---------------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (unally + blue)
(Triggering player) Not equal to Player 2 (Blue)
Then - Actions
Player - Make (Triggering player) treat Player 2 (Blue) as an Enemy
Player - Make Player 2 (Blue) treat (Triggering player) as an Enemy
Else - Actions
---------------AND SO ON, UNTIL YOU'VE REACHED THE MAXIMUM AMOUNT OF PLAYERS TO BE UNALLIED.---------------
If you have 2 players, you make 2 'If all conditions are true' actions, if you have 4 players you make 4 actions, and so on, until you've reached the desired limit of the players to be unallied.
Sample Trigger (3 Players)
Code:
Unally System
Events
Player - Player 1 (Red) types a chat message containing (unally + <Empty String>) as A substring
Player - Player 2 (Blue) types a chat message containing (unally + <Empty String>) as A substring
Player - Player 3 (Teal) types a chat message containing (unally + <Empty String>) as A substring
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (unally + red)
(Triggering player) Not equal to Player 1 (Red)
Then - Actions
Game - Display to (All players) the text: ((Name of (Triggering player)) + , the system worked!!)
Player - Make (Triggering player) treat Player 1 (Red) as an Enemy
Player - Make Player 1 (Red) treat (Triggering player) as an Enemy
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (unally + blue)
(Triggering player) Not equal to Player 2 (Blue)
Then - Actions
Game - Display to (All players) the text: ((Name of (Triggering player)) + , the system worked!!)
Player - Make (Triggering player) treat Player 2 (Blue) as an Enemy
Player - Make Player 2 (Blue) treat (Triggering player) as an Enemy
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (unally + teal)
(Triggering player) Not equal to Player 3 (Teal)
Then - Actions
Game - Display to (All players) the text: ((Name of (Triggering player)) + , the system worked!!)
Player - Make (Triggering player) treat Player 3 (Teal) as an Enemy
Player - Make Player 3 (Teal) treat (Triggering player) as an Enemy
Else - Actions
3) Conversion into Ally system
You can convert this system into an 'ally' system. Ally system is where you make a specific enemy player as an ally again through chat messages. Two easy steps convert this system into an ally system.
Step 1:
In 'Events', change the 'unally' string into 'ally'. Ex. ally + <empty string>
Step 2:
In the 'If all conditions are true' actions, change the first If condition to (Entered chat string) Equal to (ally + anycolor). Then change the 'Set Alliance' action fields to 'Ally with shared vision' instead of Enemy.
Sample Ally Trigger
Code:
Ally System
Events
Player - Player 1 (Red) types a chat message containing (ally + <Empty String>) as A substring
Player - Player 2 (Blue) types a chat message containing (ally + <Empty String>) as A substring
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (ally + red)
(Triggering player) Not equal to Player 1 (Red)
Then - Actions
Game - Display to (All players) the text: ((Name of (Triggering player)) + , the system worked!!)
Player - Make (Triggering player) treat Player 1 (Red) as an Ally with shared vision
Player - Make Player 1 (Red) treat (Triggering player) as an Ally with shared vision
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Entered chat string) Equal to (ally + blue)
(Triggering player) Not equal to Player 2 (Blue)
Then - Actions
Game - Display to (All players) the text: ((Name of (Triggering player)) + , the system worked!!)
Player - Make (Triggering player) treat Player 2 (Blue) as an Ally with shared vision
Player - Make Player 2 (Blue) treat (Triggering player) as an Ally with shared vision
Else - Actions
The unally system is contained in the demo map that i've made. Download it to study more about this system, and the conversion tips are shown in the README trigger in the map. A trigger named 'Ally System' allows testers to make their own Ally System because it has 1 sample event and action.
If you want to apply this into your map, copy the Unally and Ally System triggers to your map. You may add more actions like display text Message or add property actions.