Return to post
- 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))));
- }
- }