Create
Return to post

Comparing difference between and

View raw
  • rule("global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.A = Array(Vector(81.300, 12.680, -93.900), Vector(57.570, 17.723, -104.210), Vector(56.368, 21.003, -68.186), Vector(10.512,
  • 11.011, -85), Vector(12.049, 6.011, -87.237), Vector(14.350, 4.600, -47.465), Vector(-11.441, 3.020, -71.039), Vector(2.311, 6,
  • 0.950));
  • Global.B = Array(3, 3, 5, 3, 1.750, 1.800, 2, 2.200);
  • Global.C = Vector(88.142, 12.680, -67.377);
  • Global.E = Workshop Setting Integer(Custom String("Score"), Custom String("Minimum points for effects"), 8, 1, 8);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[0], 3, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[1], 3, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[2], 5, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[3], 3, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[4], 1.750, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[5], 1.800, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[6], 2, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Orange, Global.A[7], 2.200, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Ring, Lime Green, Global.A[7], 2.100, Visible To Position and Radius);
  • Create Effect(All Players(All Teams), Sparkles, Lime Green, Global.A[7], 2.100, Visible To Position and Radius);
  • Create Effect(Filtered Array(All Players(All Teams), Current Array Element.F == False), Ring, Green, Global.C, 15,
  • Visible To Position and Radius);
  • Create In-World Text(Filtered Array(All Players(All Teams), Current Array Element.F == False), Custom String("Safe zone ^^"),
  • Global.C, 2, Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
  • Global.D = Workshop Setting Toggle(Custom String("Timer"), Custom String("Enable time saving"), False);
  • disabled Disable Inspector Recording;
  • }
  • }
  • rule("settings")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Has Spawned(Event Player) == True;
  • }
  • actions
  • {
  • Set Projectile Speed(Event Player, 59.871);
  • Disable Movement Collision With Players(Event Player);
  • Set Max Ammo(Event Player, 0, 4);
  • Set Ammo(Event Player, 0, 4);
  • Start Damage Modification(Event Player, Event Player, 0.001, None);
  • Set Reload Enabled(Event Player, False);
  • Event Player.A = Global.A[Workshop Setting Integer(Custom String("Checkpoints"), Custom String("Start checkpoint"), 1, 1, 7) - 1];
  • Teleport(Event Player, Event Player.A);
  • Create HUD Text(Filtered Array(All Players(All Teams), Event Player.B >= 8), Null, Custom String("/ {0} {1}         \\",
  • Create HUD Text(Filtered Array(All Players(All Teams), Event Player.B >= Global.E), Null, Custom String("/ {0} {1}         \\",
  • Hero Icon String(Hero Of(Event Player)), Event Player), Custom String("{0} = {1}:{2}", String("Время"), Round To Integer(
  • Event Player.D / 60, Down), Custom String("{0} .{1}", Round To Integer(Event Player.D % 60, Down), Round To Integer((
  • Event Player.D % 60 - Round To Integer(Event Player.D % 60, Down)) * 1000, Down))), Right, Event Player.D * -1, White, White,
  • White, Visible To and String, Default Visibility);
  • Event Player.D % 60 - Round To Integer(Event Player.D % 60, Down)) * 1000, Down))), Right, Event Player.D, White, White, White,
  • Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, String("Время"), Null, Top, 1, White, White, White, Visible To and String, Default Visibility);
  • Create HUD Text(Event Player, Null, Null, Custom String("{0}:{1}{2}", Round To Integer(Event Player.C / 60, Down), Filtered Array(
  • Array(Empty Array), Event Player.C % 60 < 9.999), Round To Integer(Event Player.C % 60, Down)), Top, 2, White, White, White,
  • Visible To and String, Default Visibility);
  • Create Icon(Filtered Array(Event Player, Index Of Array Value(Global.A, Event Player.A) != Index Of Array Value(Global.A, Last Of(
  • Global.A))), Global.A[Index Of Array Value(Global.A, Event Player.A) + 1] + Up * 2, Flag, Visible To and Position, Orange,
  • True);
  • Create In-World Text(Filtered Array(All Players(All Teams), Event Player.B >= Workshop Setting Integer(Custom String("Score"),
  • Custom String("Minimum points for icon"), 8, 1, 8)), Ability Icon String(Hero(Ориса), Button(Ability 1)),
  • Event Player + Up * 1.650, 1.500, Clip Against Surfaces, Visible To Position and String, White, Default Visibility);
  • Create Beam Effect(Event Player, Grapple Beam, Event Player.A, Event Player.A + Up * 4 + Right * 0.001, White,
  • Visible To Position and Radius);
  • Create Beam Effect(Event Player, Grapple Beam, Event Player.A + Up * 3.990, Event Player.A + Up * 3.600 + Right * 1, White,
  • Visible To Position and Radius);
  • Create Beam Effect(Event Player, Grapple Beam, Event Player.A + Up * 3.600 + Right * 1, Event Player.A + Up * 3.400, White,
  • Visible To Position and Radius);
  • Create Effect(Event Player, Ring, Yellow, Event Player.A, 0.050, Visible To Position and Radius);
  • Create Effect(Event Player, Light Shaft, Yellow, Event Player.A + Down * 10, 0.050, Visible To Position and Radius);
  • Disable Game Mode HUD(Event Player);
  • Event Player.B = 1;
  • Event Player.D = 100000;
  • Set Ability 1 Enabled(Event Player, False);
  • Set Ability 2 Enabled(Event Player, False);
  • Skip If(Workshop Setting Toggle(Custom String("Funny"), Custom String("Scale voice"), False) == False, 1);
  • Start Modifying Hero Voice Lines(Event Player, Event Player.C % 1.500, True);
  • }
  • }
  • rule("infinity ammo")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Ammo(Event Player, 0) == 1;
  • }
  • actions
  • {
  • Set Ammo(Event Player, 0, Max Ammo(Event Player, 0));
  • }
  • }
  • rule("is on ground")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A) + 1])
  • > Global.B[Index Of Array Value(Global.A, First Of(Sorted Array(Global.A, Distance Between(Position Of(Event Player),
  • Current Array Element))))];
  • Distance Between(Position Of(Event Player), Event Player.A) > Global.B[Index Of Array Value(Global.A, Event Player.A)];
  • Index Of Array Value(Global.A, Event Player.A) != Index Of Array Value(Global.A, Last Of(Global.A));
  • Is On Ground(Event Player) == True;
  • Event Player.F == False;
  • }
  • actions
  • {
  • Teleport(Event Player, Event Player.A);
  • Start Forcing Player Position(Event Player, Event Player + Right * 0.001, False);
  • Wait(0.016, Ignore Condition);
  • Stop Forcing Player Position(Event Player);
  • Set Facing(Event Player, Direction Towards(Eye Position(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A)
  • + 1]), To World);
  • Set Ammo(Event Player, 0, 4);
  • Skip If(Global.D == False, 1);
  • Event Player.C = Event Player.E;
  • }
  • }
  • rule("checkpoint")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A) + 1])
  • <= Global.B[Index Of Array Value(Global.A, First Of(Sorted Array(Global.A, Distance Between(Position Of(Event Player),
  • Current Array Element))))];
  • Event Player.A != First Of(Sorted Array(Global.A, Distance Between(Position Of(Event Player), Current Array Element)));
  • Is On Ground(Event Player) == True;
  • Event Player.F == False;
  • }
  • actions
  • {
  • Event Player.A = First Of(Sorted Array(Global.A, Distance Between(Position Of(Event Player), Current Array Element)));
  • Event Player.E = Event Player.C;
  • Play Effect(All Players(All Teams), Ring Explosion, Orange, Event Player.A + Up * 0.100, Global.B[Index Of Array Value(Global.A,
  • Event Player.A)] * 2.200);
  • Play Effect(All Players(All Teams), Buff Explosion Sound, White, Event Player.A, 30);
  • Event Player.B += 1;
  • }
  • }
  • rule("player died")
  • {
  • event
  • {
  • Player Died;
  • All;
  • Все;
  • }
  • actions
  • {
  • Wait(0.016, Ignore Condition);
  • Teleport(Event Player, Nearest Walkable Position(Event Player.A));
  • Resurrect(Event Player);
  • Set Facing(Event Player, Direction Towards(Eye Position(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A)
  • + 1]), To World);
  • Skip If(Event Player.F == True, 1);
  • Skip If(Global.D == False, 1);
  • Event Player.C = Event Player.E;
  • }
  • }
  • rule("start timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player), Global.A[0]) > Global.B[0];
  • Event Player.F == False;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Event Player, C, 3600, 1, None);
  • }
  • }
  • rule("restart")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Ultimate) == True;
  • }
  • actions
  • {
  • Wait(4, Abort When False);
  • Play Effect(All Players(All Teams), Ring Explosion Sound, White, Event Player, 50);
  • Stop Chasing Player Variable(Event Player, C);
  • Event Player.C = 0;
  • Event Player.A = First Of(Global.A);
  • Teleport(Event Player, Event Player.A);
  • Start Forcing Player Position(Event Player, Event Player + Right * 0.001, False);
  • Wait(0.016, Ignore Condition);
  • Stop Forcing Player Position(Event Player);
  • Set Facing(Event Player, Direction Towards(Eye Position(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A)
  • + 1]), To World);
  • Set Ammo(Event Player, 0, 4);
  • Set Ability 1 Enabled(Event Player, False);
  • Set Ability 2 Enabled(Event Player, False);
  • Event Player.B = 0;
  • If(Event Player.F == True);
  • Event Player.F = False;
  • Event Player.C = Event Player.E;
  • Skip If(Event Player.B >= Global.E, 1);
  • Stop Forcing Player Outlines(Event Player, All Players(All Teams));
  • End;
  • }
  • }
  • rule("reset position")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Is Button Held(Event Player, Ultimate) == True;
  • }
  • actions
  • {
  • Wait(0.016, Abort When False);
  • Teleport(Event Player, Event Player.A);
  • Start Forcing Player Position(Event Player, Event Player + Right * 0.001, False);
  • Wait(0.016, Ignore Condition);
  • Stop Forcing Player Position(Event Player);
  • Set Facing(Event Player, Direction Towards(Eye Position(Event Player), Global.A[Index Of Array Value(Global.A, Event Player.A)
  • + 1]), To World);
  • Set Ammo(Event Player, 0, 4);
  • Skip If(Global.D == False, 1);
  • Event Player.C = Event Player.E;
  • Set Ability 1 Enabled(Event Player, False);
  • Set Ability 2 Enabled(Event Player, False);
  • If(Event Player.F == True);
  • Event Player.F = False;
  • Event Player.C = Event Player.E;
  • Skip If(Event Player.B >= Global.E, 1);
  • Stop Forcing Player Outlines(Event Player, All Players(All Teams));
  • End;
  • }
  • }
  • rule("message")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Round To Integer(Event Player.B % 5, Down) == 1;
  • }
  • actions
  • {
  • Small Message(All Players(All Teams), Custom String("If you want to start over, hold \"{0}\" for 4 seconds", Input Binding String(
  • Button(Ultimate))));
  • Small Message(Event Player, Custom String("If you want to start over, hold \"{0}\" for 4 seconds", Input Binding String(Button(
  • Ultimate))));
  • }
  • }
  • rule("reset timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Distance Between(Position Of(Event Player), Global.A[0]) <= Global.B[0];
  • Index Of Array Value(Global.A, Event Player.A) == Index Of Array Value(Global.A, First Of(Global.A));
  • Event Player.F == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, C);
  • Event Player.C = 0;
  • }
  • }
  • rule("stop timer")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Index Of Array Value(Global.A, Event Player.A) == Index Of Array Value(Global.A, Last Of(Global.A));
  • Event Player.F == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Event Player, C);
  • Skip If(Event Player.C >= Event Player.D, 1);
  • Event Player.D = Event Player.C;
  • Communicate(Event Player, Emote Up);
  • Communicate(Event Player, Voice Line Up);
  • Play Effect(All Players(All Teams), Good Explosion, Green, Position Of(Event Player), 1);
  • Play Effect(All Players(All Teams), Ring Explosion Sound, Green, Event Player, 50);
  • Wait(0.016, Ignore Condition);
  • Big Message(All Players(All Teams), Custom String("{0} {1} {2}", Hero Icon String(Hero Of(Event Player)), Event Player,
  • Custom String("{0} {1} {2}", String("Достиг"), String("Цели"), Custom String("{0}:{1} {2}", Round To Integer(
  • Event Player.D / 60, Down), Event Player.D % 60, Icon String(Fire)))));
  • }
  • }
  • rule("glowing")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Event Player.B >= Workshop Setting Integer(Custom String("Score"), Custom String("Minimum points for effects"), 8, 1, 8);
  • Event Player.B >= Global.E;
  • }
  • actions
  • {
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Red);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Orange);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Yellow);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Lime Green);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Green);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Turquoise);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Aqua);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Sky Blue);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Blue);
  • Wait(0.350, Ignore Condition);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, Purple);
  • Wait(0.350, Ignore Condition);
  • Loop If Condition Is True;
  • }
  • }
  • rule("respawn")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Index Of Array Value(Global.A, Event Player.A) == Index Of Array Value(Global.A, Last Of(Global.A));
  • Distance Between(Position Of(Event Player), Global.A[Index Of Array Value(Global.A, Last Of(Global.A))]) > 15;
  • Event Player.F == False;
  • }
  • actions
  • {
  • Teleport(Event Player, Nearest Walkable Position(Global.C));
  • Event Player.A = First Of(Global.A);
  • Start Forcing Player Position(Event Player, Event Player + Right * 0.001, False);
  • Wait(0.016, Ignore Condition);
  • Stop Forcing Player Position(Event Player);
  • }
  • }
  • rule("safe zone")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Все;
  • }
  • conditions
  • {
  • Distance Between(Event Player, Global.C) <= 15;
  • Event Player.F == False;
  • }
  • actions
  • {
  • Event Player.F = True;
  • Set Ability 1 Enabled(Event Player, True);
  • Set Ability 2 Enabled(Event Player, True);
  • Event Player.C = 0;
  • Chase Player Variable At Rate(Event Player, C, 3600, 1, None);
  • Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 20);
  • Play Effect(All Players(All Teams), Ring Explosion, Green, Global.C + Up * 0.100, 33);
  • Small Message(All Players(All Teams), Custom String("You are in a safe zone, relax"));
  • Small Message(Event Player, Custom String("You are in a safe zone, relax"));
  • Skip If(Event Player.B >= Global.E, 1);
  • Start Forcing Player Outlines(Event Player, All Players(All Teams), True, White);
  • Wait(3, Ignore Condition);
  • Play Effect(Event Player, Buff Explosion Sound, White, Event Player, 20);
  • Small Message(All Players(All Teams), Custom String("If you want to exit, then press \"{0}\"", Input Binding String(Button(
  • Ultimate))));
  • Small Message(Event Player, Custom String("If you want to exit, then press \"{0}\"", Input Binding String(Button(Ultimate))));
  • }
  • }
Join the Workshop.codes Discord