Create
Return to post

Comparing difference between and

View raw
  • settings
  • {
  • main
  • {
  • Description: "Play through the parkour with Translocator and EMP. Test your Translocator throwing and bouncing angles, trajectory prediction, and EMP jump boost. You can activate Timed Mode to see how fast you can finish this parkour.\r\n\r\nMore workshops: workshop.codes/users/DragonEngineer\r\nDragonEngineer's Workshop Discord: discord.gg/9su249k"
  • Mode Name: "Translocator Parkour"
  • }
  • lobby
  • {
  • Allow Players Who Are In Queue: Yes
  • Map Rotation: After A Game
  • Max Spectators: 6
  • Max Team 1 Players: 12
  • Max Team 2 Players: 0
  • Return To Lobby: Never
  • }
  • modes
  • {
  • Skirmish
  • {
  • enabled maps
  • {
  • Watchpoint: Gibraltar
  • }
  • }
  • General
  • {
  • Hero Limit: Off
  • Kill Cam: Off
  • Kill Feed: Off
  • Respawn As Random Hero: On
  • Spawn Health Packs: Disabled
  • }
  • }
  • heroes
  • {
  • General
  • {
  • Sombra
  • {
  • Hack: Off
  • Primary Fire: Off
  • Spawn With Ultimate Ready: On
  • Stealth: Off
  • }
  • enabled heroes
  • {
  • Sombra
  • }
  • }
  • }
  • }
  • variables
  • {
  • global:
  • 0: checkpointRadius
  • 1: parkour_CheckpointsList
  • 2: bestPlayer
  • 3: bestTime
  • 4: tempSwapVariable
  • player:
  • 0: currentCP
  • 1: cameraState
  • 2: playerFacing
  • 3: parkourTimeUsed
  • 4: record
  • 5: timedMode
  • }
  • subroutines
  • {
  • 0: ResetAbilities
  • 1: SetLeaderboard
  • }
  • rule("[Init] Global variables and disable stuff")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Disable Inspector Recording;
  • Global.checkpointRadius = 1;
  • Set Match Time(3599);
  • "Leaderboard stuff"
  • Global.bestPlayer = Array(String("None"), String("None"), String("None"));
  • Global.bestTime = Array(0, 0, 0);
  • }
  • }
  • rule("[Init] Player variable")
  • {
  • event
  • {
  • Player Joined Match;
  • All;
  • All;
  • }
  • actions
  • {
  • Event Player.timedMode = False;
  • "Disable collision"
  • Disable Movement Collision With Players(Event Player);
  • "Disable HUD"
  • Disable Game Mode HUD(Event Player);
  • }
  • }
  • rule("[Start] Teleport to spot")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • "Teleport to first checkpoint"
  • Teleport(Event Player, First Of(Global.parkour_CheckpointsList)[0]);
  • "If allow Translocator/EMP, enable it"
  • Set Ability 2 Enabled(Event Player, First Of(Global.parkour_CheckpointsList)[1]);
  • Set Ultimate Ability Enabled(Event Player, First Of(Global.parkour_CheckpointsList)[2]);
  • }
  • }
  • rule("[Start] Toggle timed mode")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Melee)) == True;
  • Event Player.currentCP == 0;
  • Distance Between(Position Of(Event Player), First Of(Global.parkour_CheckpointsList)[0]) <= Global.checkpointRadius;
  • "Not using translocator or EMP"
  • Is Using Ultimate(Event Player) == False;
  • Is Using Ability 2(Event Player) == False;
  • }
  • actions
  • {
  • Event Player.timedMode = !Event Player.timedMode;
  • "Enable timed mode"
  • If(Event Player.timedMode);
  • Play Effect(Event Player, Buff Explosion Sound, Color(White), Event Player, 75);
  • "Disable timed mode"
  • Else;
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • Event Player.parkourTimeUsed = 0;
  • Play Effect(Event Player, Ring Explosion Sound, Color(White), Event Player, 75);
  • End;
  • }
  • }
  • rule("[Start] Start timer when player uses Translocator/EMP, for timed mode enabled")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.timedMode == True;
  • (Is Using Ability 2(Event Player) || Is Using Ultimate(Event Player) || Distance Between(Position Of(Event Player), First Of(
  • Global.parkour_CheckpointsList)[0]) > Global.checkpointRadius) == True;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Event Player, parkourTimeUsed, 10000, 1, Destination and Rate);
  • }
  • }
  • rule("[Parkour] Disable jump if in air")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is In Air(Event Player) == True;
  • }
  • actions
  • {
  • Set Jump Enabled(Event Player, False);
  • }
  • }
  • rule("[Parkour] Re-enable jump is on ground")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is On Ground(Event Player) == True;
  • }
  • actions
  • {
  • Set Jump Enabled(Event Player, True);
  • }
  • }
  • rule("[Parkour] Toggle camera")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • Is Button Held(Event Player, Button(Ability 1)) == False;
  • }
  • actions
  • {
  • If(Event Player.cameraState == False);
  • Abort If(Event Player.currentCP == Count Of(Global.parkour_CheckpointsList) - 1);
  • Event Player.playerFacing = Facing Direction Of(Event Player);
  • Start Camera(Event Player, Ray Cast Hit Position(Global.parkour_CheckpointsList[Event Player.currentCP + 1][0],
  • Global.parkour_CheckpointsList[Event Player.currentCP + 1][0] + Vector(X Component Of(Facing Direction Of(Event Player)),
  • Absolute Value(Y Component Of(Facing Direction Of(Event Player))), Z Component Of(Facing Direction Of(Event Player))) * 12,
  • Null, All Players(All Teams), False), Global.parkour_CheckpointsList[Event Player.currentCP + 1][0], 5);
  • Start Forcing Player Outlines(Event Player, Event Player, True, Color(Yellow), Always);
  • Event Player.cameraState = True;
  • Else;
  • Stop Camera(Event Player);
  • Set Facing(Event Player, Event Player.playerFacing, To World);
  • Stop Forcing Player Outlines(Event Player, Event Player);
  • Event Player.cameraState = False;
  • End;
  • }
  • }
  • rule("[Parkour] Reset translocator cooldown if cancelled")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Using Ability 2(Event Player) == True;
  • Is Button Held(Event Player, Button(Interact)) == True;
  • }
  • actions
  • {
  • Wait(0.100, Ignore Condition);
  • "Only reset cooldown if player is in the current checkpoint"
  • If(Distance Between(Position Of(Event Player), Global.parkour_CheckpointsList[Event Player.currentCP][0])
  • <= Global.checkpointRadius);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 0);
  • End;
  • }
  • }
  • rule("[Parkour] If crouching, set move speed to 50% to allow fine tuning")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == True;
  • }
  • actions
  • {
  • Set Move Speed(Event Player, 50);
  • }
  • }
  • rule("[Parkour] If not crouching, set back to default speed")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Crouching(Event Player) == False;
  • }
  • actions
  • {
  • Set Move Speed(Event Player, 100);
  • }
  • }
  • rule("[Checkpoint] Failed jump, teleport player back")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is On Ground(Event Player) == True;
  • (Distance Between(Position Of(Event Player), Global.parkour_CheckpointsList[Event Player.currentCP][0])
  • > Global.checkpointRadius && Distance Between(Position Of(Event Player),
  • Global.parkour_CheckpointsList[Event Player.currentCP + 1][0]) > Global.checkpointRadius) == True;
  • }
  • actions
  • {
  • "Grace period for translocator"
  • If(Is Using Ability 2(Event Player));
  • Wait(0.020, Abort When False);
  • End;
  • Call Subroutine(ResetAbilities);
  • "Reset time for player if it's the starting point"
  • If(Event Player.currentCP == 0);
  • Event Player.parkourTimeUsed = 0;
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • End;
  • }
  • }
  • rule("[Checkpoint] Player died to environment, respawn back")
  • {
  • event
  • {
  • Player Died;
  • All;
  • All;
  • }
  • actions
  • {
  • "Teleport player back"
  • Call Subroutine(ResetAbilities);
  • Resurrect(Event Player);
  • "Reset time for player if it's the starting point"
  • If(Event Player.currentCP == 0);
  • Event Player.parkourTimeUsed = 0;
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • End;
  • }
  • }
  • rule("[Checkpoint] Successful jump")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • Is On Ground(Event Player) == True;
  • Is Alive(Event Player) == True;
  • Distance Between(Position Of(Event Player), Global.parkour_CheckpointsList[Event Player.currentCP + 1][0])
  • <= Global.checkpointRadius;
  • Event Player.currentCP < Count Of(Global.parkour_CheckpointsList) - 1;
  • }
  • actions
  • {
  • Wait(0.100, Abort When False);
  • Event Player.currentCP += 1;
  • Play Effect(Event Player, Buff Explosion Sound, Color(White), Event Player, 50);
  • Play Effect(Event Player, Good Pickup Effect, Color(Green), Event Player, 1.500);
  • Call Subroutine(ResetAbilities);
  • }
  • }
  • rule("[Checkpoint] Reached last checkpoint")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Event Player.currentCP == Count Of(Global.parkour_CheckpointsList) - 1;
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • Stop Camera(Event Player);
  • "For timed mode players"
  • If(Event Player.timedMode);
  • "Set new record"
  • If(Event Player.record == 0 || Event Player.parkourTimeUsed < Event Player.record);
  • Small Message(Event Player, String("{0}!", String("New Record")));
  • Event Player.record = Event Player.parkourTimeUsed;
  • End;
  • "Announcement"
  • Big Message(All Players(All Teams), Custom String("{0} has finished the parkour in {1}:{2}", Event Player, Round To Integer(
  • Event Player.parkourTimeUsed / 60, Down), Local Player.parkourTimeUsed % 60 < 10 ? Custom String("0{0}",
  • Local Player.parkourTimeUsed % 60) : Local Player.parkourTimeUsed % 60));
  • Call Subroutine(SetLeaderboard);
  • "For non-timed mode players"
  • Else;
  • "Announcement"
  • Big Message(All Players(All Teams), Custom String("{0} has finished the parkour", Event Player));
  • End;
  • Wait(5, Ignore Condition);
  • "Reset variables"
  • Event Player.parkourTimeUsed = 0;
  • Event Player.currentCP = 0;
  • Event Player.cameraState = False;
  • Call Subroutine(ResetAbilities);
  • }
  • }
  • rule("[Checkpoint] Quick reset checkpoint")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Call Subroutine(ResetAbilities);
  • "Reset time for player if it's the starting point"
  • If(Event Player.currentCP == 0);
  • Event Player.parkourTimeUsed = 0;
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • End;
  • }
  • }
  • rule("[Checkpoint] Reset parkour")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Reload)) == True;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Small Message(Event Player, Custom String("Resetting Parkour... (Hold for 3 seconds)"));
  • Wait(3, Abort When False);
  • "Stop chasing time and stop camera"
  • Stop Chasing Player Variable(Event Player, parkourTimeUsed);
  • Stop Camera(Event Player);
  • "Reset variables"
  • Event Player.parkourTimeUsed = 0;
  • Event Player.currentCP = 0;
  • Event Player.cameraState = False;
  • Call Subroutine(ResetAbilities);
  • }
  • }
  • rule("[Checkpoint] Skip to next checkpoint (non-timed runs only)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 1)) == True;
  • Is Button Held(Event Player, Button(Secondary Fire)) == True;
  • Event Player.currentCP < Count Of(Global.parkour_CheckpointsList) - 1;
  • Event Player.timedMode == False;
  • }
  • actions
  • {
  • Event Player.currentCP += 1;
  • Call Subroutine(ResetAbilities);
  • }
  • }
  • rule("[Checkpoint] Go back to previous checkpoint (non-timed runs only)")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Button(Ability 1)) == True;
  • Is Button Held(Event Player, Button(Primary Fire)) == True;
  • Event Player.currentCP > 0;
  • Event Player.timedMode == False;
  • }
  • actions
  • {
  • Event Player.currentCP -= 1;
  • Call Subroutine(ResetAbilities);
  • }
  • }
  • rule("[Timer] If less than 1 minute left, set timer to 3600")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Match Time < 60;
  • }
  • actions
  • {
  • Set Match Time(3599);
  • }
  • }
  • rule("[Effects] Create HUDs and effects")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "This area for matchmaking timer"
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String(" \r\n \r\n \r\n "), Left, 0, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • "Timed Mode"
  • Create HUD Text(Local Player.currentCP == 0 && Distance Between(First Of(Global.parkour_CheckpointsList)[0], Position Of(
  • Local Player)) <= Global.checkpointRadius && !Is Using Ability 2(Local Player) && !Is Using Ultimate(Local Player)
  • ? Local Player : Null, Custom String(" {0} Timed Mode: {1} ", Ability Icon String(Hero(Tracer), Button(Ability 1)),
  • Local Player.timedMode ? Icon String(Checkmark) : Icon String(X)), Custom String(" "), Custom String("[{0}] - Toggle",
  • Input Binding String(Button(Melee))), Left, 1, Local Player.timedMode ? Color(Green) : Color(Orange), Color(Blue), Color(
  • White), Visible To String and Color, Default Visibility);
  • "Toggle camera"
  • Create HUD Text(Local Player, Icon String(Eye), Custom String("View next checkpoint"), Custom String("[{0}]", Input Binding String(
  • Button(Secondary Fire))), Left, 2, Color(Aqua), Color(Aqua), Color(White), Visible To and String, Default Visibility);
  • "Quick reset"
  • Create HUD Text(Local Player, Icon String(Recycle), Custom String("Quick Reset"), Custom String("[{0}]", Input Binding String(
  • Button(Reload))), Left, 3, Color(Rose), Color(Rose), Color(White), Visible To and String, Default Visibility);
  • "Reset Parkour"
  • Create HUD Text(Local Player, Icon String(Trashcan), Custom String("Reset Parkour"), Custom String("[{0}] - Hold 3s",
  • Input Binding String(Button(Reload))), Left, 4, Color(Red), Color(Red), Color(White), Visible To and String,
  • Default Visibility);
  • "Next checkpoint"
  • Create HUD Text(Local Player.timedMode ? Null : Local Player, Icon String(Arrow: Right), Custom String("Skip to next checkpoint"),
  • Custom String("[{0}] + [{1}]", Input Binding String(Button(Ability 1)), Input Binding String(Button(Secondary Fire))), Left, 5,
  • Color(Orange), Color(Orange), Color(White), Visible To and String, Default Visibility);
  • "Prev checkpoint"
  • Create HUD Text(Local Player.timedMode ? Null : Local Player, Icon String(Arrow: Left), Custom String("Go to previous checkpoint"),
  • Custom String("[{0}] + [{1}]", Input Binding String(Button(Ability 1)), Input Binding String(Button(Primary Fire))), Left, 6,
  • Color(Lime Green), Color(Lime Green), Color(White), Visible To and String, Default Visibility);
  • "Toggle camera in world text"
  • Create In-World Text(Local Player.currentCP <= 5 ? Local Player : Null, Custom String("{0} Press [{1}] to view next checkpoint.",
  • Icon String(Eye), Input Binding String(Button(Secondary Fire))), Global.parkour_CheckpointsList[1][0] + Vector(0, 5, 0), 1.500,
  • Do Not Clip, Visible To Position and String, Color(Aqua), Default Visibility);
  • "Creator info"
  • Create HUD Text(All Players(All Teams), Custom String(" CGQTB "), Custom String("{0} Translocator Parkour by DragonEngineer",
  • Ability Icon String(Hero(Sombra), Button(Ability 2))), Custom String("discord.gg/9su249k [All lowercase]"), Right, 0, Color(
  • Purple), Color(Green), Color(Yellow), Visible To and String, Default Visibility);
  • "Timer HUD"
  • Create HUD Text(Local Player, Custom String(" {0} [ {2} ] {1} ", Custom String("{1}:{2} < {0}", Ability Icon String(Hero(Lúcio),
  • Button(Ability 2)), Round To Integer(Local Player.parkourTimeUsed / 60, Down),
  • Local Player.parkourTimeUsed % 60 < 10 ? Custom String("0{0}", Local Player.parkourTimeUsed % 60)
  • : Local Player.parkourTimeUsed % 60), Custom String("{0} > {1}/{2}", Icon String(Flag), Local Player.currentCP, Count Of(
  • Global.parkour_CheckpointsList) - 1), Ability Icon String(Hero(Sombra), Button(Ability 2))), Custom String(" "), Custom String(
  • " "), Top, 0, Local Player.timedMode ? Color(Green) : Color(Orange), Color(White), Color(White), Visible To String and Color,
  • Default Visibility);
  • "Checkpoint effects"
  • Create Effect(Local Player, Ring, Color(Green), Global.parkour_CheckpointsList[Local Player.currentCP][0], Global.checkpointRadius,
  • Visible To Position and Radius);
  • Create Effect(Local Player.currentCP == Count Of(Global.parkour_CheckpointsList) - 1 ? Null : Local Player, Ring, Color(Aqua),
  • Global.parkour_CheckpointsList[Local Player.currentCP + 1][0], Global.checkpointRadius, Visible To Position and Radius);
  • Create Effect(Local Player.currentCP == Count Of(Global.parkour_CheckpointsList) - 1 ? Null : Local Player, Light Shaft, Color(
  • Sky Blue), Global.parkour_CheckpointsList[Local Player.currentCP + 1][0], Global.checkpointRadius,
  • Visible To Position and Radius);
  • Create Icon(Local Player.currentCP == Count Of(Global.parkour_CheckpointsList) - 1 ? Null : Local Player,
  • Global.parkour_CheckpointsList[Local Player.currentCP + 1][0], Arrow: Down, Visible To and Position, Color(Yellow), True);
  • "Leaderboard"
  • Create HUD Text(All Players(All Teams), Null, Custom String(" "), Custom String("1st - {0} - {1}:{2}", Global.bestPlayer[0],
  • Round To Integer(Global.bestTime[0] / 60, Down), Global.bestTime[0] % 60 < 10 ? Custom String("0{0}", Global.bestTime[0] % 60)
  • : Global.bestTime[0] % 60), Right, 1, Color(White), Color(White), Custom Color(255, 215, 0, 255), Visible To and String,
  • Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("2nd - {0} - {1}:{2}", Global.bestPlayer[1], Round To Integer(
  • Global.bestTime[1] / 60, Down), Global.bestTime[1] % 60 < 10 ? Custom String("0{0}", Global.bestTime[1] % 60)
  • : Global.bestTime[1] % 60), Right, 2, Color(White), Color(White), Custom Color(192, 192, 192, 255), Visible To and String,
  • Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("3rd - {0} - {1}:{2}", Global.bestPlayer[2], Round To Integer(
  • Global.bestTime[2] / 60, Down), Global.bestTime[2] % 60 < 10 ? Custom String("0{0}", Global.bestTime[2] % 60)
  • : Global.bestTime[2] % 60), Right, 3, Color(White), Color(White), Custom Color(176, 141, 87, 255), Visible To and String,
  • Default Visibility);
  • "Personal Best score"
  • Create HUD Text(Local Player, Null, Custom String(" "), Custom String("{0} - {1}:{2}", String("High Score"), Round To Integer(
  • Local Player.record / 60, Down), Local Player.record % 60 < 10 ? Custom String("0{0}", Local Player.record % 60)
  • : Local Player.record % 60), Right, 4, Color(White), Color(White), Color(Lime Green), Visible To and String,
  • Default Visibility);
  • }
  • }
  • rule("[Subroutine] Reset abilties when failed/success/reset/skip")
  • {
  • event
  • {
  • Subroutine;
  • ResetAbilities;
  • }
  • actions
  • {
  • "Teleport player back"
  • Teleport(Event Player, Global.parkour_CheckpointsList[Event Player.currentCP][0]);
  • Wait(0.016, Ignore Condition);
  • "Clear any existing translocator"
  • Press Button(Event Player, Button(Interact));
  • "If allow Translocator/EMP, enable it"
  • Set Ability 2 Enabled(Event Player, Global.parkour_CheckpointsList[Event Player.currentCP][1]);
  • Set Ultimate Ability Enabled(Event Player, Global.parkour_CheckpointsList[Event Player.currentCP][2]);
  • "If translocator allowed, reset cooldown"
  • If(Global.parkour_CheckpointsList[Event Player.currentCP][1]);
  • Set Ability Cooldown(Event Player, Button(Ability 2), 0);
  • End;
  • "If EMP allowed, set ult charge to 100%"
  • If(Global.parkour_CheckpointsList[Event Player.currentCP][2]);
  • Set Ultimate Charge(Event Player, 100);
  • End;
  • "Temporarily root the player so the player can't translocate out after resetting"
  • Set Status(Event Player, Null, Rooted, 0.250);
  • }
  • }
  • rule("[Subroutine] - Set Leaderboard")
  • {
  • event
  • {
  • Subroutine;
  • SetLeaderboard;
  • }
  • actions
  • {
  • "If there's still empty slots, then just put the player in 3rd place, then sort the leaderboard"
  • If(Is True For Any(Global.bestTime, Current Array Element == 0));
  • Global.bestPlayer[2] = Custom String("{0}", Event Player);
  • Global.bestTime[2] = Event Player.parkourTimeUsed;
  • "Else If the player beats any of the leaderboard timing, then put the player in 3rd place and sort the leaderboard"
  • Else If(Is True For Any(Global.bestTime, Event Player.parkourTimeUsed < Current Array Element));
  • Global.bestPlayer[2] = Custom String("{0}", Event Player);
  • Global.bestTime[2] = Event Player.parkourTimeUsed;
  • Else;
  • Abort;
  • End;
  • "Sorting..."
  • If(Global.bestTime[1] == 0 || Global.bestTime[2] < Global.bestTime[1]);
  • Global.tempSwapVariable = Array(Global.bestTime[1], Global.bestPlayer[1]);
  • Global.bestTime[1] = Global.bestTime[2];
  • Global.bestPlayer[1] = Global.bestPlayer[2];
  • Global.bestTime[2] = Global.tempSwapVariable[0];
  • Global.bestPlayer[2] = Global.tempSwapVariable[1];
  • End;
  • "Sorting..."
  • If(Global.bestTime[0] == 0 || Global.bestTime[1] < Global.bestTime[0]);
  • Global.tempSwapVariable = Array(Global.bestTime[0], Global.bestPlayer[0]);
  • Global.bestTime[0] = Global.bestTime[1];
  • Global.bestPlayer[0] = Global.bestPlayer[1];
  • Global.bestTime[1] = Global.tempSwapVariable[0];
  • Global.bestPlayer[1] = Global.tempSwapVariable[1];
  • End;
  • }
  • }
  • disabled rule("----- Map data -----")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("[Init] Parkour checkpoints list for Watchpoint Gibraltar (0 - checkpoint position, 1 - allow Translocator, 2 - allow EMP) - NEW")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Watchpoint: Gibraltar);
  • }
  • actions
  • {
  • "Checkpoint 0"
  • Global.parkour_CheckpointsList = Array(Array(Vector(82.500, -0.500, 40), True, False));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(69.100, 0.500, 26.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(68.600, 4.500, 45), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(94.400, 6.100, 44.400), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(91.800, -0.900, 46), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(86.900, -0.900, 50.900), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(86.200, -0.900, 62.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(86.500, 6.100, 52), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(101.800, -0.900, 44.800), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(81.300, 1, 24.600), True, False)));
  • "Checkpoint 10"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(60.500, 8.700, 34.900), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(68.400, 1, 40.100), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.500, -0.800, 37), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.500, 9, 20.300), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(70.600, 9, 13.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(58.300, 8.400, 20.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(45.400, 9, 13.300), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(45.600, 3, 13.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.900, -3.200, -1), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(78.200, -3.200, -13.400), True, True)));
  • "Checkpoint 20"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(97.200, 3, -24.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(79.300, 3, -36), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(53, -3, -17.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(74.700, -3, -39.500), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.200, 3, -40), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(69.400, 13.700, -37.700), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(60.500, 3.300, -44.300), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(68.800, -3, -52.700), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(52.300, -3.100, -34.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(54.200, 3.300, -49.200), False, True)));
  • "Checkpoint 30"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(57.200, -2.800, -48.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(52.200, -5, -66.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(41, 3, -74.100), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(39.600, -5, -75.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(50.500, -5.200, -48.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(46.200, 3, -35.300), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(21.600, 3, -59.700), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(20.700, -5.200, -70.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(7.500, -5, -79.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(-3.400, -1, -90.800), True, True)));
  • "Checkpoint 40"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(-1.100, -2, -110.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(8.300, -2, -101.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(24, 0, -105.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(32.700, 6.600, -109), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(30.400, 3, -82.100), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(30.400, -5, -82.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(42.600, -2.200, -94.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(29.700, 4, -106.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(57.800, 9.600, -118), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(34.200, 4, -119.900), True, False)));
  • "Checkpoint 50"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(38.300, -4, -123.800), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(46.400, 4, -132), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(54, 1, -138.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(62.600, -6, -149.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(65.400, -2.200, -127.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(24.300, -2, -144), False, False)));
  • }
  • }
  • disabled rule("Old Checkpoints list, replace the Checkpoints List with this if you want to play the original version.")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Current Map == Map(Watchpoint: Gibraltar);
  • }
  • actions
  • {
  • "Checkpoint 0"
  • Global.parkour_CheckpointsList = Array(Array(Vector(82.500, -0.500, 40), True, False));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(69.100, 0.500, 26.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(68.600, 4.500, 45), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(94.400, 6.100, 44.400), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(91.800, -1, 46), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(72.200, 1, 52.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(65.800, 1, 41), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(74.200, -1, 44.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(73.500, -1, 57.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(89.300, -1, 66.300), True, False)));
  • "Checkpoint 10"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(86.800, 6.100, 52.500), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(103.700, -1, 46.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(81.500, 1, 24.800), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(58.500, 7.600, 36.500), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(64.700, 1, 31.800), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.900, 9, 19.900), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(70.700, 9, 13.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(56.200, 1, 34.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(52.200, 1, 21.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(41.100, 3, 19.600), True, True)));
  • "Checkpoint 20"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(41.600, 3, 9.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(58.800, 8.400, 20.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(61.100, 1, -2.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(46.400, 2.700, 1), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(50, 3, 3.100), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(56.400, 1, 9.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.400, 1, 14.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(95.500, 1, 20.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(85.500, -1.300, 0.400), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(80.600, -3.200, -7.500), True, False)));
  • "Checkpoint 30"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.500, -3.200, -12.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(95.100, 3, -24.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(91.500, -3, -41.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(71, -2.800, -27.800), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(54.200, -3, -18.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(74.600, -3, -39.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(75.500, 3, -40), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(69.400, 13.700, -37.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(60.700, 3.300, -44.500), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(80.800, 1, -59.100), True, False)));
  • "Checkpoint 40"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(66.200, -3, -50), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(74.900, 2.100, -34.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(54.100, 3.300, -46.300), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(57.500, -2.800, -48.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(52.900, -5, -66.400), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(40, 3, -75.300), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(40, -5, -75.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(48.400, -5.200, -46.400), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(31, -1, -37.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(62.600, -3.100, -30), True, False)));
  • "Checkpoint 50"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(53.500, 11.100, -29.300), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(22.800, 3, -58.400), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(22.300, 4.300, -64), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(21.500, -5, -59.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(11.100, 3, -70), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(11.100, -5, -70.300), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(14, -5.200, -78), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(0.700, -2, -86.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(1.600, 0.100, -89.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(-0.600, -2, -110.200), True, False)));
  • "Checkpoint 60"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(8.400, -2, -101.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(24.100, 0, -105.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(32.800, 6.600, -108.900), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(34, -0.300, -113.800), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(31.100, 4, -85.300), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(30.400, -5, -82.100), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(39.800, -11, -93.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(31.500, -11.100, -102.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(19.600, -11, -108), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(37.500, -11, -108), True, True)));
  • "Checkpoint 70"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(38.900, 0, -110.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(57.800, 9.600, -117.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(27.300, 4, -109), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(35.600, 4, -117.700), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(45.800, -5.900, -117.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(56.200, 1, -138.400), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(63, -6.200, -144.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(37.700, 0.400, -148.100), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(69.500, -6.900, -116.300), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(71, -6.400, -136.900), True, False)));
  • "Checkpoint 80"
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(57.400, -7.800, -154.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(51.300, -6.600, -161), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(41, -4, -150.600), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(37.700, -4.800, -141.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(39.300, -3.300, -151.900), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(42.900, 4, -127.500), False, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(35.200, -4, -122.200), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(29.900, -2, -124.700), True, True)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(20.400, 6, -127.200), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(23.100, -6.100, -158.600), True, False)));
  • Modify Global Variable(parkour_CheckpointsList, Append To Array, Array(Array(Vector(35, -2.600, -136.800), False, False)));
  • }
  • }
Join the Workshop.codes Discord