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
1: Animated_Pos
- }
- subroutines
- {
- 0: Last_Pos
- }
- rule("Global")
- {
- event
- {
- Ongoing - Each Player;
- All;
- All;
- }
- actions
- {
Global.Effect_Pos = Vector(-54.285, 0.856, 109.680);
Global.Sphere_Rad = 2;
- Global.Effect_Pos = Vector(-67.333, 2.398, 122.085);
- Global.Sphere_Rad = 10;
- Global.Sphere_Color = Color(Orange);
- }
- }
- 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);
- }
- }
- 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;
Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad - 0.100, All Teams, Off) == False;
- disabled Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad - 0.100, All Teams, Off) == False;
- }
- actions
- {
If(Is Jumping(Event Player) == True);
Apply Impulse(Event Player, Down, 10, To Player, Cancel Contrary Motion);
End;
If(Is Crouching(Event Player) == True);
Apply Impulse(Event Player, Up, 10, To Player, Cancel Contrary Motion);
End;
If(Z Component Of(Throttle Of(Event Player)) == 1);
Apply Impulse(Event Player, Backward, 10, To Player, Cancel Contrary Motion);
End;
If(Z Component Of(Throttle Of(Event Player)) == -1);
Apply Impulse(Event Player, Forward, 10, To Player, Cancel Contrary Motion);
End;
If(X Component Of(Throttle Of(Event Player)) == -1);
Apply Impulse(Event Player, Left, 10, To Player, Cancel Contrary Motion);
End;
If(X Component Of(Throttle Of(Event Player)) == 1);
Apply Impulse(Event Player, Right, 10, To Player, Cancel Contrary Motion);
End;
Wait(0.016, Ignore Condition);
- 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);
- 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);
- 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;
- }
- actions
- {
If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 1.500, All Teams, Off) == False);
- 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);
- Clear Status(Event Player, Rooted);
- Else If(Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad + 0.700, All Teams, Off) == True);
- Set Status(Event Player, Null, Rooted, 9999);
- End;
Wait(0.100, Ignore Condition);
- Wait(0.250, Ignore Condition);
- Loop;
- }
}
rule("The-Last-Check-And-Action-If-Player-Is-In-Sphere")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Players Within Radius(Global.Effect_Pos, Global.Sphere_Rad, All Teams, Off) == True;
Position Of(Event Player) != Event Player.Last_Pos;
}
actions
{
While(Event Player.Last_Pos != Position Of(Event Player));
Event Player.Animated_Pos = Position Of(Event Player);
Chase Player Variable Over Time(Event Player, Animated_Pos, Event Player.Last_Pos, 0.200, Destination and Duration);
Start Forcing Player Position(Event Player, Event Player.Animated_Pos, True);
Wait(0.050, Ignore Condition);
Stop Forcing Player Position(Event Player);
End;
}
- }