Player Team Swap for Arena

Glorn2

Slap n' Tickle
Reaction score
4
I have used the search function 4-5 times with various requests, and gone through about 20 pages of results, to no avail. I am looking to make a team swap system, so that a player can move from 1 team to another.

the non important stuff: team swaps must be voted on, that is, someone will type -teamswap then 2 other people must type -yes. After that I plan for a box to pop up, where you vote for the player you want swapped to its opposing team. (only from higher to lower teams) I can figure all of this out on my own though; it is just some background on what I have planned.

The Problem:
Actually having a player switch teams without causing problems. Because many things are based on ally of player red, and ally of player green, I was wondering if I could completely change a players team color. Like, make player 1 (red) become an absent player, still on team 1, and moving player 1, and all units to be player 7 or something. If this isnt possible, I could simply say that green and red cannot swap teams; but I would rather not limit what players can do.

So uhh; I'm looking for a non-buggy way to do this. Assuming red and green couldnt swap teams, I could simply say, add Player 2 to (Team2) remove player 2 from (Team1) and re-run my triggers, (Makes team2 treat team1 as enemy) + (makes team1 treat team2 as enemy) and the same things with making everyone in the groups allies with shared vision.

I am not at my WE so cant test this; so I figured I could ask you guys, to ensure I make this right on my first try.

So, please, comment, add things I may have missed. If i am completely wrong, tell me. If anyone knows a much better way of going about this, also chime in.
 

Badhaas

New Member
Reaction score
1
You could change the things which are based to ally of player red or green to ally of variable_player1 and variable_player2, and then set player red and green for those variables.
And if player red or green swaps teams you change the variable to another player in the team before changing teams.

For instance player red changes team:
for a= 2 to 12 (or max number of players)
if (player number A) is ally of variable_player1 (which is currently player red)
then set variable_player1 = player blue
and then make red change team.

Though it might be a lot work to change every ally of player red/green to ally of variable_player.
 

Glorn2

Slap n' Tickle
Reaction score
4
Lol. oddly enough, i checked 2 days ago, and the hive didnt have anything I liked... I checked last night, after making this post, and found that also. Hopefully it gets more positive reviews! Thank god for my leak remover; hopefully it works out!
 

Glorn2

Slap n' Tickle
Reaction score
4
Alright, that system ended up not being my cup of tea. To simplify things, I'm making it so red and green cant switch teams. Also, I am making it so only players can switch from a team with more players, to a team with less players. With these conditions it should allow for a semi-easy series of triggers... I will be back with more specific questions after I realize that it isn't as easy as I think it will be.
 

Glorn2

Slap n' Tickle
Reaction score
4
Okay, I made a trigger!!!

Assuming everyone knows how a basic enable and vote trigger would work, I will just post the action trigger.

Trigger:
  • Switch Action
    • Events
    • Conditions
      • Switch_On Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of players in Team1) Less than (Number of players in Team2)
        • Then - Actions
          • Set Switched_Player = (Random player from (All players matching (((Matching player) Not equal to Player 7 (Green)) and (((Matching player) is in Team2) Equal to True))))
        • Else - Actions
          • Set Switched_Player = (Random player from (All players matching (((Matching player) Not equal to Player 1 (Red)) and (((Matching player) is in Team1) Equal to True))))
      • Game - Display to (All players) the text: The Switch was comp...
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Switched_Player is in Team1) Equal to True
        • Then - Actions
          • Player - Change color of Switched_Player to Brown, Changing color of existing units
          • Player Group - Remove Switched_Player from Team1
          • Player Group - Add Switched_Player to Team2
          • Player Group - Make Team1 treat Team2 as an Enemy
          • Player Group - Make Team2 treat Team1 as an Enemy
          • Player Group - Make Team1 treat Team1 as an Ally with shared vision
          • Player Group - Make Team2 treat Team2 as an Ally with shared vision
          • Unit Group - Pick every unit in (Units owned by Switched_Player) and do (Actions)
            • Loop - Actions
              • Unit - Move (Picked unit) instantly to (Center of Team 2 Start <gen>)
              • Camera - Pan camera for Switched_Player to (Center of Team 2 Start <gen>) over 0.00 seconds
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Switched_Player is in Team2) Equal to True
            • Then - Actions
              • Player - Change color of Switched_Player to Orange, Changing color of existing units
              • Player Group - Remove Switched_Player from Team2
              • Player Group - Add Switched_Player to Team1
              • Player Group - Make Team1 treat Team2 as an Enemy
              • Player Group - Make Team2 treat Team1 as an Enemy
              • Player Group - Make Team1 treat Team1 as an Ally with shared vision
              • Player Group - Make Team2 treat Team2 as an Ally with shared vision
              • Unit Group - Pick every unit in (Units owned by Switched_Player) and do (Actions)
                • Loop - Actions
                  • Unit - Move (Picked unit) instantly to (Center of Team 1 Start <gen>)
                  • Camera - Pan camera for Switched_Player to (Center of Team 1 Start <gen>) over 0.00 seconds
            • Else - Actions
      • Set Switch_On = False
      • Set Switch_Votes = 0
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set Switch_Vote[(Integer A)] = False
      • Trigger - Turn off (This trigger)


As hopefully you can see; this will pick a random player from the team with least players, and move said player to the lower team; red and green cannot be moved.

May not be usable by most people, but it works for what I need it to do!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top