Hi. I just want to post a votekick system i made last day
First Trigger Named Votekicksystem
What you need:
Triggers:
Votekicksystem
VotekickChoice
VotekickDialogWatch
VotekickTimerWatch
Initialisation
RandomNamedTrigger
Variables:
KickVoteButtons[12] Type: Dialog Button
KickVoteCancelButton Type: Dialog Button
KickVoteDialog Type
ialog
KickVoteHasVoted[12] Type: bool
KickVoteNo Type: Integer
KickVoteNoButton Type: Dialog Button
KickVotePlayerToKick Type: Player
KickVoteRunning Type: bool
KickVoteStartingPlayer Type: Player
KickVoteTimer Type: Timer
KickVoteTimerWindow Type: Timer Window
KickVoteVoteDialog Type: Dialog
KickVoteYes Type: Integer
KickVoteYesButton Type: Dialog Button
IngamePlayers_PlayerGroup
Triggers:
Votekicksystem
VotekickChoice
VotekickDialogWatch
VotekickTimerWatch
Initialisation
RandomNamedTrigger
Variables:
KickVoteButtons[12] Type: Dialog Button
KickVoteCancelButton Type: Dialog Button
KickVoteDialog Type
KickVoteHasVoted[12] Type: bool
KickVoteNo Type: Integer
KickVoteNoButton Type: Dialog Button
KickVotePlayerToKick Type: Player
KickVoteRunning Type: bool
KickVoteStartingPlayer Type: Player
KickVoteTimer Type: Timer
KickVoteTimerWindow Type: Timer Window
KickVoteVoteDialog Type: Dialog
KickVoteYes Type: Integer
KickVoteYesButton Type: Dialog Button
IngamePlayers_PlayerGroup
First Trigger Named Votekicksystem
-
Events
-
Player - Player 1 (Red) types a chat message containing -votekick as An exact match
-
Player - Player 2 (Blue) types a chat message containing -votekick as An exact match
-
Player - Player 3 (Teal) types a chat message containing -votekick as An exact match
-
Player - Player 4 (Purple) types a chat message containing -votekick as An exact match
-
Player - Player 5 (Yellow) types a chat message containing -votekick as An exact match
-
Player - Player 6 (Orange) types a chat message containing -votekick as An exact match
-
Player - Player 7 (Green) types a chat message containing -votekick as An exact match
-
Player - Player 8 (Pink) types a chat message containing -votekick as An exact match
-
-
Conditions
-
KickVoteRuning Equal to False
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of players in IngamePlayers_PlayerGroup) Less than or equal to 2
-
-
Then - Actions
-
Game - Display to (Player group((Triggering player))) the text: You need at least 3...
-
-
Else - Actions
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
KickVoteRuning Equal to True
-
-
Then - Actions
-
Game - Display to (Player group((Triggering player))) the text: A player has alread...
-
-
Else - Actions
-
Set KickVoteRuning = True
-
-
-
Set KickVoteStartingPlayer = (Triggering player)
-
Dialog - Clear KickVoteDialog
-
Dialog - Change the title of KickVoteDialog to Which player to kic...
-
Player Group - Pick every player in IngamePlayers_PlayerGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Picked player) Not equal to KickVoteStartingPlayer
-
-
Then - Actions
-
Dialog - Create a dialog button for KickVoteDialog labelled (Name of (Player((Player number of (Picked player)))))
-
Set KickVoteButtons[(Player number of (Picked player))] = (Last created dialog Button)
-
-
Else - Actions
-
-
-
-
Dialog - Create a dialog button for KickVoteDialog labelled Cancel
-
Set KickVoteCancelButton = (Last created dialog Button)
-
Dialog - Show KickVoteDialog for (Triggering player)
-
Trigger - Turn on VotekickChoice <gen>
-
-
Events
-
Dialog - A dialog button is clicked for KickVoteDialog
-
-
Conditions
-
Actions
-
Dialog - Hide KickVoteDialog for KickVoteStartingPlayer
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
KickVoteCancelButton Equal to (Clicked dialog button)
-
-
Then - Actions
-
Set KickVoteRuning = False
-
Trigger - Turn off (This trigger)
-
Skip remaining actions
-
-
Else - Actions
-
-
Player Group - Pick every player in IngamePlayers_PlayerGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Clicked dialog button) Equal to KickVoteButtons[(Player number of (Picked player))]
-
-
Then - Actions
-
Set KickVotePlayerToKick = (Picked player)
-
-
Else - Actions
-
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
KickVotePlayerToKick Equal to Player 1 (Red)
-
-
Then - Actions
-
Game - Display to (Player group(KickVoteStartingPlayer)) the text: You can not kick th...
-
Set KickVoteRuning = False
-
Trigger - Turn off (This trigger)
-
Skip remaining actions
-
-
Else - Actions
-
-
Dialog - Clear KickVoteVoteDialog
-
Dialog - Change the title of KickVoteVoteDialog to (((Name of KickVoteStartingPlayer) + want's to kick ) + (Name of KickVotePlayerToKick))
-
Dialog - Create a dialog button for KickVoteVoteDialog labelled Yes
-
Set KickVoteYesButton = (Last created dialog Button)
-
Dialog - Create a dialog button for KickVoteVoteDialog labelled No
-
Set KickVoteNoButton = (Last created dialog Button)
-
Countdown Timer - Start KickVoteTimer as a One-shot timer that will expire in 30.00 seconds
-
Set KickVoteTimer = (Last started timer)
-
Countdown Timer - Create a timer window for (Last started timer) with title Vote expires in:
-
Set KickVoteTimerWindow = (Last created timer window)
-
Player Group - Pick every player in IngamePlayers_PlayerGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Picked player) Not equal to KickVotePlayerToKick
-
-
Then - Actions
-
Countdown Timer - Show KickVoteTimerWindow for (Picked player)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Picked player) Not equal to KickVoteStartingPlayer
-
-
Then - Actions
-
Dialog - Show KickVoteVoteDialog for (Picked player)
-
-
Else - Actions
-
Set KickVoteHasVoted[(Player number of (Picked player))] = True
-
-
-
-
Else - Actions
-
Set KickVoteHasVoted[(Player number of (Picked player))] = True
-
-
-
-
-
Set KickVoteYes = 1
-
Set KickVoteNo = 1
-
Trigger - Turn on VotekickDialogWatch <gen>
-
-
Events
-
Dialog - A dialog button is clicked for KickVoteVoteDialog
-
-
Conditions
-
KickVoteHasVoted[(Player number of (Triggering player))] Equal to False
-
-
Actions
-
Set KickVoteHasVoted[(Player number of (Triggering player))] = True
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Clicked dialog button) Equal to KickVoteYesButton
-
-
Then - Actions
-
Set KickVoteYes = (KickVoteYes + 1)
-
-
Else - Actions
-
Set KickVoteNo = (KickVoteNo + 1)
-
-
-
Dialog - Hide KickVoteVoteDialog for (Triggering player)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(KickVoteNo + KickVoteYes) Greater than or equal to (Number of players in IngamePlayers_PlayerGroup)
-
-
Then - Actions
-
Trigger - Run VotekickTimerWatch <gen> (checking conditions)
-
-
Else - Actions
-
-
-
Events
-
Time - KickVoteTimer expires
-
-
Conditions
-
KickVoteRuning Equal to True
-
-
Actions
-
Countdown Timer - Destroy KickVoteTimerWindow
-
Countdown Timer - Pause KickVoteTimer
-
Player Group - Pick every player in IngamePlayers_PlayerGroup and do (Dialog - Hide KickVoteVoteDialog for (Picked player))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(((Real((Number of players in IngamePlayers_PlayerGroup))) / 100.00) x 60.00) Less than or equal to (Real(KickVoteYes))
-
-
Then - Actions
-
Game - Defeat KickVotePlayerToKick with the message: You've been kicked
-
Game - Display to (All players) the text: Votekick Succes
-
Player Group - Remove KickVotePlayerToKick from IngamePlayers_PlayerGroup
-
-
Else - Actions
-
Player Group - Pick every player in IngamePlayers_PlayerGroup and do (Game - Display to (Player group((Picked player))) the text: Kickvote failed!)
-
-
-
-
Events
-
Player - Player 1 (Red) leaves the game
-
Player - Player 2 (Blue) leaves the game
-
Player - Player 3 (Teal) leaves the game
-
Player - Player 4 (Purple) leaves the game
-
Player - Player 5 (Yellow) leaves the game
-
Player - Player 6 (Orange) leaves the game
-
Player - Player 7 (Green) leaves the game
-
Player - Player 8 (Pink) leaves the game
-
-
Conditions
-
Actions
-
Game - Display to (All players) for 15.00 seconds the text: ((PlayerColor_String[(Player number of (Triggering player))] + (Name of (Triggering player))) + |r has left the game.)
-
Player Group - Remove (Triggering player) from IngamePlayers_PlayerGroup
-
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
Player Group - Pick every player in (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing))) and do (Actions)
-
Loop - Actions
-
Player Group - Add (Picked player) to IngamePlayers_PlayerGroup
-
-
-