Return to post
- settings
- {
- main
- {
Description: "▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ ▩▩▩▩ ScrimTime v0.98 ▩▩▩▩ ▩▩ workshop.codes/scrimtime ▩▩ ▩▩ Configure in Workshop Settings ▩▩ ▩▩▩ Ready Up: Interact + Reload ▩▩ ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩"
- Description: "=====ScrimTime===== > Version: 0.9 > Full information at: workshop.codes/scrimtime > Check Workshop Settings for customisation options > Interact + Reload to ready up"
- }
- lobby
- {
- Map Rotation: Paused
- Max Spectators: 12
- Return To Lobby: After A Game
- }
- modes
- {
- Assault
- Control
- Escort
- Hybrid
- General
- {
- Competitive Rules: On
- Game Mode Start: Immediately
- Kill Cam: Off
- Limit Roles: 2 Of Each Role Per Team
- Skins: Off
- }
- }
- }
- variables
- {
- global:
- 0: Scrim_DebugMode
1: Scrim_EnableReadyUpSystem
2: Scrim_CaptainOnlyMode
3: Scrim_MapCompleteMode
4: Scrim_ForceMatchEndAftTwoRounds
5: Scrim_RemoveAssemblingHeroes
6: Scrim_SetupCountdownTime
7: Scrim_RequireReadyEveryRound
8: Scrim_AllowDefendersTeleport
9: Scrim_EnableSpecScoreboard
10: Scrim_AllowHostHideScoreboard
11: Scrim_HideScoreboardID
12: Scrim_AllowCaptainTimeAdd
13: Scrim_CaptainAddTimeStep
14: Scrim_CaptainAddTimeMax
15: Scrim_DisplayServerLoad
16: Scrims_KeybindButtonArray
17: Scrims_KeybindCommand
18: Scrims_KeybindReadyToggle
19: Scrims_KeybindDefenderTeleport
20: Scrims_KeybindCaptainAddTime
23: Logs_AutoMatchEndTime
- 1: Scrim_CaptainOnlyMode
- 2: Scrim_MapCompleteMode
- 3: Scrim_ForceMatchEndAftTwoRounds
- 4: Scrim_RemoveAssemblingHeroes
- 5: Scrim_SetupCountdownTime
- 6: Scrim_RequireReadyEveryRound
- 7: Scrim_AllowDefendersTeleport
- 8: Logs_DebugMode
- 26: Scrim_ScoreboardEnabled
- player:
0: Scrim_PlayerReady
1: Scrim_PlayerReadyIcon
5: Logs_HeroesPlayedArray
- 0: PlayerReady
- 1: PlayerReadyIcon
- 6: Logs_HeroesPlayedArray
- }
rule("Settings: Ready Up Options")
- rule("Settings: Option Configuration")
- {
- event
- {
- Ongoing - Global;
- }
- actions
- {
Global.Scrim_EnableReadyUpSystem = Workshop Setting Toggle(Custom String("Ready Up System"), Custom String(
"Enable Ready Up System"), True, 0);
Global.Scrim_CaptainOnlyMode = Workshop Setting Toggle(Custom String("Ready Up System"), Custom String("Captain-Only Mode"), True,
1);
Global.Scrim_RequireReadyEveryRound = Workshop Setting Toggle(Custom String("Ready Up System"), Custom String(
"Require ready up for every round"), False, 2);
Global.Scrim_SetupCountdownTime = Workshop Setting Integer(Custom String("Ready Up System"), Custom String("Countdown Timer"), 5,
5, 30, 3);
}
}
rule("Settings: Setup Options")
{
event
{
Ongoing - Global;
}
actions
{
Global.Scrim_RemoveAssemblingHeroes = Workshop Setting Toggle(Custom String("Setup"), Custom String(
- Global.Scrim_RemoveAssemblingHeroes = Workshop Setting Toggle(Custom String("Setup Options"), Custom String(
- "Remove Assembling Heroes Phase"), True, 0);
Global.Scrim_AllowCaptainTimeAdd = Workshop Setting Toggle(Custom String("Setup"), Custom String(
"Allow Captains to add Setup Time"), True, 1);
Global.Scrim_CaptainAddTimeStep = Workshop Setting Integer(Custom String("Setup"), Custom String("Setup Time Added"), 30, 1, 60,
2);
Global.Scrim_CaptainAddTimeMax = Workshop Setting Integer(Custom String("Setup"), Custom String("Setup Time Maximum"), 90, 60, 180,
3);
Global.Scrim_AllowDefendersTeleport = Workshop Setting Toggle(Custom String("Setup"), Custom String(
- Global.Scrim_CaptainOnlyMode = Workshop Setting Toggle(Custom String("Setup Options"), Custom String(
- "Only Require Captains to Ready Up"), True, 1);
- Global.Scrim_RequireReadyEveryRound = Workshop Setting Toggle(Custom String("Setup Options"), Custom String(
- "Require ready up for every round"), False, 2);
- Global.Scrim_SetupCountdownTime = Workshop Setting Integer(Custom String("Setup Options"), Custom String("Setup Countdown Time"),
- 5, 5, 30, 3);
- Global.Scrim_AllowDefendersTeleport = Workshop Setting Toggle(Custom String("Setup Options"), Custom String(
- "Allow Defenders to Teleport Between Objective and Spawn"), True, 4);
}
}
rule("Settings: Match Options")
{
event
{
Ongoing - Global;
}
actions
{
Global.Scrim_MapCompleteMode = Workshop Setting Toggle(Custom String("Match"), Custom String("Enable Map Completion Mode"), True,
- Global.Scrim_MapCompleteMode = Workshop Setting Toggle(Custom String("Match Options"), Custom String("Map Completion Mode"), True,
- 0);
Global.Scrim_ForceMatchEndAftTwoRounds = Workshop Setting Toggle(Custom String("Match"), Custom String(
- Global.Scrim_ForceMatchEndAftTwoRounds = Workshop Setting Toggle(Custom String("Match Options"), Custom String(
- "Force Match to End After Two Rounds in Map Completion Mode"), True, 1);
}
}
rule("Settings: Scoreboard Options")
{
event
{
Ongoing - Global;
}
actions
{
Global.Scrim_EnableSpecScoreboard = Workshop Setting Toggle(Custom String("Scoreboard"), Custom String(
- Global.Scrim_ScoreboardEnabled = Workshop Setting Toggle(Custom String("Scoreboard Options"), Custom String(
- "Enable Spectator Scoreboard"), True, 0);
Global.Scrim_AllowHostHideScoreboard = Workshop Setting Toggle(Custom String("Scoreboard"), Custom String(
"Allow Host Spectator to Toggle Scoreboard"), True, 1);
}
}
rule("Settings: Keybind Options")
{
event
{
Ongoing - Global;
}
actions
{
Global.Scrims_KeybindButtonArray = Array(Button(Primary Fire), Button(Secondary Fire), Button(Ability 1), Button(Ability 2),
Button(Ultimate), Button(Interact), Button(Jump), Button(Crouch), Button(Melee), Button(Reload));
Global.Scrims_KeybindCommand = Global.Scrims_KeybindButtonArray[Workshop Setting Combo(Custom String("Keybinds"), Custom String(
"Command"), 5, Array(Custom String("Primary Fire"), Custom String("Secondary Fire"), Custom String("Ability 1"), Custom String(
"Ability 2"), Custom String("Ultimate"), Custom String("Interact"), Custom String("Jump"), Custom String("Crouch"),
Custom String("Melee"), Custom String("Reload")), 0)];
Global.Scrims_KeybindReadyToggle = Global.Scrims_KeybindButtonArray[Workshop Setting Combo(Custom String("Keybinds"),
Custom String("Ready Up Toggle"), 9, Array(Custom String("Primary Fire"), Custom String("Secondary Fire"), Custom String(
"Ability 1"), Custom String("Ability 2"), Custom String("Ultimate"), Custom String("Interact"), Custom String("Jump"),
Custom String("Crouch"), Custom String("Melee"), Custom String("Reload")), 1)];
Global.Scrims_KeybindDefenderTeleport = Global.Scrims_KeybindButtonArray[Workshop Setting Combo(Custom String("Keybinds"),
Custom String("Defender Teleport"), 6, Array(Custom String("Primary Fire"), Custom String("Secondary Fire"), Custom String(
"Ability 1"), Custom String("Ability 2"), Custom String("Ultimate"), Custom String("Interact"), Custom String("Jump"),
Custom String("Crouch"), Custom String("Melee"), Custom String("Reload")), 2)];
Global.Scrims_KeybindCaptainAddTime = Global.Scrims_KeybindButtonArray[Workshop Setting Combo(Custom String("Keybinds"),
Custom String("Captain Add Setup Time"), 4, Array(Custom String("Primary Fire"), Custom String("Secondary Fire"),
Custom String("Ability 1"), Custom String("Ability 2"), Custom String("Ultimate"), Custom String("Interact"), Custom String(
"Jump"), Custom String("Crouch"), Custom String("Melee"), Custom String("Reload")), 3)];
}
}
rule("Settings: Debug Options")
{
event
{
Ongoing - Global;
}
actions
{
Global.Scrim_DebugMode = Workshop Setting Toggle(Custom String("Debug"), Custom String("Enable Debug Mode"), False, 0);
Global.Scrim_DisplayServerLoad = Workshop Setting Toggle(Custom String("Debug"), Custom String("Display Server Load"), False, 1);
Global.Logs_AutoMatchEndTime = Workshop Setting Integer(Custom String("Debug"), Custom String("Automatically End Match Time"),
3600, 10, 3600, 2);
}
}
rule("Init: Match")
{
event
{
Ongoing - Global;
- Global.Scrim_DebugMode = Workshop Setting Toggle(Custom String("Debug Options"), Custom String("Enable Scrim Debug Mode"), False,
- 0);
- }
- }
rule("Init: Player")
- rule("Settings: Player Setup")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
Event Player.Scrim_PlayerReady = False;
Event Player.Scrim_PlayerReadyIcon = Icon String(X);
- Event Player.PlayerReady = False;
- Event Player.PlayerReadyIcon = Icon String(X);
- Event Player.Logs_HeroesPlayedArray = Empty Array;
- }
- }
- rule("Match: Remove Assembling Heroes")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Assembling Heroes == True;
- Global.Scrim_RemoveAssemblingHeroes == True;
- }
- actions
- {
- Set Match Time(0);
- }
- }
- rule("Debug: Force Ready (Interact + Ability 1)")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is In Setup == True;
- Is Button Held(Host Player, Button(Interact)) == True;
- Is Button Held(Host Player, Button(Ability 1)) == True;
- Global.Scrim_DebugMode == True;
- }
- actions
- {
- Start Holding Button(Event Player, Button(Interact));
- Start Holding Button(Event Player, Button(Reload));
- Stop Holding Button(Event Player, Button(Interact));
- Stop Holding Button(Event Player, Button(Reload));
- }
- }
- rule("Debug: Reduce Timer to 5 (Interact + Alt Fire)")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Button Held(Host Player, Button(Interact)) == True;
- Is Button Held(Host Player, Button(Secondary Fire)) == True;
- Global.Scrim_DebugMode == True;
- }
- actions
- {
- Set Match Time(5);
- }
- }
rule("Debug: Spawn Test Bot (Interact + Melee)")
- rule("Debug: Spawn Test Bot (Interact + Ultimate)")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Global.Scrim_DebugMode == True;
- Is Button Held(Host Player, Button(Interact)) == True;
Is Button Held(Host Player, Button(Melee)) == True;
- Is Button Held(Host Player, Button(Ultimate)) == True;
- }
- actions
- {
- Create Dummy Bot(Hero(D.Va), Opposite Team Of(Team Of(Host Player)), -1, Host Player, Vector(0, 0, 0));
- }
- }
rule("Debug: Automatically End Match")
{
event
{
Ongoing - Global;
}
conditions
{
Global.Scrim_DebugMode == True;
Global.Logs_AutoMatchEndTime < 3600;
}
actions
{
Wait(Global.Logs_AutoMatchEndTime, Ignore Condition);
Declare Match Draw;
}
}
rule("Debug: Display Server Loads")
{
event
{
Ongoing - Global;
}
conditions
{
Global.Scrim_DebugMode == True;
Global.Scrim_DisplayServerLoad == True;
Is Game In Progress == True;
}
actions
{
Wait(0.016, Ignore Condition);
Create HUD Text(All Players(All Teams), Null, Custom String(
"{0} Current Server Load\r\n{1} Average Server Load\r\n{2} Peak Server Load", Server Load, Server Load Average,
Server Load Peak), Null, Left, 100, Color(White), Color(White), Color(White), Visible To and String, Visible Always);
}
}
- rule("Setup: Begin")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is In Setup == True;
Global.Scrim_EnableReadyUpSystem == True;
- }
- actions
- {
- If(Match Round == 1 || Global.Scrim_RequireReadyEveryRound == True);
- Set Match Time(3600);
- End;
- }
- }
- rule("Setup: HUD Setup")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is In Setup == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
Global.Scrim_EnableReadyUpSystem == True;
- }
- actions
- {
- Create HUD Text(All Players(All Teams), Null, Null, Custom String("workshop.codes/scrimtime"), Left, 0, Color(White), Color(White),
- Color(Yellow), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Null, Global.Scrim_CaptainOnlyMode ? Custom String(
- "Captain-only mode enabled, only {0} and {1} need to ready up", Players In Slot(0, Team 1), Players In Slot(0, Team 2))
- : Custom String("Captain-only mode disabled, all players will need to ready up"), Null, Left, 0.100, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Team 1, Null, Null, Left, 1, Color(Blue), Color(White), Color(White),
- Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Team 2, Null, Null, Left, 3, Color(Red), Color(White), Color(White), Visible To and String,
- Default Visibility);
If(Global.Scrim_DebugMode);
- If(Global.Scrim_DebugMode || Global.Logs_DebugMode);
- Create HUD Text(All Players(All Teams), Null, Null, Custom String(
"{0} Debug Mode is enabled, turn it off in Workshop Settings if this is not intentional {0}", Icon String(Warning)), Top, -1,
Null, Null, Color(Yellow), Visible To and String, Default Visibility);
- "Notice: Debug Mode is enabled, turn it off in Workshop Settings if this is not intentional"), Top, -1, Null, Null, Color(
- Yellow), Visible To and String, Default Visibility);
- End;
- }
- }
- rule("Setup: HUD Setup (Player)")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is In Setup == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
Global.Scrim_EnableReadyUpSystem == True;
- }
- actions
- {
- If(!Global.Scrim_CaptainOnlyMode || (Global.Scrim_CaptainOnlyMode && Slot Of(Event Player) == 0));
Create HUD Text(All Players(All Teams), Event Player.Scrim_PlayerReadyIcon, Event Player,
Event Player.Scrim_PlayerReady ? Custom String("Ready") : Custom String("Not Ready"), Left, (Team Of(Event Player)
== Team 1 ? 2 : 4) + Slot Of(Event Player) * 0.100, Team Of(Event Player) == Team 1 ? Color(Blue) : Color(Red), Color(Yellow),
Color(White), Visible To and String, Visible Always);
Create HUD Text(Event Player, Null, Null, Event Player.Scrim_PlayerReady ? Custom String("You are readied up") : Custom String(
"You are not readied up"), Top, 5.100, Color(White), Color(White), Event Player.Scrim_PlayerReady ? Color(Green) : Color(
Yellow), String and Color, Visible Never);
Create HUD Text(Event Player, Null, Custom String("Press {0} + {2} to {1}", Custom String("{0} ({1})",
Global.Scrims_KeybindCommand, Input Binding String(Global.Scrims_KeybindCommand)),
Event Player.Scrim_PlayerReady ? Custom String("unready") : Custom String("ready up"), Custom String("{0} ({1})",
Global.Scrims_KeybindReadyToggle, Input Binding String(Global.Scrims_KeybindReadyToggle))), Null, Top, 5.200, Color(White),
Color(White), Color(White), Visible To and String, Visible Never);
- Create HUD Text(All Players(All Teams), Event Player.PlayerReadyIcon, Event Player, Event Player.PlayerReady ? Custom String(
- "Ready") : Custom String("Not Ready"), Left, (Team Of(Event Player) == Team 1 ? 2 : 4) + Slot Of(Event Player) * 0.100,
- Team Of(Event Player) == Team 1 ? Color(Blue) : Color(Red), Color(Yellow), Color(White), Visible To and String,
- Visible Always);
- Create HUD Text(Event Player, Custom String(""), Null, Event Player.PlayerReady ? Custom String("You are readied up")
- : Custom String("You are not readied up"), Top, 5.100, Color(White), Color(White), Event Player.PlayerReady ? Color(Green)
- : Color(Yellow), String and Color, Visible Never);
- Create HUD Text(Event Player, Null, Custom String("Press Interact ({0}) + Reload ({2}) to {1}", Input Binding String(Button(
- Interact)), Event Player.PlayerReady ? Custom String("unready") : Custom String("ready up"), Input Binding String(Button(
- Reload))), Null, Top, 5.200, Color(White), Color(White), Color(White), Visible To and String, Visible Never);
- End;
- If(Global.Scrim_AllowDefendersTeleport && Is Team On Defense(Team Of(Event Player)));
Create HUD Text(Event Player, Null, Custom String("Press {0} + {1} to teleport between objective and spawn room", Custom String(
"{0} ({1})", Global.Scrims_KeybindCommand, Input Binding String(Global.Scrims_KeybindCommand)), Custom String("{0} ({1})",
Global.Scrims_KeybindDefenderTeleport, Input Binding String(Global.Scrims_KeybindDefenderTeleport))), Null, Top, 5.300, Color(
White), Color(White), Color(White), Visible To and String, Visible Never);
- Create HUD Text(Event Player, Null, Custom String("Press Interact ({0}) + Jump ({1}) to teleport between objective and spawn room",
- Input Binding String(Button(Interact)), Input Binding String(Button(Jump))), Null, Top, 5.300, Color(White), Color(White),
- Color(White), Visible To and String, Visible Never);
- End;
- Create HUD Text(Event Player, Null, Custom String("Match will commence when {0} are ready",
Global.Scrim_CaptainOnlyMode ? Custom String("both Captains") : Custom String("all players")), Null, Top, 5.400, Color(White),
- Global.Scrim_CaptainOnlyMode ? Custom String("both teams") : Custom String("all players")), Null, Top, 5.400, Color(White),
- Color(White), Color(White), Visible To and String, Visible Never);
- }
- }
rule("Setup: HUD Setup (Captain Add Time)")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Is In Setup == True;
Global.Scrim_RequireReadyEveryRound == False;
Global.Scrim_AllowCaptainTimeAdd == True;
(!Global.Scrim_EnableReadyUpSystem || Match Round != 1) == True;
}
actions
{
If(Slot Of(Event Player) == 0);
Create HUD Text(Event Player, Null, Custom String("Press {0} + {1} to add {2} sec to the Setup Timer", Custom String("{0} ({1})",
Global.Scrims_KeybindCommand, Input Binding String(Global.Scrims_KeybindCommand)), Custom String("{0} ({1})",
Global.Scrims_KeybindCaptainAddTime, Input Binding String(Global.Scrims_KeybindCaptainAddTime)),
Global.Scrim_CaptainAddTimeStep), Null, Top, 5.350, Color(White), Color(White), Color(White), Visible To and String,
Visible Never);
Else;
Create HUD Text(Event Player, Null, Custom String("{0} and {1} can add {2} sec to the setup timer", Players In Slot(0, Team 1),
Players In Slot(0, Team 2), Global.Scrim_CaptainAddTimeStep), Null, Top, 5.350, Color(White), Color(White), Color(White),
Visible To and String, Visible Never);
End;
}
}
rule("Setup: Captain Add Time")
- rule("Setup: Set Player Ready/Unready")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is In Setup == True;
Slot Of(Event Player) == 0;
Global.Scrim_RequireReadyEveryRound == False;
Global.Scrim_AllowCaptainTimeAdd == True;
(!Global.Scrim_EnableReadyUpSystem || Match Round != 1) == True;
Is Button Held(Event Player, Global.Scrims_KeybindCommand) == True;
Is Button Held(Event Player, Global.Scrims_KeybindCaptainAddTime) == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
- (Slot Of(Event Player) == 0 || Global.Scrim_CaptainOnlyMode == False) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Is Button Held(Event Player, Button(Reload)) == True;
- }
- actions
- {
If(Match Time < Global.Scrim_CaptainAddTimeMax);
Set Match Time(Min(Global.Scrim_CaptainAddTimeMax + 0.900, Global.Scrim_CaptainAddTimeStep + Match Time));
Small Message(All Players(All Teams), Custom String("{0} extended setup time by {1} sec", Event Player,
Global.Scrim_CaptainAddTimeStep));
Else;
Small Message(Event Player, Custom String("Setup timer cannot be extended beyond {0}", Custom String("{0}:{1}{2}",
Round To Integer(Global.Scrim_CaptainAddTimeMax / 60, Down), Global.Scrim_CaptainAddTimeMax % 60 < 10 ? Custom String("0")
: Custom String(""), Global.Scrim_CaptainAddTimeMax % 60)));
End;
- Event Player.PlayerReady = Event Player.PlayerReady ? False : True;
- Event Player.PlayerReadyIcon = Event Player.PlayerReady ? Icon String(Checkmark) : Icon String(X);
- }
- }
- rule("Setup: Teleport to Objective/Spawn (Defenders Only)")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is In Setup == True;
- Global.Scrim_AllowDefendersTeleport == True;
- Is Team On Defense(Team Of(Event Player)) == True;
Is Button Held(Event Player, Global.Scrims_KeybindCommand) == True;
Is Button Held(Event Player, Global.Scrims_KeybindDefenderTeleport) == True;
- Is Button Held(Event Player, Button(Interact)) == True;
- Is Button Held(Event Player, Button(Jump)) == True;
- }
- actions
- {
- If(Is In Spawn Room(Event Player));
Teleport(Event Player, Nearest Walkable Position(Objective Position(Objective Index)));
- Teleport(Event Player, Objective Position(Objective Index));
- Small Message(Event Player, Custom String("Teleported to Objective"));
- Else;
Teleport(Event Player, Spawn Points(Team Of(Event Player)));
- Respawn(Event Player);
- Small Message(Event Player, Custom String("Teleported to Spawn"));
- End;
}
}
rule("Setup: Set Player Ready/Unready")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Global.Scrim_EnableReadyUpSystem == True;
Is In Setup == True;
(Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
(Slot Of(Event Player) == 0 || Global.Scrim_CaptainOnlyMode == False) == True;
Is Button Held(Event Player, Global.Scrims_KeybindCommand) == True;
Is Button Held(Event Player, Global.Scrims_KeybindReadyToggle) == True;
}
actions
{
Event Player.Scrim_PlayerReady = Event Player.Scrim_PlayerReady ? False : True;
Event Player.Scrim_PlayerReadyIcon = Event Player.Scrim_PlayerReady ? Icon String(Checkmark) : Icon String(X);
- Wait Until(!Is Button Held(Event Player, Button(Jump)), 99999);
- }
- }
- rule("Setup: Both Teams Ready, Start Match (Captain-Only Mode)")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
Global.Scrim_EnableReadyUpSystem == True;
Global.Scrim_CaptainOnlyMode == True;
- Is In Setup == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
Players In Slot(0, Team 1).Scrim_PlayerReady == True;
Players In Slot(0, Team 2).Scrim_PlayerReady == True;
- Global.Scrim_CaptainOnlyMode == True;
- Players In Slot(0, Team 1).PlayerReady == True;
- Players In Slot(0, Team 2).PlayerReady == True;
- }
- actions
- {
Small Message(All Players(All Teams), Custom String("Both Captains ready, commencing match"));
- Small Message(All Players(All Teams), Custom String("Both teams ready, commencing match!"));
- Set Match Time(Global.Scrim_SetupCountdownTime);
Wait Until(Players In Slot(0, Team 1).Scrim_PlayerReady == False || Players In Slot(0, Team 2).Scrim_PlayerReady == False,
- Wait Until(Players In Slot(0, Team 1).PlayerReady == False || Players In Slot(0, Team 2).PlayerReady == False,
- Global.Scrim_SetupCountdownTime);
If(Players In Slot(0, Team 1).Scrim_PlayerReady == False || Players In Slot(0, Team 2).Scrim_PlayerReady == False);
Small Message(All Players(All Teams), Custom String("Someone unreadied, resetting setup time"));
- If(Players In Slot(0, Team 1).PlayerReady == False || Players In Slot(0, Team 2).PlayerReady == False);
- Small Message(All Players(All Teams), Custom String("Someone unreadied, resetting setup time!"));
- Set Match Time(3600);
- End;
- }
- }
- rule("Setup: Both Teams Ready, Start Match (All Players Mode)")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
Global.Scrim_EnableReadyUpSystem == True;
Global.Scrim_CaptainOnlyMode == False;
- Is In Setup == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
Count Of(Filtered Array(All Players(All Teams), Current Array Element.Scrim_PlayerReady == True)) == Count Of(All Players(
All Teams));
- Global.Scrim_CaptainOnlyMode == False;
- Count Of(Filtered Array(All Players(All Teams), Current Array Element.PlayerReady == True)) == Count Of(All Players(All Teams));
- }
- actions
- {
Small Message(All Players(All Teams), Custom String("All players ready, commencing match"));
- Small Message(All Players(All Teams), Custom String("All players ready, commencing match!"));
- Set Match Time(Global.Scrim_SetupCountdownTime);
Wait Until(Count Of(Filtered Array(All Players(All Teams), Current Array Element.Scrim_PlayerReady == True)) < Count Of(
All Players(All Teams)), Global.Scrim_SetupCountdownTime);
If(Count Of(Filtered Array(All Players(All Teams), Current Array Element.Scrim_PlayerReady == True)) < Count Of(All Players(
All Teams)));
Small Message(All Players(All Teams), Custom String("Someone unreadied, resetting setup time"));
- Wait Until(Count Of(Filtered Array(All Players(All Teams), Current Array Element.PlayerReady == True)) < Count Of(All Players(
- All Teams)), Global.Scrim_SetupCountdownTime);
- If(Count Of(Filtered Array(All Players(All Teams), Current Array Element.PlayerReady == True)) < Count Of(All Players(All Teams)));
- Small Message(All Players(All Teams), Custom String("Someone unreadied, resetting setup time!"));
- Set Match Time(3600);
- End;
- }
- }
rule("Game: In Progress")
- rule("Game: Begin")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Game In Progress == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
- }
- actions
- {
- Destroy All HUD Text;
- }
- }
- rule("Game: Reset Player Ready Status")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
Global.Scrim_EnableReadyUpSystem == True;
- Is Game In Progress == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
- }
- actions
- {
- Wait(0.016, Ignore Condition);
Event Player.Scrim_PlayerReady = False;
Event Player.Scrim_PlayerReadyIcon = Icon String(X);
- Event Player.PlayerReady = False;
- Event Player.PlayerReadyIcon = Icon String(X);
- }
- }
- rule("Scoreboard: Create HUD Text")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Is Game In Progress == True;
Global.Scrim_EnableSpecScoreboard == True;
- (Match Round == 1 || Global.Scrim_RequireReadyEveryRound) == True;
- Global.Scrim_ScoreboardEnabled == True;
- }
- actions
- {
- Wait(0.016, Ignore Condition);
- Create HUD Text(Null, Null, Custom String("{0} {1} / {2}", Hero Icon String(Hero Of(Event Player)), Custom String(
- "{0} / {1} / {2}", Player Stat(Event Player, Final Blows), Player Stat(Event Player, Deaths), Array Contains(
- All Support Heroes, Hero Of(Event Player)) ? Round To Integer(Player Stat(Event Player, Healing Dealt), To Nearest)
- : Round To Integer(Player Stat(Event Player, Hero Damage Dealt), Up)), Custom String("{0} / {1} / {2}", Round To Integer(
- Player Stat(Event Player, Damage Taken), To Nearest), Array Contains(All Tank Heroes, Hero Of(Event Player))
- ? Round To Integer(Player Stat(Event Player, Damage Blocked), To Nearest) : Player Stat(Event Player, Offensive Assists),
- Player Stat(Event Player, Ultimates Used))), Null, Left, Slot Of(Event Player) * 0.100 + (Team Of(Event Player)
- == Team 1 ? 5 : 6), Null, Team Of(Event Player) == Team 1 ? Color(Blue) : Color(Red), Null, String, Visible Always);
- }
- }
rule("Scoreboard: Host Spectator Toggle")
{
event
{
Ongoing - Global;
}
conditions
{
Is Game In Progress == True;
Global.Scrim_EnableSpecScoreboard == True;
Global.Scrim_AllowHostHideScoreboard == True;
Is Button Held(Host Player, Button(Jump)) == True;
Is Button Held(Host Player, Button(Ultimate)) == True;
Team Of(Host Player) == All Teams;
}
actions
{
If(Global.Scrim_HideScoreboardID == Null);
Small Message(All Players(All Teams), Custom String("Host Toggled Scoreboard Off"));
Create HUD Text(Host Player, Null, Null, Custom String(
" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"),
Left, 0, Color(White), Color(White), Color(White), Visible To and String, Visible Always);
Global.Scrim_HideScoreboardID = Last Text ID;
Else;
Small Message(All Players(All Teams), Custom String("Host Toggled Scoreboard On"));
Destroy HUD Text(Global.Scrim_HideScoreboardID);
Global.Scrim_HideScoreboardID = Null;
End;
}
}
rule("Round Complete: Ensure Map Completion (Map Completion Mode)")
- rule("Round End: Ensure Map Completion (Map Completion Mode)")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Between Rounds == True;
- Current Game Mode != Game Mode(Control);
- Global.Scrim_MapCompleteMode == True;
- Team Score(Is Team On Offense(Team 1) ? Team 1 : Team 2) < (Current Game Mode == Game Mode(Assault) ? 2 : 3);
- }
- actions
- {
Wait(0.016, Ignore Condition);
- If(Current Game Mode == Game Mode(Assault));
- Small Message(All Players(All Teams), Custom String(
- "Map Completion Mode is enabled - Forcing {0}'s score to {1} to ensure map completion", Is Team On Offense(Team 1)
- ? Team 1 : Team 2, 2));
- Set Team Score(Is Team On Offense(Team 1) ? Team 1 : Team 2, 2);
- Else;
- Small Message(All Players(All Teams), Custom String(
- "Map Completion Mode is enabled - Forcing {0}'s score to {1} to ensure map completion", Is Team On Offense(Team 1)
- ? Team 1 : Team 2, 3));
- Set Team Score(Is Team On Offense(Team 1) ? Team 1 : Team 2, 3);
- End;
- }
- }
rule("Round Complete: Force Match End After Two Rounds (Map Completion Mode)")
- rule("Round End: Force Match End After Two Rounds (Map Completion Mode)")
- {
- event
- {
- Ongoing - Global;
- }
- conditions
- {
- Is Between Rounds == True;
- Current Game Mode != Game Mode(Control);
- Match Round == 2;
- Global.Scrim_MapCompleteMode == True;
- Global.Scrim_ForceMatchEndAftTwoRounds == True;
- }
- actions
- {
- Small Message(All Players(All Teams), Custom String("Map Completion Mode is enabled - Concluding match after two rounds",
- Is Team On Offense(Team 1) ? Team 1 : Team 2, 2));
- Wait(1, Ignore Condition);
Declare Match Draw;
- Declare Team Victory(Is Team On Offense(Team 1) ? Team 1 : Team 2);
- }
- }