Return to post
- settings
- {
- modes
- {
- Assault
- {
- Limit Roles: 2 Of Each Role Per Team
- enabled maps
- {
- }
- }
- Control
- {
- Limit Roles: 2 Of Each Role Per Team
- enabled maps
- {
- }
- }
- Escort
- {
- Limit Roles: 2 Of Each Role Per Team
- enabled maps
- {
- }
- }
- Hybrid
- {
- Limit Roles: 2 Of Each Role Per Team
- enabled maps
- {
- Blizzard World
- }
- }
- }
- heroes
- {
- General
- {
- Ability Cooldown Time: 0%
- }
- }
- }
- variables
- {
- global:
- 0: Effect_Pos
- 1: Sphere_Rad
- 2: Sphere_Color
- player:
- 0: Last_Pos
- 2: Last_Pos_TP
- }
- subroutines
- {
- 0: Last_Pos
- }
- rule("Global")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Global.Effect_Pos = Vector(-67.333, 2.398, 122.085);
- Global.Sphere_Rad = 10;
- Global.Sphere_Color = Color(Orange);
- Event Player.Last_Pos = Vector(11, 11, 11);
- }
- }
- rule("Effects")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
- Create Effect(All Players(All Teams), Sphere, Global.Sphere_Color, Global.Effect_Pos, Global.Sphere_Rad,
- Visible To Position and Radius);
- Create HUD Text(All Players(All Teams), Custom String("Created By | DarkShadow#24346"), Null, Null, Left, 0, Color(White), Color(
- White), Color(White), Visible To and String, Default Visibility);
- "De-Bug"
- disabled Create HUD Text(Host Player, Custom String("Pos: {0} Last_Pos: {1}", Position Of(Event Player), Event Player.Last_Pos), Null, Null,
- Left, 0, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
- Create HUD Text(All Players(All Teams), Custom String("TPLast: {0} Last: {1} Pos: {2}", Event Player.Last_Pos_TP,
- Event Player.Last_Pos, Position Of(Event Player)), Null, Null, Left, 0, Color(White), Color(White), Color(White),
- Visible To and String, Default Visibility);
- }
- }
- rule("Basic-Mechanics")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.700, All Teams, Off) == True;
- disabled Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad - 0.100, All Teams, Off) == False;
- }
- actions
- {
- disabled Apply Impulse(Event Player, Direction Towards(Global.Effect_Pos, Position Of(Event Player) + World Vector Of(Vector(0, 0, -1),
- Event Player, Rotation)), Distance Between(Position Of(Event Player), Event Player.Last_Pos), To World,
- Cancel Contrary Motion);
- disabled Apply Impulse(Event Player, Direction Towards(Global.Effect_Pos, Event Player.Last_Pos), Distance Between(Global.Effect_Pos,
- Position Of(Event Player)) <= Global.Sphere_Rad - 1 ? Distance Between(Position Of(Event Player), Global.Effect_Pos)
- * 1000 : 1, To World, Cancel Contrary Motion);
- Apply Impulse(Event Player, Direction Towards(Global.Effect_Pos, Event Player.Last_Pos), Distance Between(Global.Effect_Pos,
- Position Of(Event Player)) <= Global.Sphere_Rad - 1 ? Distance Between(Position Of(Event Player), Global.Effect_Pos)
* 100000000 : Distance Between(Position Of(Event Player), Global.Effect_Pos), To World, Cancel Contrary Motion);
- * 1000 : Distance Between(Position Of(Event Player), Global.Effect_Pos), To World, Cancel Contrary Motion);
- disabled Call Subroutine(Last_Pos);
- disabled Apply Impulse(Event Player, Direction Towards(Global.Effect_Pos, Position Of(Event Player) + World Vector Of(Vector(0, 0, -1),
- Event Player, Rotation)), 1, To Player, Incorporate Contrary Motion);
- Wait(0.010, Ignore Condition);
- Loop If Condition Is True;
- }
- }
- rule("Set-Last-Player-Pos")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- conditions
- {
- Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 7, All Teams, Off) == True;
- }
- actions
- {
If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.900, All Teams, Off) == False);
Event Player.Last_Pos = Position Of(Event Player);
Else If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.701, All Teams, Off) == True);
- Disable Messages(Event Player);
- If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 2, All Teams, Off) == True);
- If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad, All Teams, Off) == False);
- Event Player.Last_Pos = Position Of(Event Player);
- End;
- Else If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.700, All Teams, Off) == False);
- Clear Status(Event Player, Rooted);
Else If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.700, All Teams, Off) == True);
- Wait(0.500, Ignore Condition);
- Else If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0, All Teams, Off) == True);
- Set Status(Event Player, Null, Rooted, 9999);
- End;
Wait(0.250, Ignore Condition);
Loop;
- Enable Messages(Event Player);
- Wait(0.100, Ignore Condition);
- Loop If Condition Is True;
- }
- }