Create
Return to post

Comparing difference between and

View raw
  • /_ BASIC CAR PACK
  • settings
  • {
  • main
  • {
  • Description: "Project: Streetwatch (Basic Supercars Pack) by GraczCourier (New Horizon Update) \r\n\r\nEver wanted to drive a car (of your dreams) in Overwatch? \r\nNow you can, thanks to the Project Streetwatch.\r\n\r\nCheck Workshop Settings for more options like changing car body. \r\n\r\nCheck for updates and support the creator via Ko-Fi here: https://workshop.codes/4XQP4. \r\n\r\nSpecial Thanks to Deltin for help with, and teaching of how to port the cars to the game via OSTW (Overwatch-Script-To-Workshop)."
  • Mode Name: "Project: Streetwatch"
  • }
  • lobby
  • {
  • Map Rotation: After A Game
  • Match Voice Chat: Enabled
  • Max FFA Players: 1
  • Max Spectators: 8
  • Max Team 1 Players: 0
  • Max Team 2 Players: 1
  • Return To Lobby: After A Game
  • }
  • modes
  • {
  • Assault
  • {
  • enabled maps
  • {
  • Hanamura
  • Paris
  • }
  • }
  • Bounty Hunter
  • {
  • enabled maps
  • {
  • Black Forest
  • }
  • }
  • Control
  • {
  • Score To Win: 1
  • Scoring Speed Modifier: 200%
  • enabled maps
  • {
  • Busan
  • }
  • }
  • Escort
  • {
  • enabled maps
  • {
  • Rialto
  • }
  • }
  • Hybrid
  • {
  • enabled maps
  • {
  • Blizzard World
  • King's Row
  • }
  • }
  • General
  • {
  • Hero Limit: Off
  • Kill Cam: Off
  • Kill Feed: Off
  • }
  • }
  • heroes
  • {
  • General
  • {
  • D.Va
  • {
  • Spawn Without Mech: On
  • }
  • Wrecking Ball
  • {
  • Roll Always Active: On
  • }
  • disabled heroes
  • {
  • Bastion
  • Doomfist
  • Orisa
  • Roadhog
  • Sigma
  • Wrecking Ball
  • }
  • }
  • }
  • workshop
  • {
  • Checkpoint Mode - Number of Laps: 5
  • Checkpoint Mode - Reverse Tracks: On
  • Checkpoint Mode - Score Condition: On
  • Nitrous Regeneration: Off
  • Radiostation: [5]
  • SelectChange body of your car: [5]
  • Show Time Clocks: On
  • }
  • extensions
  • {
  • Buff and Debuff Sounds
  • Explosion Sounds
  • Play More Effects
  • }
  • }
  • variables
  • {
  • global:
  • 0: INTRO_TEXT
  • 1: CAR_INTRO
  • 2: CONTROL_TYPE
  • 3: vertices
  • 4: display
  • 5: effects
  • 6: scale
  • 7: edges
  • 8: i
  • 9: actualLine
  • 10: CAR_BODY
  • 11: PLAYER_RACER
  • 12: PLAYER_RACER_VEHICLE_START
  • 13: PLAYER_RACER_HUD_TOGGLE
  • 14: CAR_BODY_COLOR_ACCENT_PRIMARY
  • 15: CAR_BODY_COLOR_ACCENT_SECONDARY
  • 16: CAR_CUSTOM_COLOR_PRIMARY
  • 17: CAR_CUSTOM_COLOR_SECONDARY
  • 18: CAR_CUSTOM_COLOR_RED_PRIMARY
  • 19: CAR_CUSTOM_COLOR_GREEN_PRIMARY
  • 20: CAR_CUSTOM_COLOR_BLUE_PRIMARY
  • 21: CAR_CUSTOM_COLOR_RED_SECONDARY
  • 22: CAR_CUSTOM_COLOR_GREEN_SECONDARY
  • 23: CAR_CUSTOM_COLOR_BLUE_SECONDARY
  • 24: RADIOSTATION_NAME
  • 25: RADIOSTATION_TYPE
  • 26: RADIOSTATION_TRIGGER_COOL
  • 27: RADIOSTATION_COLOR
  • 28: DRIVEABLE_VEHICLE
  • 29: DRIVEABLE_VEHICLE_NAME
  • 30: HEADLIGHT_COLOR
  • 31: REAR_LIGHT_COLOR
  • 32: LIGHTS_TRIGGER
  • 33: LIGHTS_TRIGGER_COOLDOWN
  • 34: DYNAMIC_CAMERA_SET
  • 35: REVERSE_CAMERA_TRIGGER
  • 36: CAR_HEALTH
  • 37: CAR_SPEED
  • 38: HEALTH_RESTORATION
  • 39: VEHICLE_STATUS_ICON
  • 40: VEHICLE_STATUS_LINES
  • 41: VEHICLE_STATUS_COLOR
  • 42: NITROUS_ENABLED_SET
  • 43: NITROUS_STATUS
  • 44: NITROUS_VISUAL
  • 45: PLAYER_USES_NITROUS
  • 46: NITROUS_TICK
  • 47: NITROUS_REPLENISH_SIGNAL
  • 48: NITROUS_REPLENISH
  • 49: NITROUS_RESTORATION
  • 50: NITROUS_POWER_SET
  • 51: NITROUS_POWER
  • 52: NITROUS_MAX_TANK
  • 53: SKILLS
  • 54: DRIFT_MAX
  • 55: DRIFT_MIN
  • 56: SKILLS_READY
  • 57: SKILLS_SCORE
  • 58: DRIFT_TRIGGER
  • 59: DRIFT_AWARD_TRIGGER
  • 60: E_DRIFT_AWARD_TRIGGER
  • 61: NITROUS_DRIFT_AWARD_RATE
  • 62: NITROUS_AIR_AWARD_RATE
  • 63: DYNAMIC_CAMERA_LOCK_SET
  • 64: CAMERA_LOCK
  • 65: VEHICLE_CAMERA_TRIGGER
  • 66: VEHICLE_CAMERA_TRIGGER_LOCK
  • 67: FREE_VIEW_CAMERA_BLEND
  • 68: GAMEMODE
  • 69: CHALLENGE_TYPE
  • 70: LOADING_TIPS
  • 71: LOADING_TIPS_TEXT
  • 72: INTRO_COUNTDOWN_ALPHA
  • 73: INTRO_COUNTDOWN_TEXT
  • 74: INTRO_COUNTDOWN_TRIGGER
  • 75: INTRO_COUNTDOWN_COUNT
  • 76: TRAFFIC_CHALLENGE_TRIGGER
  • 77: TRAFFIC_MARKER
  • 78: TRAFFIC_FINISH_POSITION
  • 79: TRAFFIC_FINISH_RADIUS
  • 80: TRAFFIC_OBJECTIVE
  • 81: CHALLENGE_RUN_COUNTER
  • 82: CHALLENGE_CRASHES
  • 83: CHALLENGE_TRAFFIC_MAX_RUNS
  • 84: RACE_PLAYER_START_POS
  • 85: RACE_PLAYER_START_FACE
  • 86: RACE_TRACK_NAME
  • 87: CHECKPOINT_REVERSE_VARIANT
  • 88: CHECKPOINT_CURRENT_POS
  • 89: CHECKPOINT_CURRENT
  • 90: CHECKPOINT_WRECK_RESPAWN_TRIGGER
  • 91: CHECKPOINT_WRECK_RESPAWN_POS
  • 92: CHECKPOINT_WRECK_RESPAWN_FACING
  • 93: CHECKPOINT_TYPE_ACTIVE
  • 94: CHECKPOINT_ARRAYS_POS
  • 95: CHECKPOINT_SIZE
  • 96: CHECKPOINT_FLAG_COLOR
  • 97: CHALLENGE_RACE_MAX_LAPS
  • 98: MAX_CHECKPOINTS
  • 99: CHALLENGE_RACE_LAP_COUNTER
  • 100: SCORE_REQ_SET
  • 101: SCORE_REQ_MODE
  • 102: PLAYER_RACER_READY
  • 103: RACE_TRACK_READY
  • 104: COCONUT
  • 105: RACE_CLOCK_START
  • 106: RACE_CLOCK_SET
  • 107: RACE_CLOCK_TRIGGER
  • player:
  • 0: VEHICLE_ENTRY_TRIGGER
  • 1: IS_IN_VEHICLE
  • 2: AIR_SKILLS
  • 3: SLOPE_DRIVE_UP_TRIGGER
  • 4: VEHICLE_TURN_ANGLE
  • 6: VEHICLE_DRIFT_GRIP
  • 7: VEHICLE_ACCELERATION
  • 8: VEHICLE_ACCELERATION_DIRECTION
  • 9: VEHICLE_DRIFT_TRIGGER
  • 10: VEHICLE_TURN_RATE
  • 11: VEHICLE_NITROUS_SOUND
  • 12: RACER_CURRENT_CLK_SECONDS
  • 13: RACER_CURRENT_LAP_SECONDS
  • 15: RACER_CURRENT_CLK_MINUTES
  • 16: RACER_CURRENT_LAP_MINUTES
  • 18: RACER_CLOCK_LAP_BLINK_COLOR
  • 19: RACER_CLOCK_LAST_LAP_SECONDS
  • 20: RACER_CLOCK_LAST_LAP_MINUTES
  • 21: RACER_CLOCK_BEST_LAP_SECONDS
  • 22: RACER_CLOCK_BEST_LAP_MINUTES
  • }
  • subroutines
  • {
  • 1: Nitrous_Sub
  • 2: ENGINE_ON
  • 3: ENGINE_OFF
  • }
  • rule("Project: Streetwatch - Original Build by GraczCourier")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Slot 0;
  • }
  • conditions
  • {
  • "Hey Me, it's AC. We're already looking for Lupita. I flew with Lena to a city between Los Angeles and Las Vegas. The Neon-Tropolishia."
  • Entity Exists(Event Player) == True;
  • }
  • actions
  • {
  • "Somehow I have a hunch, that everyone there might turn against me. I also heard of some project called: Control."
  • Disable Built-In Game Mode Announcer;
  • "Don't worry about me. If anything happens, I'll always rewind myself out of it."
  • Global.PLAYER_RACER = Event Player;
  • "And... whatever you do, do not remove THIS coconut. It's existence is vital to this gamemode. If you remove it, all hell will break lose."
  • Global.COCONUT = 1;
  • }
  • }
  • rule("Car Body/Radiostation/Starting In or Out Setting Confirmator")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Confirms selection of car body type"
  • Global.CAR_BODY = Workshop Setting Combo(Custom String("Start Up Settings"), Custom String("Select/Change body of your car"), 6,
  • Array(Custom String("2016 Lamborghini Aventador SV"), Custom String("2020 Koenigsegg Jesko"), Custom String(
  • "2018 McLaren Senna"), Custom String("2020 Lamborghini Sián FKP 37"),
  • Custom String("2020 Pininfarina Battista"), Custom String("2013 McLaren P1"),
  • Custom String("2018 Porsche GT3 RS"), Custom String("2013 Porsche 918"), Custom String("2017 Nissan GT-R Nismo")), 0);
  • "Confirms selection of Radiostation"
  • Global.RADIOSTATION_TYPE = Workshop Setting Combo(Custom String("Start Up Settings"), Custom String("Radiostation"), 5, Array(
  • Custom String("Radio Off"), Custom String("Pulse Radio"), Custom String("Light Party"), Custom String("Block House"),
  • Custom String("Rock/Rush"), Custom String("Monstercat Instinct"), Custom String("Hospital (Destruction AllStars)"),
  • Custom String("DistroKid"), Custom String("Driftance"), Custom String("Asphalt"), Custom String("TimeOut")), 1);
  • "Confirms selection of Car Controling Type"
  • Global.CONTROL_TYPE = Workshop Setting Combo(Custom String("Start Up Settings"), Custom String("Car Control Type"), 1, Array(
  • Custom String("Legacy (Full Control)"), Custom String("Default")), 2);
  • "Confirms selection of whenever player wants to start out or inside the vehicle"
  • Global.PLAYER_RACER_VEHICLE_START = Workshop Setting Combo(Custom String("Start Up Settings"), Custom String(
  • "Start Inside/Outside the Vehicle"), 0, Array(Custom String("Inside"), Custom String("Outside")), 3);
  • Global.RACE_CLOCK_SET = Workshop Setting Toggle(Custom String("Start Up Settings"), Custom String("Show Time Clocks"), False, 4);
  • }
  • }
  • rule("CUSTOM COLOR SETTING CONFIRMATOR (PRIMARY)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Confirms Enabling Custom Paint Colors"
  • Global.CAR_CUSTOM_COLOR_PRIMARY = Workshop Setting Toggle(Custom String("Car Body Customization"), Custom String(
  • "Enable Custom Paint Colors (Primary)"), False, 2);
  • Global.CAR_CUSTOM_COLOR_RED_PRIMARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Red (Primary)"), 0, 0, 255, 3);
  • Global.CAR_CUSTOM_COLOR_GREEN_PRIMARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Green (Primary)"), 0, 0, 255, 4);
  • Global.CAR_CUSTOM_COLOR_BLUE_PRIMARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Blue (Primary)"), 0, 0, 255, 5);
  • }
  • }
  • rule("CUSTOM COLOR SETTING CONFIRMATOR (SECONDARY)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Confirms Enabling Custom Paint Colors"
  • Global.CAR_CUSTOM_COLOR_SECONDARY = Workshop Setting Toggle(Custom String("Car Body Customization"), Custom String(
  • "Enable Custom Paint Colors (Secondary)"), False, 6);
  • Global.CAR_CUSTOM_COLOR_RED_SECONDARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Red (Secondary)"), 0, 0, 255, 7);
  • Global.CAR_CUSTOM_COLOR_GREEN_SECONDARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Green (Secondary)"), 0, 0, 255, 8);
  • Global.CAR_CUSTOM_COLOR_BLUE_SECONDARY = Workshop Setting Integer(Custom String("Car Body Customization"), Custom String(
  • "Blue (Secondary)"), 0, 0, 255, 9);
  • }
  • }
  • rule("WORKSHOP SETTING CONFIRMATOR - Challenge Mode")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "1"
  • Global.GAMEMODE = Workshop Setting Toggle(Custom String("Map Challenge Mode"), Custom String("Enable Checkpoint/Traffic Mode"),
  • True, 1);
  • Global.CHECKPOINT_REVERSE_VARIANT = Workshop Setting Toggle(Custom String("MAP CHALLENGE MODE (Checkpoint Mode)"), Custom String(
  • "Reverse Tracks"), False, 2);
  • Global.CHALLENGE_RACE_MAX_LAPS = Workshop Setting Integer(Custom String("MAP CHALLENGE MODE (Checkpoint Mode)"), Custom String(
  • "Number of Laps"), 3, 1, 30, 3);
  • Global.CHECKPOINT_SIZE = Workshop Setting Integer(Custom String("MAP CHALLENGE MODE (Checkpoint Mode)"), Custom String(
  • "Checkpoints Size"), 3, 1, 10, 4);
  • Global.SCORE_REQ_MODE = Workshop Setting Toggle(Custom String("MAP CHALLENGE MODE (Checkpoint Mode)"), Custom String(
  • "Score Condition"), False, 5);
  • Global.SCORE_REQ_SET = Workshop Setting Integer(Custom String("MAP CHALLENGE MODE (Checkpoint Mode)"), Custom String(
  • "Score the player must achieve before finishing track"), 5000, 100, 100000, 6);
  • Global.TRAFFIC_FINISH_RADIUS = Workshop Setting Integer(Custom String("MAP CHALLENGE MODE (Traffic Run)"), Custom String(
  • "Finish Line Radius"), 8, 4, 10, 7);
  • Global.CHALLENGE_TRAFFIC_MAX_RUNS = Workshop Setting Integer(Custom String("MAP CHALLENGE MODE (Traffic Run)"), Custom String(
  • "Successful runs required to win"), 3, 1, 10, 8);
  • }
  • }
  • rule("WORKSHOP SETTING CONFIRMATOR - Car")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Skills"
  • Global.SKILLS = Workshop Setting Toggle(Custom String("Awarding System"), Custom String(
  • "Award points and nitrous for performing stunts"), True, 1);
  • Global.NITROUS_DRIFT_AWARD_RATE = Workshop Setting Integer(Custom String("Awarding System"), Custom String(
  • "Set the Rate Per Second of how fast the nitrous refills while drifting (sliding sideways)"), 15, 5, 100, 2);
  • Global.NITROUS_AIR_AWARD_RATE = Workshop Setting Integer(Custom String("Awarding System"), Custom String(
  • "Set the Rate Per Second of how fast the nitrous refills while in air"), 10, 5, 100, 3);
  • "Car Settings"
  • Global.CAR_SPEED = Workshop Setting Integer(Custom String("Car Settings"), Custom String("Top Speed Percent (%)"), 100, 50, 200,
  • 0);
  • Global.NITROUS_ENABLED_SET = Workshop Setting Toggle(Custom String("Car Settings (NITROUS TANK)"), Custom String("Enable Nitrous"),
  • True, 2);
  • Global.NITROUS_REPLENISH = Workshop Setting Toggle(Custom String("Car Settings (NITROUS TANK)"), Custom String(
  • "Nitrous Regeneration"), True, 3);
  • Global.NITROUS_TICK = Workshop Setting Integer(Custom String("Car Settings (NITROUS TANK)"), Custom String(
  • "Starting Nitrous Tank (%)"), 100, 0, 100, 4);
  • Global.NITROUS_POWER_SET = Workshop Setting Integer(Custom String("Car Settings (NITROUS TANK)"), Custom String(
  • "Nitrous Power (X times)"), 2, 2, 4, 5);
  • Global.NITROUS_MAX_TANK = Workshop Setting Integer(Custom String("Car Settings (NITROUS TANK)"), Custom String(
  • "Max Nitrous Tank Capacity (%)"), 100, 0, 100, 6);
  • }
  • }
  • rule("WORKSHOP SETTING CONFIRMATOR - Camera and Drift Detection System")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • "Camera Options"
  • Global.DYNAMIC_CAMERA_SET = Workshop Setting Toggle(Custom String("Camera Options"), Custom String(
  • "Auto-reverse Camera (activates whenever you're moving your car backwards)"), True, 1);
  • Global.DYNAMIC_CAMERA_LOCK_SET = Workshop Setting Combo(Custom String("Camera Options"), Custom String(
  • "Starting Camera Facing Lock"), 0, Array(Custom String("To the Car"), Custom String("To the Player")), 2);
  • Global.FREE_VIEW_CAMERA_BLEND = Workshop Setting Integer(Custom String("Camera Options"), Custom String(
  • "Free Camera Blend Speed (0 = Non-Blending)"), 15, 0, 20, 3);
  • "Drift Detection System"
  • Global.DRIFT_MIN = Workshop Setting Integer(Custom String("(DEV TOOLS) Drift Detection System"), Custom String(
  • "Min Drift Speed (in KM/H) to detect drift"), 2, 2, 9, 1);
  • Global.DRIFT_MAX = Workshop Setting Integer(Custom String("(DEV TOOLS) Drift Detection System"), Custom String(
  • "Max Drift Speed (in KM/H) to detect drift"), 8, 5, 9, 2);
  • }
  • }
  • rule("Initial Global")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.effects = Empty Array;
  • Disable Built-In Game Mode Completion;
  • Global.LIGHTS_TRIGGER = True;
  • Global.HEADLIGHT_COLOR = Color(White);
  • Global.LOADING_TIPS = Random Integer(0, 8);
  • }
  • }
  • rule("Initial Car Body Global Scale")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • actions
  • {
  • Global.scale = 1;
  • }
  • }
  • rule("Initial Car Body Global Color (Custom Car Paints)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CAR_CUSTOM_COLOR_PRIMARY == True;
  • }
  • actions
  • {
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Custom Color(Global.CAR_CUSTOM_COLOR_RED_PRIMARY, Global.CAR_CUSTOM_COLOR_GREEN_PRIMARY,
  • Global.CAR_CUSTOM_COLOR_BLUE_PRIMARY, 255);
  • Global.CAR_BODY_COLOR_ACCENT_SECONDARY = Custom Color(Global.CAR_CUSTOM_COLOR_RED_PRIMARY, Global.CAR_CUSTOM_COLOR_GREEN_PRIMARY,
  • Global.CAR_CUSTOM_COLOR_BLUE_PRIMARY, 255);
  • }
  • }
  • disabled rule("Initial Gamemode Settings")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Kickstart the match")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Assembling Heroes == True;
  • }
  • actions
  • {
  • Set Match Time(5);
  • Disable Built-In Game Mode Scoring;
  • If(Array Contains(Array(Game Mode(Assault), Game Mode(Hybrid), Game Mode(Escort), Game Mode(Control)), Current Game Mode) == True);
  • Wait(5.500, Ignore Condition);
  • Set Match Time(5);
  • Wait(4.995, Ignore Condition);
  • End;
  • Stop Camera(All Players(All Teams));
  • Destroy All In-World Text;
  • Global.CAR_INTRO = 2;
  • }
  • }
  • rule("Loading tips")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == False;
  • Global.CAR_INTRO == 1;
  • }
  • actions
  • {
  • If(Global.LOADING_TIPS == 0);
  • Global.LOADING_TIPS_TEXT = Custom String(
  • "I fear not the man who has practiced 10,000 turns once,\r\nbut I fear the man who has practiced one turn 10,000 times.");
  • Else If(Global.LOADING_TIPS == 1);
  • Global.LOADING_TIPS_TEXT = Custom String("The handbrake can help you initiate the drift.");
  • Else If(Global.LOADING_TIPS == 2);
  • Global.LOADING_TIPS_TEXT = Custom String("E-Drift is a drift initiated by using the handbrake.");
  • Else If(Global.LOADING_TIPS == 3);
  • Global.LOADING_TIPS_TEXT = Custom String("Please hoon responsibly.");
  • Else If(Global.LOADING_TIPS == 4);
  • Global.LOADING_TIPS_TEXT = Custom String("Don't be afraid to use the brakes if you're approaching a curve too fast.");
  • Else If(Global.LOADING_TIPS == 5);
  • Global.LOADING_TIPS_TEXT = Custom String(
  • "Having trouble controlling the car?\r\nGo easy on the accelerator and remember to counter-steer.");
  • Else If(Global.LOADING_TIPS == 6);
  • Global.LOADING_TIPS_TEXT = Custom String("When learning to drift, use as little throttle and steering as possible.");
  • Else If(Global.LOADING_TIPS == 7);
  • Global.LOADING_TIPS_TEXT = Custom String("Don't like the current car body?\r\nChange it in the \"Workshop Settings\".");
  • Else If(Global.LOADING_TIPS == 8);
  • Global.LOADING_TIPS_TEXT = Custom String("Need help with controlling the car?\r\nSimply communicate with: \"Need help\"");
  • End;
  • }
  • }
  • rule("Intro")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == False;
  • Has Spawned(Global.PLAYER_RACER) == True;
  • Is Match Complete == False;
  • Global.CAR_INTRO == 0;
  • }
  • actions
  • {
  • Disable Game Mode In-World UI(Global.PLAYER_RACER);
  • Disable Hero HUD(Global.PLAYER_RACER);
  • Start Camera(Global.PLAYER_RACER, Vector(0, 100, 0), Vector(5, 150, 5), 0);
  • Create In-World Text(All Players(All Teams), Global.INTRO_TEXT, Vector(5, 150, 5), 3, Clip Against Surfaces,
  • Visible To Position and String, Color(White), Default Visibility);
  • Create In-World Text(All Players(All Teams), Global.LOADING_TIPS_TEXT, Vector(15, 150, 15), 2, Clip Against Surfaces,
  • Visible To Position and String, Color(White), Default Visibility);
  • Set Status(Global.PLAYER_RACER, Null, Rooted, 5);
  • Global.CAR_INTRO = 1;
  • }
  • }
  • rule("Waiting For Car Delivery")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == False;
  • Global.CAR_INTRO == 1;
  • }
  • actions
  • {
  • Global.INTRO_TEXT = Custom String("Waiting for Car Delivery.");
  • Wait(0.500, Abort When False);
  • Global.INTRO_TEXT = Custom String("Waiting for Car Delivery..");
  • Wait(0.500, Abort When False);
  • Global.INTRO_TEXT = Custom String("Waiting for Car Delivery...");
  • Wait(0.500, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • disabled rule("Stress Test Only: Show Server diagnostics")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Host Player == True;
  • }
  • actions
  • {
  • Create HUD Text(Host Player, Null, String("{0}: {1}", Custom String("Server Load"), Server Load), Null, Left, 0, Color(White),
  • Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, Null, String("{0}: {1}", Custom String("Server Load Average"), Server Load Average), Null, Left, 0,
  • Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Create HUD Text(Host Player, Null, String("{0}: {1}", Custom String("Server Load Peak"), Server Load Peak), Null, Left, 0, Color(
  • White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • disabled rule("Cinematic Purpose Only: Set Match time to 2 minutes")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Set Match Time(120);
  • }
  • }
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Debug: Create Cars")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.COCONUT == 0;
  • }
  • actions
  • {
  • Wait(5, Abort When False);
  • Remove Player(All Players(All Teams));
  • }
  • }
  • rule("Initial Car Body Global Color (Default Car Paints)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CAR_CUSTOM_COLOR_PRIMARY == False;
  • }
  • actions
  • {
  • "Aventador SV"
  • If(Global.CAR_BODY == 0);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Custom Color(255, 185, 29, 255);
  • "Jesko"
  • Else If(Global.CAR_BODY == 1);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Custom Color(28.800, 158.400, 0, 255);
  • "Senna"
  • Else If(Global.CAR_BODY == 2);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Blue);
  • "Sián FKP 37"
  • Else If(Global.CAR_BODY == 3);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Green);
  • "Battista"
  • Else If(Global.CAR_BODY == 4);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Blue);
  • Global.CAR_BODY_COLOR_ACCENT_SECONDARY = Color(Gray);
  • "P1"
  • Else If(Global.CAR_BODY == 5);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Orange);
  • "GT3 RS"
  • Else If(Global.CAR_BODY == 6);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Green);
  • "918"
  • Else If(Global.CAR_BODY == 7);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Gray);
  • "GT-R NISMO"
  • Else If(Global.CAR_BODY == 8);
  • Global.CAR_BODY_COLOR_ACCENT_PRIMARY = Color(Gray);
  • End;
  • }
  • }
  • rule("Set Vehicle Name")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • If(Global.CAR_BODY == 0);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("Aventador SV");
  • Else If(Global.CAR_BODY == 1);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("Jesko");
  • Else If(Global.CAR_BODY == 2);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("Senna");
  • Else If(Global.CAR_BODY == 3);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("Sián FKP 37");
  • Else If(Global.CAR_BODY == 4);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("Battista");
  • Else If(Global.CAR_BODY == 5);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("P1");
  • Else If(Global.CAR_BODY == 6);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("GT3 RS");
  • Else If(Global.CAR_BODY == 7);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("918");
  • Else If(Global.CAR_BODY == 8);
  • Global.DRIVEABLE_VEHICLE_NAME = Custom String("GT-R NISMO");
  • End;
  • Start Forcing Dummy Bot Name(Global.DRIVEABLE_VEHICLE, Global.DRIVEABLE_VEHICLE_NAME);
  • }
  • }
  • disabled rule("Cars /Basic Supercars Pack")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("#1 Loadup Lamborghini Aventador SuperVeloce 2016")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 0;
  • }
  • actions
  • {
  • "Original Gamemode Creator: GraczCourier"
  • Global.vertices = Array(Vector(0, 0.236, 2.845), Vector(-0.683, 0.236, 2.673), Vector(0.683, 0.236, 2.673), Vector(0, 1.348, -2.749),
  • Vector(0, 1.056, -2.329), Vector(-1.094, 0.236, 1.893), Vector(1.094, 0.236, 1.893), Vector(-0.671, 1.093, -2.157), Vector(
  • 0.671, 1.093, -2.157), Vector(0, 0.502, 2.833), Vector(-0.482, 0.502, 2.717), Vector(0.482, 0.502, 2.717), Vector(-0.672,
  • 0.387, 2.577), Vector(0.672, 0.387, 2.577), Vector(-0.982, 0.571, 2.278), Vector(0.982, 0.571, 2.278), Vector(0.883, 0.581,
  • 2.466), Vector(-0.883, 0.581, 2.466), Vector(1.101, 0.345, 1.870), Vector(-1.121, 0.345, 1.870), Vector(1.120, 0.653, 1.807),
  • Vector(-1.160, 0.653, 1.807), Vector(-0.466, 0.736, 2.422), Vector(0.466, 0.736, 2.422), Vector(0, 0.995, 1.584), Vector(
  • -0.340, 0.996, 1.524), Vector(0.340, 0.996, 1.524), Vector(-0.919, 1.011, 1.422), Vector(0.919, 1.011, 1.422), Vector(0.919,
  • 0.842, 2.075), Vector(-0.919, 0.842, 2.075), Vector(-1.134, 0.844, 1.489), Vector(1.094, 0.844, 1.489), Vector(-1.160, 0.688,
  • 1.172), Vector(1.120, 0.688, 1.172), Vector(-1.139, 0.367, 1.072), Vector(1.099, 0.367, 1.072), Vector(-1.125, 0.403, -0.447),
  • Vector(1.085, 0.403, -0.447), Vector(-1.109, 0.225, -1.230), Vector(1.069, 0.225, -1.230), Vector(-1.160, 0.238, 1.120),
  • Vector(1.120, 0.238, 1.120), Vector(0.687, 1.376, 0.347), Vector(-0.687, 1.376, 0.347), Vector(0.595, 1.373, -0.816), Vector(
  • -0.595, 1.373, -0.816), Vector(0.263, 0.324, -2.361), Vector(0.250, 0.663, -2.654), Vector(1.004, 1.001, -2.384), Vector(
  • -1.004, 1.001, -2.384), Vector(0.419, 1.033, -2.680), Vector(0.429, 0.663, -2.661), Vector(-0.452, 0.324, -2.306), Vector(
  • 1.022, 1.127, -1.286), Vector(-1.022, 1.127, -1.286), Vector(1.081, 0.895, 0.988), Vector(-1.113, 0.895, 0.988), Vector(0,
  • 1.384, -0.713), Vector(1.141, 0.599, -2.076), Vector(-1.141, 0.599, -2.076), Vector(1.118, 0.292, -2.042), Vector(-1.118,
  • 0.292, -2.042), Vector(0.985, 0.366, -2.433), Vector(-0.985, 0.366, -2.433), Vector(0.636, 0.658, -2.649), Vector(-0.636,
  • 0.658, -2.649), Vector(-0.893, 1.272, -2.430), Vector(0.893, 1.272, -2.430), Vector(0.946, 1.247, -2.257), Vector(-0.946,
  • 1.247, -2.257), Vector(0, 1.298, -2.565), Vector(-1.159, 0.619, -1.271), Vector(1.119, 0.619, -1.271), Vector(-1.157, 0.869,
  • -1.917), Vector(1.118, 0.869, -1.917), Vector(-0.263, 0.324, -2.361), Vector(0.417, 0.814, -2.585), Vector(-0.417, 0.814,
  • -2.585), Vector(0.413, 1.332, -2.477), Vector(-0.413, 1.332, -2.477), Vector(-0.250, 0.663, -2.654), Vector(0.452, 0.324,
  • -2.306), Vector(0, 0.369, 2.776), Vector(-0.429, 0.663, -2.625), Vector(0.589, 0.663, -2.601), Vector(-0.620, 0.324, -2.256),
  • Vector(0.620, 0.324, -2.256), Vector(-0.589, 0.663, -2.601), Vector(0, 0.703, 2.517), Vector(-1.158, 0.870, -1.461), Vector(
  • 1.118, 0.870, -1.461), Vector(1.049, 0.885, 0.743), Vector(-1.049, 0.885, 0.743), Vector(1.102, 1.069, 0.893), Vector(-1.102,
  • 1.069, 0.893), Vector(1.315, 1.074, 0.742), Vector(-1.315, 1.074, 0.742), Vector(-0.419, 1.033, -2.680), Vector(0.923, 0.236,
  • 2.391), Vector(-0.923, 0.236, 2.391));
  • Global.display = Global.vertices;
  • "Car model ported by: Deltin"
  • Global.edges = Array(1, 0, 0, 2, 7, 4, 4, 8, 2, 13, 10, 9, 9, 11, 14, 17, 17, 10, 16, 15, 14, 21, 15, 20, 23, 29, 25, 22, 83, 13,
  • 16, 29, 17, 30, 28, 56, 15, 18, 6, 20, 20, 32, 21, 31, 31, 33, 32, 34, 33, 35, 34, 36, 35, 37, 36, 38, 37, 39, 38, 40, 35, 41,
  • 36, 42, 42, 40, 28, 43, 41, 39, 24, 28, 24, 27, 52, 82, 84, 53, 45, 8, 50, 98, 77, 49, 45, 54, 29, 28, 50, 55, 49, 54, 43, 44,
  • 58, 46, 81, 76, 44, 46, 78, 77, 17, 22, 59, 61, 60, 62, 61, 63, 62, 64, 63, 65, 64, 66, 69, 71, 71, 70, 3, 68, 75, 59, 90, 74,
  • 91, 75, 45, 58, 12, 83, 40, 73, 39, 72, 38, 54, 48, 47, 22, 30, 66, 78, 77, 65, 65, 66, 78, 80, 79, 77, 59, 49, 16, 23, 60, 50,
  • 60, 66, 78, 50, 11, 16, 5, 21, 1, 12, 67, 3, 37, 55, 46, 55, 59, 65, 74, 60, 19, 14, 85, 87, 88, 86, 22, 89, 89, 23, 72, 90,
  • 92, 94, 93, 95, 94, 96, 95, 97, 32, 54, 73, 91, 49, 51, 31, 55, 46, 7, 51, 98, 78, 98, 51, 77, 43, 45, 23, 26, 30, 27, 27, 44,
  • 27, 57, 100, 5, 99, 6, 10, 22, 11, 23, 9, 89, 89, 24, 2, 99, 1, 100, 16, 99, 10, 100, 11, 99, 17, 100);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(40, 41, 80, 101), Global.actualLine));
  • "Rear lights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(0, 1, 4, 18, 26, 27, 28, 29, 30, 31, 32, 34, 37, 38, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 69, 71,
  • 72, 73, 74, 75, 79, 83, 84, 87, 89, 90, 91, 95, 96, 97, 98, 112, 113, 118, 119, 120, 121, 122, 123), Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Black), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(12, 51, 70, 77), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#2 Loadup Koenigsegg Jesko 2020")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 1;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(0.719, 0.872, -2.390), Vector(1.088, 0.889, -2.065), Vector(-0.755, 0.872, -2.390), Vector(-1.124,
  • 0.889, -2.065), Vector(-0.018, 0.401, 2.740), Vector(-0.018, 1.323, 0.832), Vector(-0.018, 0.579, 2.602), Vector(-0.018, 0.810,
  • -2.607), Vector(-0.018, 0.941, 1.529), Vector(-0.018, 0.475, -2.633), Vector(0.888, 0.942, 0.750), Vector(-0.019, 0.475,
  • -2.633), Vector(-0.018, 0.809, 2.123), Vector(-0.019, 0.475, -2.633), Vector(1.197, 0.176, 2.041), Vector(0.860, 0.471, 2.434),
  • Vector(0.918, 0.291, 2.358), Vector(1.167, 0.609, 2.061), Vector(1.169, 0.858, 1.632), Vector(1.166, 0.609, 1.197), Vector(
  • 1.142, 0.165, 1.219), Vector(1.167, 0.158, -1.193), Vector(1.183, 0.661, -1.168), Vector(1.180, 0.970, -1.612), Vector(1.183,
  • 0.686, -2.084), Vector(1.090, 0.309, -2.127), Vector(1.051, 0.832, 0.973), Vector(0.582, 1.303, 0.338), Vector(0.654, 0.964,
  • -1.473), Vector(0.557, 0.672, 2.376), Vector(0.332, 0.819, -2.553), Vector(0.567, 0.828, -2.533), Vector(0.990, 1.044, -2.071),
  • Vector(0.525, 1.302, -0.485), Vector(0.283, 1.263, -0.947), Vector(1.059, 1.086, -1.535), Vector(0.902, 0.449, -2.372), Vector(
  • 1.142, 0.410, -0.617), Vector(1.131, 0.240, 0.870), Vector(0.465, 0.941, 1.374), Vector(1.092, 0.952, -0.506), Vector(0.265,
  • 1.299, -2.601), Vector(1.097, 0.427, -0.165), Vector(1, 0.329, 0.794), Vector(0.405, 1.320, 0.643), Vector(0.799, 0.750,
  • -2.521), Vector(0.521, 0.429, 2.610), Vector(0.782, 0.933, 1.737), Vector(1.136, 0.880, -2.051), Vector(1.051, 0.829, 1.127),
  • Vector(-0.019, 0.475, -2.633), Vector(-0.925, 0.942, 0.750), Vector(-0.018, 0.475, -2.633), Vector(-0.018, 0.475, -2.633),
  • Vector(-1.234, 0.176, 2.041), Vector(-0.897, 0.471, 2.434), Vector(-0.954, 0.291, 2.358), Vector(-1.204, 0.609, 2.061), Vector(
  • -1.205, 0.858, 1.632), Vector(-1.202, 0.609, 1.197), Vector(-1.179, 0.165, 1.219), Vector(-1.203, 0.158, -1.193), Vector(
  • -1.220, 0.661, -1.168), Vector(-1.217, 0.970, -1.612), Vector(-1.220, 0.686, -2.084), Vector(-1.127, 0.309, -2.127), Vector(
  • -1.087, 0.832, 0.973), Vector(-0.618, 1.303, 0.338), Vector(-0.690, 0.964, -1.473), Vector(-0.593, 0.672, 2.376), Vector(
  • -0.368, 0.819, -2.553), Vector(-0.603, 0.828, -2.533), Vector(-1.027, 1.044, -2.071), Vector(-0.561, 1.302, -0.485), Vector(
  • -0.319, 1.263, -0.947), Vector(-1.095, 1.086, -1.535), Vector(-0.938, 0.449, -2.372), Vector(-1.179, 0.410, -0.617), Vector(
  • -1.167, 0.240, 0.870), Vector(-0.501, 0.941, 1.374), Vector(-1.128, 0.952, -0.506), Vector(-0.301, 1.299, -2.601), Vector(
  • -1.133, 0.427, -0.165), Vector(-1.036, 0.329, 0.794), Vector(-0.441, 1.320, 0.643), Vector(-0.835, 0.750, -2.521), Vector(
  • -0.558, 0.429, 2.610), Vector(-0.818, 0.933, 1.737), Vector(-1.172, 0.880, -2.051), Vector(-1.087, 0.829, 1.127), Vector(1.167,
  • 0.282, -1.187), Vector(1.167, 0.160, -0.975), Vector(1.084, 1.349, -2.165), Vector(-1.121, 1.349, -2.165), Vector(1.084, 1.493,
  • -1.739), Vector(-1.121, 1.493, -1.739), Vector(-0.018, 0.212, 2.854), Vector(-0.018, 0.401, 2.740), Vector(-0.018, 0.579,
  • 2.602), Vector(-0.018, 0.629, -2.630), Vector(-0.018, 0.539, -2.630), Vector(-0.018, 0.243, 2.674), Vector(0.888, 0.942,
  • 0.750), Vector(-0.018, 0.809, 2.123), Vector(1.076, 0.189, 2.495), Vector(1.197, 0.176, 2.041), Vector(0.918, 0.291, 2.358),
  • Vector(1.142, 0.165, 1.219), Vector(1.167, 0.158, -1.193), Vector(1.090, 0.309, -2.127), Vector(0.738, 0.297, -2.507), Vector(
  • 0.582, 1.303, 0.338), Vector(0.872, 0.889, 1.825), Vector(0.283, 1.263, -0.947), Vector(0.148, 1.370, 0.323), Vector(0.265,
  • 1.283, -2.601), Vector(0.229, 1.064, -1.681), Vector(0.150, 0.856, -2.212), Vector(0.902, 0.449, -2.372), Vector(1.158, 0.940,
  • -1.046), Vector(1.142, 0.410, -0.617), Vector(1.084, 1.349, -2.165), Vector(-0.018, 1.178, -2.371), Vector(1.078, 1.254, -2),
  • Vector(0.842, 0.631, -2.462), Vector(-0.018, 0.475, -2.633), Vector(0.295, 1.111, -1.334), Vector(0.131, 0.216, -2.563),
  • Vector(0.131, 0.475, -2.550), Vector(0.508, 0.216, -2.563), Vector(0.508, 0.475, -2.550), Vector(0.754, 0.253, -2.563), Vector(
  • 0.645, 0.475, -2.550), Vector(0.889, 0.962, 0.664), Vector(1.279, 1.130, 0.480), Vector(0.873, 0.529, -2.412), Vector(1.084,
  • 1.493, -1.739), Vector(1.084, 1.202, -1.962), Vector(0.682, 0.205, 2.743), Vector(0.521, 0.429, 2.610), Vector(0.480, 0.291,
  • 2.529), Vector(0.949, 0.929, 1.337), Vector(0.352, 0.825, 2.002), Vector(-0.925, 0.942, 0.750), Vector(-1.112, 0.189, 2.495),
  • Vector(-1.234, 0.176, 2.041), Vector(-0.954, 0.291, 2.358), Vector(-1.179, 0.165, 1.219), Vector(-1.203, 0.158, -1.193),
  • Vector(-1.127, 0.309, -2.127), Vector(-0.775, 0.297, -2.507), Vector(-0.618, 1.303, 0.338), Vector(-0.908, 0.889, 1.825),
  • Vector(-0.319, 1.263, -0.947), Vector(-0.184, 1.370, 0.323), Vector(-0.301, 1.283, -2.601), Vector(-0.265, 1.064, -1.681),
  • Vector(-0.187, 0.856, -2.212), Vector(-0.938, 0.449, -2.372), Vector(-1.195, 0.940, -1.046), Vector(-1.179, 0.410, -0.617),
  • Vector(-1.121, 1.349, -2.165), Vector(-1.114, 1.254, -2), Vector(-0.879, 0.631, -2.462), Vector(-0.019, 0.475, -2.633), Vector(
  • -0.332, 1.111, -1.334), Vector(-0.167, 0.216, -2.563), Vector(-0.167, 0.475, -2.550), Vector(-0.544, 0.216, -2.563), Vector(
  • -0.544, 0.475, -2.550), Vector(-0.790, 0.253, -2.563), Vector(-0.681, 0.475, -2.550), Vector(-0.926, 0.962, 0.664), Vector(
  • -1.316, 1.130, 0.480), Vector(-0.910, 0.529, -2.412), Vector(-1.121, 1.493, -1.739), Vector(-1.121, 1.202, -1.962), Vector(
  • -0.718, 0.205, 2.743), Vector(-0.558, 0.429, 2.610), Vector(-0.516, 0.291, 2.529), Vector(-0.985, 0.929, 1.337), Vector(-0.388,
  • 0.825, 2.002), Vector(-1.203, 0.282, -1.187), Vector(-1.203, 0.160, -0.975), Vector(1.188, 0.275, 2.049), Vector(-1.224, 0.275,
  • 2.049), Vector(1.136, 0.184, 2.277), Vector(-1.172, 0.184, 2.277), Vector(0.265, 1.283, -2.601), Vector(-0.301, 1.283, -2.601),
  • Vector(0.974, 0.837, 1.943), Vector(0.865, 0.628, 2.338), Vector(-1.010, 0.837, 1.943), Vector(-0.901, 0.628, 2.338));
  • Global.display = Global.vertices;
  • Global.edges = Array(1, 0, 3, 2, 35, 10, 46, 4, 16, 15, 14, 17, 17, 18, 18, 19, 38, 37, 21, 22, 22, 23, 23, 24, 24, 25, 33, 28, 5,
  • 44, 93, 81, 32, 31, 27, 33, 33, 34, 48, 45, 23, 48, 30, 34, 28, 31, 32, 35, 39, 8, 15, 17, 19, 20, 49, 38, 33, 40, 95, 93, 45,
  • 36, 40, 42, 42, 43, 31, 7, 27, 44, 31, 45, 15, 46, 10, 18, 26, 43, 15, 29, 29, 6, 23, 49, 47, 29, 10, 47, 23, 32, 10, 26, 10,
  • 39, 75, 51, 86, 4, 56, 55, 54, 57, 57, 58, 58, 59, 78, 77, 61, 62, 62, 63, 63, 64, 64, 65, 73, 68, 5, 84, 72, 71, 67, 73, 73,
  • 74, 88, 85, 63, 88, 70, 74, 68, 71, 72, 75, 79, 8, 55, 57, 59, 60, 89, 78, 73, 80, 92, 41, 85, 76, 80, 82, 82, 83, 71, 7, 67,
  • 84, 71, 85, 94, 92, 55, 86, 51, 58, 66, 83, 55, 69, 69, 6, 63, 89, 87, 69, 51, 87, 63, 72, 51, 66, 51, 79, 41, 81, 90, 91, 97,
  • 101, 104, 105, 138, 104, 104, 106, 120, 119, 107, 108, 109, 110, 113, 114, 113, 188, 115, 116, 110, 118, 123, 122, 135, 100,
  • 128, 127, 130, 129, 125, 132, 131, 132, 133, 134, 137, 136, 96, 138, 139, 140, 141, 112, 142, 103, 124, 99, 102, 111, 144, 145,
  • 177, 144, 144, 146, 160, 159, 147, 148, 149, 150, 116, 117, 153, 154, 153, 189, 155, 156, 150, 158, 174, 100, 167, 166, 169,
  • 168, 164, 171, 170, 171, 172, 173, 176, 175, 121, 137, 96, 177, 178, 179, 180, 152, 181, 103, 163, 99, 143, 151, 117, 157, 126,
  • 165, 114, 154, 182, 183, 184, 186, 185, 187, 161, 176, 162, 122, 156, 157, 97, 98, 190, 191, 192, 193);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(154, 155), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
  • 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
  • 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153), Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Black), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(0, 1), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#3 Loadup McLaren Senna 2018")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 2;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(-0.477, 0.213, 2.932), Vector(0.477, 0.213, 2.932), Vector(1.061, 0.213, 2.520), Vector(-1.061, 0.213,
  • 2.520), Vector(1.190, 0.213, 1.927), Vector(-1.190, 0.213, 1.927), Vector(1.134, 0.802, 1.729), Vector(-1.134, 0.802, 1.729),
  • Vector(1.131, 0.192, 1.051), Vector(-1.131, 0.192, 1.051), Vector(1.131, 0.192, -1.265), Vector(-1.131, 0.192, -1.265), Vector(
  • 1.142, 0.802, -1.987), Vector(-1.143, 0.802, -1.987), Vector(1.085, 0.267, -2.153), Vector(-1.139, 0.267, -2.153), Vector(
  • 1.072, 0.267, -2.426), Vector(-1.072, 0.267, -2.426), Vector(1, 0.557, -2.617), Vector(-1, 0.557, -2.617), Vector(0.511, 0.485,
  • -1.791), Vector(-0.511, 0.485, -1.791), Vector(0.406, 0.557, -2.698), Vector(0.793, 0.557, -2.646), Vector(-0.525, 0.538,
  • 2.893), Vector(0.525, 0.538, 2.893), Vector(-0.908, 0.976, 1.086), Vector(0.908, 0.976, 1.086), Vector(-0.097, 0.768, 2.411),
  • Vector(0.097, 0.768, 2.411), Vector(-0.084, 0.734, 2.539), Vector(Empty Array, 1.452, -0.198), Vector(-0.471, 0.822, 2.265),
  • Vector(0.471, 0.822, 2.265), Vector(-0.153, 0.931, 1.666), Vector(0.153, 0.931, 1.666), Vector(-0.701, 1.308, 0.512), Vector(
  • 0.701, 1.308, 0.512), Vector(-0.556, 1.357, -0.432), Vector(0.556, 1.357, -0.432), Vector(-0.432, 1.100, -1.543), Vector(0.432,
  • 1.100, -1.543), Vector(-0.092, 1.033, -2.007), Vector(Empty Array, 1.411, 0.436), Vector(1.073, 0.538, 2.237), Vector(-1.073,
  • 0.538, 2.237), Vector(0.511, 1.393, -2.162), Vector(-0.511, 1.393, -2.162), Vector(0.511, 1.291, -2.434), Vector(-0.511, 1.291,
  • -2.434), Vector(-0.406, 0.557, -2.698), Vector(-0.793, 0.557, -2.646), Vector(0.406, 0.149, -2.488), Vector(0.793, 0.149,
  • -2.441), Vector(-0.406, 0.149, -2.488), Vector(-0.793, 0.149, -2.441), Vector(0.168, 0.557, -2.732), Vector(-0.168, 0.557,
  • -2.732), Vector(0.168, 0.315, -2.657), Vector(-0.168, 0.315, -2.657), Vector(0.622, 0.557, -2.666), Vector(-0.622, 0.557,
  • -2.666), Vector(0.622, 0.149, -2.479), Vector(-0.622, 0.149, -2.479), Vector(Empty Array, 0.557, -2.747), Vector(Empty Array,
  • 0.315, -2.663), Vector(0.084, 0.734, 2.539), Vector(0.092, 1.033, -2.007), Vector(0.511, 1.257, -2.388), Vector(-0.511, 1.257,
  • -2.388), Vector(1.032, 1.223, -2.127), Vector(-1.032, 1.223, -2.127), Vector(0.538, 1.385, -2.660), Vector(-0.538, 1.385,
  • -2.660), Vector(1.032, 1.350, -2.480), Vector(-1.032, 1.350, -2.480), Vector(Empty Array, 1.296, -1.015), Vector(-1.021, 0.913,
  • 0.935), Vector(1.021, 0.913, 0.935), Vector(1.306, 1.063, 0.784), Vector(-1.306, 1.063, 0.784), Vector(1.056, 0.775, 2.141),
  • Vector(-1.056, 0.775, 2.141), Vector(0.770, 0.703, 2.399), Vector(-0.770, 0.703, 2.399), Vector(0.992, 0.859, -2.583), Vector(
  • -0.992, 0.859, -2.583), Vector(1.032, 1.223, -2.127), Vector(-1.032, 1.223, -2.127), Vector(1.032, 1.350, -2.480), Vector(
  • -1.032, 1.350, -2.480), Vector(1.061, 0.213, 2.520), Vector(-1.061, 0.213, 2.520), Vector(1.134, 0.802, 1.729), Vector(-1.134,
  • 0.802, 1.729), Vector(1.134, 0.802, 1.207), Vector(-1.134, 0.802, 1.207), Vector(1.131, 0.192, 1.051), Vector(-1.131, 0.192,
  • 1.051), Vector(1.131, 0.192, -1.265), Vector(-1.131, 0.192, -1.265), Vector(1.142, 0.802, -1.451), Vector(-1.143, 0.802,
  • -1.451), Vector(1.142, 0.802, -1.987), Vector(-1.143, 0.802, -1.987), Vector(1.008, 0.793, -2.528), Vector(-1.008, 0.793,
  • -2.528), Vector(-0.988, 0.399, 0.767), Vector(0.988, 0.399, 0.767), Vector(-1.021, 0.913, 0.935), Vector(1.021, 0.913, 0.935),
  • Vector(-1.008, 0.854, -0.265), Vector(1.008, 0.854, -0.265), Vector(-1.008, 0.530, 0.045), Vector(1.008, 0.530, 0.045), Vector(
  • -0.550, 0.262, 2.694), Vector(0.550, 0.262, 2.694), Vector(-0.525, 0.538, 2.893), Vector(0.525, 0.538, 2.893), Vector(-0.855,
  • 0.913, 2.021), Vector(0.855, 0.913, 2.021), Vector(-0.908, 0.976, 1.086), Vector(0.908, 0.976, 1.086), Vector(-0.432, 1.100,
  • -1.543), Vector(0.432, 1.100, -1.543), Vector(-0.303, 1.085, -1.822), Vector(0.303, 1.085, -1.822), Vector(-0.092, 1.033,
  • -2.007), Vector(-0.883, 1.061, -0.539), Vector(0.883, 1.061, -0.539), Vector(-1.146, 0.911, -0.765), Vector(1.146, 0.911,
  • -0.765), Vector(-1.129, 0.431, -0.304), Vector(1.129, 0.431, -0.304), Vector(1.061, 0.601, -2.385), Vector(-1.061, 0.601,
  • -2.385), Vector(1.129, 0.191, -0.927), Vector(-1.129, 0.191, -0.927), Vector(0.992, 0.859, -2.583), Vector(-0.992, 0.859,
  • -2.583), Vector(1.009, 1.133, -1.593), Vector(-1.009, 1.133, -1.593), Vector(1.106, 0.901, 1.913), Vector(-1.106, 0.901,
  • 1.913), Vector(-0.167, 0.826, -2.712), Vector(0.167, 0.826, -2.712), Vector(0.092, 1.033, -2.007), Vector(-0.607, 1.062,
  • -1.144), Vector(0.607, 1.062, -1.144), Vector(0.978, 0.833, -2.278), Vector(-0.978, 0.833, -2.278), Vector(Empty Array, 0.831,
  • -2.414), Vector(-1.095, 0.180, 0.451), Vector(1.095, 0.180, 0.451), Vector(-1.157, 0.873, -1.879), Vector(1.157, 0.873,
  • -1.879), Vector(-1.021, 0.814, 0.870), Vector(1.021, 0.814, 0.870), Vector(0.992, 0.859, -2.583), Vector(-0.992, 0.859,
  • -2.583), Vector(-0.167, 0.826, -2.712), Vector(0.167, 0.826, -2.712));
  • Global.display = Global.vertices;
  • Global.edges = Array(1, 2, 3, 0, 2, 4, 5, 3, 4, 6, 7, 5, 12, 14, 15, 13, 14, 16, 17, 15, 16, 18, 19, 17, 8, 10, 9, 11, 0, 1, 32,
  • 26, 33, 29, 28, 32, 27, 33, 30, 66, 26, 36, 27, 37, 36, 38, 37, 39, 38, 40, 39, 41, 35, 66, 43, 31, 64, 19, 26, 34, 25, 44, 24,
  • 45, 31, 76, 20, 46, 21, 47, 46, 48, 47, 49, 65, 17, 22, 52, 53, 23, 51, 55, 54, 50, 56, 58, 59, 57, 60, 62, 63, 61, 18, 64, 16,
  • 65, 30, 34, 43, 37, 36, 43, 27, 35, 34, 35, 42, 67, 68, 69, 72, 73, 69, 71, 70, 68, 73, 75, 74, 72, 77, 80, 78, 79, 81, 83, 82,
  • 84, 88, 90, 87, 89, 95, 97, 98, 96, 99, 101, 102, 100, 152, 109, 153, 110, 111, 113, 112, 114, 129, 131, 117, 115, 116, 118,
  • 119, 117, 118, 120, 120, 110, 122, 129, 121, 128, 133, 136, 146, 126, 130, 132, 131, 133, 114, 108, 139, 141, 138, 140, 128,
  • 141, 129, 140, 134, 138, 143, 92, 142, 91, 93, 95, 109, 143, 110, 142, 123, 144, 124, 145, 109, 119, 113, 107, 132, 137, 117,
  • 118, 135, 139, 128, 130, 102, 104, 127, 125, 101, 103, 125, 128, 126, 129, 141, 147, 140, 148, 144, 145, 151, 150, 96, 94, 149,
  • 151, 155, 131, 106, 154, 105, 155, 154, 130, 156, 111, 157, 112, 159, 160, 158, 161);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
  • 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
  • 61), Global.actualLine));
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(White), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(62, 63), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(122, 123), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#4 Loadup Lamborghini Sián FKP 37 2020")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 3;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(0.687, 0.257, 2.669), Vector(0.905, 1.142, -2.110), Vector(1.101, 0.258, 1.847), Vector(1.133, 0.648,
  • 1.845), Vector(1.094, 0.902, 1.461), Vector(1.123, 0.689, 1.088), Vector(1.144, 0.644, -1.212), Vector(1.177, 0.942, -1.608),
  • Vector(1.089, 0.613, -2.076), Vector(0.494, 1.101, -2.279), Vector(1.069, 1.044, -0.700), Vector(1.125, 0.929, -0.939), Vector(
  • 1.146, 0.427, -0.170), Vector(1.108, 0.322, 1.098), Vector(0.985, 0.591, 2.331), Vector(1.041, 0.252, 2.133), Vector(0.868,
  • 0.255, 2.457), Vector(0.561, 0.491, 2.686), Vector(1.066, 0.788, -2.261), Vector(1.037, 0.970, -2.333), Vector(1.146, 0.408,
  • 0.088), Vector(1.015, 0.604, -0.259), Vector(1.138, 0.802, 0.160), Vector(0.494, 0.569, 2.739), Vector(0.240, 0.894, 2.141),
  • Vector(0.001, 0.494, 2.888), Vector(0.896, 0.904, 1.940), Vector(0.967, 1.021, 1.394), Vector(0.999, 0.944, 0.847), Vector(
  • 0.657, 1.335, 0.439), Vector(1.163, 0.983, -1.611), Vector(0.591, 1.353, -0.886), Vector(0.935, 1.080, -0.299), Vector(0.001,
  • 1.323, 0.538), Vector(0.640, 1.379, -0.187), Vector(0.978, 0.792, -2.371), Vector(0.693, 0.789, -2.609), Vector(0.207, 0.962,
  • -2.774), Vector(0.697, 0.453, -2.455), Vector(0.915, 1.084, -2.347), Vector(1.177, 0.942, -1.608), Vector(1.116, 0.767, 1.223),
  • Vector(1.041, 0.920, 1.850), Vector(0.001, 1.047, -2.476), Vector(1.219, 1.123, 0.698), Vector(0.702, 0.564, -2.350), Vector(
  • 1.005, 0.598, -2.183), Vector(0.001, 0.257, 2.850), Vector(0.615, 1.362, -0.738), Vector(0.861, 1.168, -1.047), Vector(0.639,
  • 1.118, -2.219), Vector(0.532, 0.530, 2.730), Vector(0.918, 0.407, 2.347), Vector(0.752, 0.553, 2.596), Vector(0.876, 0.721,
  • 2.230), Vector(0.495, 0.962, -2.641), Vector(0.919, 0.962, -2.413), Vector(1.037, 0.970, -2.333), Vector(0.972, 1.133, -1.601),
  • Vector(0.141, 1.346, 0.379), Vector(0.266, 1.367, -0.716), Vector(0.266, 1.367, -0.716), Vector(0.925, 0.792, 2.090), Vector(
  • -0.685, 0.257, 2.669), Vector(-0.904, 1.142, -2.110), Vector(-1.100, 0.258, 1.847), Vector(-1.132, 0.648, 1.845), Vector(
  • -1.093, 0.902, 1.461), Vector(-1.122, 0.689, 1.088), Vector(-1.143, 0.644, -1.212), Vector(-1.176, 0.942, -1.608), Vector(
  • -1.087, 0.613, -2.076), Vector(-0.493, 1.101, -2.279), Vector(-1.068, 1.044, -0.700), Vector(-1.124, 0.929, -0.939), Vector(
  • -1.145, 0.427, -0.170), Vector(-1.107, 0.322, 1.098), Vector(-0.984, 0.591, 2.331), Vector(-1.040, 0.252, 2.133), Vector(
  • -0.867, 0.255, 2.457), Vector(-0.560, 0.491, 2.686), Vector(-1.065, 0.788, -2.261), Vector(-1.036, 0.970, -2.333), Vector(
  • -1.145, 0.408, 0.088), Vector(-1.013, 0.604, -0.259), Vector(-1.137, 0.802, 0.160), Vector(-0.493, 0.569, 2.739), Vector(
  • -0.239, 0.894, 2.141), Vector(-0.895, 0.904, 1.940), Vector(-0.966, 1.021, 1.394), Vector(-0.998, 0.944, 0.847), Vector(-0.655,
  • 1.335, 0.439), Vector(-1.162, 0.983, -1.611), Vector(-0.590, 1.353, -0.886), Vector(-0.934, 1.080, -0.299), Vector(-0.639,
  • 1.379, -0.187), Vector(-0.977, 0.792, -2.371), Vector(-0.691, 0.789, -2.609), Vector(-0.206, 0.962, -2.774), Vector(-0.696,
  • 0.453, -2.455), Vector(-0.914, 1.084, -2.347), Vector(-1.176, 0.942, -1.608), Vector(-1.114, 0.767, 1.223), Vector(-1.039,
  • 0.920, 1.850), Vector(-1.218, 1.123, 0.698), Vector(-0.700, 0.564, -2.350), Vector(-1.003, 0.598, -2.183), Vector(-0.613,
  • 1.362, -0.738), Vector(-0.859, 1.168, -1.047), Vector(-0.638, 1.118, -2.219), Vector(-0.531, 0.530, 2.730), Vector(-0.917,
  • 0.407, 2.347), Vector(-0.751, 0.553, 2.596), Vector(-0.875, 0.721, 2.230), Vector(-0.494, 0.962, -2.641), Vector(-0.917, 0.962,
  • -2.413), Vector(-1.036, 0.970, -2.333), Vector(-0.970, 1.133, -1.601), Vector(-0.140, 1.346, 0.379), Vector(-0.265, 1.367,
  • -0.716), Vector(-0.265, 1.367, -0.716), Vector(-0.924, 0.792, 2.090), Vector(0.001, 1.047, -2.476), Vector(0.512, 0.850,
  • -2.667), Vector(0.266, 1.367, -0.716), Vector(0.352, 1.153, -1.931), Vector(0.687, 0.257, 2.669), Vector(0.689, 0.257, 2.619),
  • Vector(1.017, 0.257, 2.296), Vector(0.474, 0.495, 2.774), Vector(0.576, 0.401, 2.709), Vector(0.001, 0.396, 2.828), Vector(
  • 1.101, 0.258, 1.847), Vector(1.123, 0.689, 1.088), Vector(1.053, 0.258, 1.098), Vector(1.079, 0.260, -1.193), Vector(1.144,
  • 0.644, -1.212), Vector(1.089, 0.613, -2.076), Vector(1.033, 0.424, -2.058), Vector(1.014, 0.466, -2.233), Vector(0.916, 1.070,
  • -2.492), Vector(0.901, 1.224, -2.307), Vector(0.933, 1.216, -1.959), Vector(0.949, 1.139, -1.762), Vector(1.069, 1.044,
  • -0.700), Vector(0.352, 1.153, -1.931), Vector(0.001, 1.099, -2.205), Vector(0.697, 0.453, -2.455), Vector(0.845, 1.002, 1.470),
  • Vector(0.001, 0.989, 1.604), Vector(0.668, 0.646, -2.609), Vector(0.538, 0.665, -2.719), Vector(0.410, 0.575, -2.719), Vector(
  • 0.283, 0.664, -2.771), Vector(0.685, 0.272, -2.006), Vector(0.414, 0.318, -2.320), Vector(0.253, 0.623, -2.729), Vector(0.253,
  • 0.288, -2.174), Vector(0.001, 1.322, -0.987), Vector(-0.511, 0.850, -2.667), Vector(-0.265, 1.367, -0.716), Vector(-0.350,
  • 1.153, -1.931), Vector(-0.685, 0.257, 2.669), Vector(-0.688, 0.257, 2.619), Vector(-1.016, 0.257, 2.296), Vector(-0.473, 0.495,
  • 2.774), Vector(-0.575, 0.401, 2.709), Vector(-1.100, 0.258, 1.847), Vector(-1.122, 0.689, 1.088), Vector(-1.052, 0.258, 1.098),
  • Vector(-1.078, 0.260, -1.193), Vector(-1.143, 0.644, -1.212), Vector(-1.087, 0.613, -2.076), Vector(-1.032, 0.424, -2.058),
  • Vector(-1.013, 0.466, -2.233), Vector(-0.915, 1.070, -2.492), Vector(-0.899, 1.224, -2.307), Vector(-0.932, 1.216, -1.959),
  • Vector(-0.948, 1.139, -1.762), Vector(-1.068, 1.044, -0.700), Vector(-0.350, 1.153, -1.931), Vector(-0.696, 0.453, -2.455),
  • Vector(-0.844, 1.002, 1.470), Vector(-0.666, 0.646, -2.609), Vector(-0.536, 0.665, -2.719), Vector(-0.409, 0.575, -2.719),
  • Vector(-0.282, 0.664, -2.771), Vector(-0.684, 0.272, -2.006), Vector(-0.412, 0.318, -2.320), Vector(-0.252, 0.623, -2.729),
  • Vector(-0.252, 0.288, -2.174), Vector(0.967, 1.021, 1.394), Vector(0.201, 0.948, 1.974), Vector(-0.966, 1.021, 1.394), Vector(
  • -0.199, 0.948, 1.974));
  • Global.display = Global.vertices;
  • Global.edges = Array(47, 0, 36, 38, 2, 3, 3, 4, 4, 5, 6, 40, 22, 10, 31, 9, 10, 11, 11, 12, 12, 13, 3, 14, 16, 17, 8, 18, 18, 19,
  • 20, 21, 21, 22, 28, 41, 23, 24, 23, 25, 23, 26, 26, 27, 27, 28, 27, 29, 35, 36, 28, 44, 19, 30, 30, 11, 7, 8, 48, 32, 49, 50,
  • 29, 33, 34, 31, 29, 34, 36, 37, 14, 15, 14, 42, 42, 27, 45, 46, 37, 39, 5, 22, 28, 49, 53, 52, 53, 54, 51, 53, 55, 56, 57, 58,
  • 1, 43, 59, 60, 97, 99, 65, 66, 66, 67, 67, 68, 69, 101, 85, 73, 93, 72, 73, 74, 74, 75, 75, 76, 66, 77, 79, 80, 71, 81, 81, 82,
  • 83, 84, 84, 85, 90, 102, 86, 87, 86, 88, 88, 89, 89, 90, 89, 91, 96, 97, 90, 104, 82, 92, 92, 74, 70, 71, 107, 94, 108, 109,
  • 59, 118, 95, 93, 91, 95, 97, 98, 77, 78, 77, 103, 103, 89, 105, 106, 98, 100, 68, 85, 90, 108, 112, 111, 112, 113, 110, 112,
  • 114, 115, 116, 117, 118, 119, 47, 63, 91, 33, 37, 98, 86, 25, 24, 87, 64, 43, 124, 125, 127, 129, 130, 131, 128, 132, 133, 134,
  • 134, 135, 135, 136, 138, 139, 139, 140, 141, 142, 142, 143, 147, 150, 144, 143, 145, 146, 137, 138, 148, 149, 150, 151, 151,
  • 152, 152, 155, 154, 147, 156, 157, 140, 141, 152, 153, 126, 128, 166, 131, 160, 161, 163, 165, 164, 167, 168, 169, 169, 170,
  • 170, 171, 173, 174, 174, 175, 176, 177, 177, 178, 181, 183, 179, 178, 122, 158, 172, 173, 183, 184, 184, 185, 185, 188, 187,
  • 181, 189, 190, 175, 176, 185, 186, 162, 164, 123, 159, 153, 186, 182, 149, 180, 146, 191, 192, 192, 194, 193, 194);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(45, 92), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
  • 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
  • 146, 147, 148, 149, 150, 151), Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Black), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(42, 43, 44, 89, 90, 91), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#5 Loadup Pininfarina Battista 2020")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 4;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(-1.156, 0.187, -1.133), Vector(-1.156, 0.157, 1.174), Vector(-1.127, 0.195, -0.979), Vector(-1.079,
  • 0.419, -0.367), Vector(-1.156, 0.638, -1.247), Vector(-1.156, 0.638, -1.903), Vector(-1.105, 0.187, -2.011), Vector(-1.063,
  • 0.351, -2.210), Vector(-1.033, 0.678, -2.320), Vector(-0.488, 0.675, -2.567), Vector(-1.181, 0.823, -1.752), Vector(-1.005,
  • 0.882, -2.312), Vector(-0.976, 0.968, -2.272), Vector(-0.156, 0.990, -2.595), Vector(-0.164, 1.028, -2.259), Vector(-0.806,
  • 1.029, -1.090), Vector(-1.065, 0.970, -0.575), Vector(-1.147, 0.737, 1.439), Vector(-1.156, 0.563, 1.185), Vector(-1.156,
  • 0.848, 1.617), Vector(-1.156, 0.569, 2.011), Vector(-1.138, 0.157, 2.013), Vector(-0.802, 0.157, 2.648), Vector(-0.298, 0.157,
  • 2.912), Vector(0.944, 0.899, 0.750), Vector(-1.126, 0.283, -0.297), Vector(-1.025, 0.803, -0.531), Vector(-0.719, 1.164,
  • -0.638), Vector(-0.201, 0.967, -2.198), Vector(-0.884, 1.026, -0.134), Vector(-0.944, 0.899, 0.750), Vector(-0.890, 0.917,
  • 1.017), Vector(-0.712, 0.907, 1.481), Vector(0.515, 1.095, -1.324), Vector(-0.629, 0.756, 2.274), Vector(0, 0.705, 2.435),
  • Vector(-1.031, 0.757, 2.174), Vector(-1.022, 0.254, 2.351), Vector(-0.914, 0.403, 2.454), Vector(-0.637, 0.377, 2.689), Vector(
  • -0.344, 0.365, 2.847), Vector(-0.950, 0.554, 2.456), Vector(-1.072, 0.932, 1.648), Vector(-1.082, 1.072, -1.600), Vector(
  • -0.414, 0.852, -2.650), Vector(0.719, 1.164, -0.638), Vector(1.156, 0.187, -1.133), Vector(1.156, 0.157, 1.174), Vector(1.127,
  • 0.195, -0.979), Vector(1.156, 0.638, -1.247), Vector(1.156, 0.638, -1.903), Vector(1.105, 0.187, -2.011), Vector(1.105, 0.278,
  • -2.011), Vector(1.063, 0.351, -2.210), Vector(1.033, 0.678, -2.320), Vector(0.488, 0.675, -2.567), Vector(1.181, 0.823,
  • -1.752), Vector(1.005, 0.882, -2.312), Vector(0.976, 0.968, -2.272), Vector(0.156, 0.990, -2.595), Vector(0.164, 1.028,
  • -2.259), Vector(0.806, 1.029, -1.090), Vector(1.065, 0.970, -0.575), Vector(1.147, 0.737, 1.439), Vector(1.156, 0.563, 1.185),
  • Vector(1.156, 0.848, 1.617), Vector(1.156, 0.569, 2.011), Vector(1.138, 0.157, 2.013), Vector(0.802, 0.157, 2.648), Vector(
  • 0.298, 0.157, 2.912), Vector(1.126, 0.283, -0.297), Vector(1.025, 0.803, -0.531), Vector(0.201, 0.967, -2.198), Vector(0.884,
  • 1.026, -0.134), Vector(0.890, 0.917, 1.017), Vector(0.712, 0.907, 1.481), Vector(-0.515, 1.095, -1.324), Vector(0.629, 0.756,
  • 2.274), Vector(1.031, 0.757, 2.174), Vector(1.022, 0.254, 2.351), Vector(0.914, 0.403, 2.454), Vector(0.637, 0.377, 2.689),
  • Vector(0.344, 0.365, 2.847), Vector(0.950, 0.554, 2.456), Vector(1.072, 0.932, 1.648), Vector(1.082, 1.072, -1.600), Vector(
  • -0.198, 0.852, -2.650), Vector(0.414, 0.852, -2.650), Vector(-1.105, 0.278, -2.011), Vector(0.198, 0.852, -2.650), Vector(
  • 1.079, 0.419, -0.367), Vector(1.156, 0.828, -1.575), Vector(-1.156, 0.828, -1.575), Vector(-0.973, 0.982, -2.279), Vector(
  • -0.439, 0.990, -2.582), Vector(-0.156, 0.990, -2.595), Vector(0.973, 0.982, -2.279), Vector(0.439, 0.990, -2.582), Vector(
  • 0.156, 0.990, -2.595), Vector(-1.156, 0.187, -1.133), Vector(-1.156, 0.157, 1.174), Vector(-1.007, 0.268, -2.337), Vector(
  • -1.105, 0.187, -2.011), Vector(-0.599, 0.267, -2.600), Vector(-0.468, 0.352, -2.628), Vector(-1.063, 0.351, -2.210), Vector(
  • -0.175, 1.002, -2.447), Vector(-1.138, 0.157, 2.013), Vector(-1.054, 0.149, 2.442), Vector(-0.754, 0.137, 2.738), Vector(
  • -0.719, 1.164, -0.638), Vector(-0.890, 0.917, 1.017), Vector(-0.712, 0.907, 1.481), Vector(-0.479, 0.794, 2.078), Vector(
  • -0.521, 0.883, 1.791), Vector(0, 0.864, 1.924), Vector(-0.637, 0.377, 2.689), Vector(-0.658, 0.210, 2.551), Vector(-0.633,
  • 0.311, 2.631), Vector(-0.967, 0.232, 2.298), Vector(0.662, 1.310, 0.402), Vector(-0.662, 1.310, 0.402), Vector(-0.576, 1.370,
  • -0.042), Vector(-0.545, 1.286, -0.699), Vector(-0.548, 1.098, -1.193), Vector(0.719, 1.164, -0.638), Vector(-0.352, 0.933,
  • 1.472), Vector(0.352, 0.933, 1.472), Vector(-0.732, 0.630, 2.499), Vector(-0.937, 0.620, -2.384), Vector(1.156, 0.187, -1.133),
  • Vector(1.156, 0.157, 1.174), Vector(1.007, 0.268, -2.337), Vector(1.105, 0.187, -2.011), Vector(0.599, 0.267, -2.600), Vector(
  • 0.468, 0.352, -2.628), Vector(1.063, 0.351, -2.210), Vector(0.175, 1.002, -2.447), Vector(1.138, 0.157, 2.013), Vector(1.054,
  • 0.149, 2.442), Vector(0.754, 0.137, 2.738), Vector(0.890, 0.917, 1.017), Vector(0.712, 0.907, 1.481), Vector(0.479, 0.794,
  • 2.078), Vector(0.521, 0.883, 1.791), Vector(0.637, 0.377, 2.689), Vector(0.576, 1.370, -0.042), Vector(0.658, 0.210, 2.551),
  • Vector(0.633, 0.311, 2.631), Vector(0.967, 0.232, 2.298), Vector(Empty Array, 1.408, -0.042), Vector(0.545, 1.286, -0.699),
  • Vector(0.548, 1.098, -1.193), Vector(0.937, 0.620, -2.384), Vector(-0.245, 0.534, -2.705), Vector(0.245, 0.534, -2.705),
  • Vector(-0.937, 0.620, -2.384), Vector(-0.387, 0.413, -2.654), Vector(0.387, 0.413, -2.654), Vector(Empty Array, 1.377, 0.402),
  • Vector(-0.944, 0.899, 0.849), Vector(0.944, 0.899, 0.849), Vector(-1.230, 1.050, 0.692), Vector(1.230, 1.050, 0.692), Vector(
  • 0.732, 0.630, 2.499), Vector(1.031, 0.778, 2.095), Vector(-1.031, 0.778, 2.095), Vector(-0.316, 0.481, 2.927), Vector(-0.950,
  • 0.554, 2.456), Vector(0.316, 0.481, 2.927), Vector(0.950, 0.554, 2.456), Vector(0, 0.560, 2.777), Vector(0.725, 0.630, 2.552),
  • Vector(-0.725, 0.630, 2.552), Vector(-0.944, 0.718, 2.317), Vector(-0.889, 0.663, 2.409), Vector(0.944, 0.718, 2.317), Vector(
  • 0.889, 0.663, 2.409), Vector(-0.316, 0.481, 2.927), Vector(0.316, 0.481, 2.927));
  • Global.display = Global.vertices;
  • Global.edges = Array(2, 3, 4, 0, 6, 5, 91, 49, 88, 7, 7, 8, 8, 9, 54, 57, 10, 11, 27, 76, 50, 91, 14, 15, 15, 16, 62, 63, 1, 18,
  • 18, 19, 19, 20, 20, 21, 38, 41, 22, 23, 74, 24, 51, 50, 11, 44, 26, 27, 76, 28, 29, 30, 30, 31, 31, 32, 34, 35, 37, 22, 38, 37,
  • 39, 40, 80, 81, 43, 12, 48, 90, 49, 46, 16, 17, 52, 53, 53, 54, 54, 55, 9, 55, 56, 57, 13, 14, 5, 92, 60, 61, 61, 62, 47, 64,
  • 64, 65, 65, 66, 66, 67, 38, 39, 68, 69, 16, 43, 57, 87, 45, 33, 33, 72, 30, 42, 74, 75, 79, 68, 80, 79, 81, 82, 80, 83, 23, 69,
  • 85, 58, 27, 29, 45, 73, 70, 62, 28, 86, 72, 89, 8, 11, 24, 84, 44, 87, 40, 82, 65, 84, 77, 35, 25, 16, 19, 42, 62, 85, 92, 4,
  • 36, 41, 85, 91, 43, 92, 59, 60, 71, 45, 73, 24, 78, 84, 36, 42, 32, 34, 75, 77, 78, 83, 93, 94, 94, 95, 96, 97, 97, 98, 99,
  • 100, 103, 101, 101, 102, 104, 103, 107, 108, 108, 109, 112, 113, 114, 115, 145, 147, 118, 119, 111, 121, 159, 120, 121, 122,
  • 122, 123, 123, 124, 111, 126, 126, 127, 130, 131, 136, 158, 134, 132, 132, 133, 105, 157, 135, 134, 138, 139, 139, 140, 142,
  • 143, 110, 123, 113, 114, 148, 149, 144, 115, 151, 152, 125, 151, 154, 155, 155, 153, 129, 154, 143, 144, 123, 151, 155, 158,
  • 157, 154, 106, 137, 160, 162, 161, 163, 150, 146, 164, 165, 122, 150, 146, 151, 116, 117, 121, 159, 141, 127, 141, 120, 120,
  • 146, 128, 166, 168, 167, 167, 169, 173, 171, 172, 171, 174, 175, 176, 177, 40, 178, 82, 179, 170, 169);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(90, 91, 92, 93), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
  • 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
  • 140, 141, 142, 143, 144, 145), Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Black), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(148, 149, 150, 151), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(146, 147, 154), Global.actualLine));
  • "Car Paint (Default - Secondary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_SECONDARY,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#6 Loadup McLaren P1 2013")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 5;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(1.141, 0.265, -1.238), Vector(1.205, 0.675, -1.278), Vector(1.224, 0.927, -1.711), Vector(1.205,
  • 0.731, -2.120), Vector(1.163, 0.452, -2.204), Vector(1.065, 0.278, -2.219), Vector(1.127, 0.190, 1.207), Vector(1.174, 0.560,
  • 1.205), Vector(1.149, 0.577, 1.086), Vector(1.149, 0.317, 0.847), Vector(1.185, 0.474, -0.362), Vector(1.167, 0.914, -0.853),
  • Vector(1.212, 0.779, -1.349), Vector(0.854, 0.595, -2.545), Vector(1.055, 0.881, -2.248), Vector(0.813, 0.950, -2.472), Vector(
  • 0.301, 0.836, -2.668), Vector(0.962, 0.299, -2.370), Vector(0.959, 1.098, -2.071), Vector(1.066, 1.130, -1.495), Vector(1.097,
  • 1.029, -0.435), Vector(1.164, 0.841, 0.854), Vector(1.105, 1.003, 1.462), Vector(1.039, 1.007, 1.727), Vector(0.933, 0.912,
  • 2.119), Vector(0.640, 0.638, 2.766), Vector(1.198, 0.608, 1.229), Vector(1.222, 0.896, 1.635), Vector(1.202, 0.675, 2.056),
  • Vector(0.933, 0.657, 2.463), Vector(0.505, 0.576, 2.853), Vector(1.076, 0.677, 2.302), Vector(0.844, 0.356, 2.669), Vector(
  • 0.827, 0.244, 2.625), Vector(Empty Array, 0.548, 2.973), Vector(0.978, 0.984, 1.266), Vector(0.671, 1.370, 0.532), Vector(
  • 0.623, 1.425, 0.077), Vector(0.529, 1.370, -0.621), Vector(0.393, 1.027, -1.724), Vector(0.140, 0.939, -2.118), Vector(0.960,
  • 0.947, 0.313), Vector(0.859, 1.030, -0.442), Vector(0.331, 0.963, -2.251), Vector(0.609, 0.925, 1.978), Vector(0.295, 0.749,
  • 2.645), Vector(0.073, 0.722, 2.738), Vector(0.138, 0.964, 1.852), Vector(Empty Array, 1.421, 0.555), Vector(0.935, 0.977,
  • 1.187), Vector(0.146, 1.401, -0.538), Vector(0.503, 1.320, -0.751), Vector(0.532, 1.228, -2.700), Vector(Empty Array, 1.247,
  • -2.773), Vector(0.834, 1.306, -2.389), Vector(0.500, 0.958, 1.760), Vector(0.856, 1.061, -2.101), Vector(-1.141, 0.265,
  • -1.238), Vector(-1.205, 0.675, -1.278), Vector(-1.224, 0.927, -1.711), Vector(-1.205, 0.731, -2.120), Vector(-1.163, 0.452,
  • -2.204), Vector(-1.065, 0.278, -2.219), Vector(-1.127, 0.190, 1.207), Vector(-1.174, 0.560, 1.205), Vector(-1.149, 0.577,
  • 1.086), Vector(-1.149, 0.317, 0.847), Vector(-1.185, 0.474, -0.362), Vector(-1.167, 0.914, -0.853), Vector(-1.212, 0.779,
  • -1.349), Vector(-0.854, 0.595, -2.545), Vector(-1.055, 0.881, -2.248), Vector(-0.813, 0.950, -2.472), Vector(-0.301, 0.836,
  • -2.668), Vector(-0.962, 0.299, -2.370), Vector(-0.959, 1.098, -2.071), Vector(-1.066, 1.130, -1.495), Vector(-1.097, 1.029,
  • -0.435), Vector(-1.164, 0.841, 0.854), Vector(-1.105, 1.003, 1.462), Vector(-1.039, 1.007, 1.727), Vector(-0.933, 0.912,
  • 2.119), Vector(-0.640, 0.638, 2.766), Vector(-1.198, 0.608, 1.229), Vector(-1.222, 0.896, 1.635), Vector(-1.202, 0.675, 2.056),
  • Vector(-0.933, 0.657, 2.463), Vector(-0.505, 0.576, 2.853), Vector(-1.076, 0.677, 2.302), Vector(-0.844, 0.356, 2.669), Vector(
  • -0.827, 0.244, 2.625), Vector(-0.978, 0.984, 1.266), Vector(-0.671, 1.370, 0.532), Vector(-0.623, 1.425, 0.077), Vector(-0.505,
  • 1.236, -1.015), Vector(-0.393, 1.027, -1.724), Vector(-0.140, 0.939, -2.118), Vector(-0.960, 0.947, 0.313), Vector(-0.859,
  • 1.030, -0.442), Vector(-0.331, 0.963, -2.251), Vector(-0.609, 0.925, 1.978), Vector(-0.295, 0.749, 2.645), Vector(-0.073,
  • 0.722, 2.738), Vector(-0.138, 0.964, 1.852), Vector(-0.935, 0.977, 1.187), Vector(-0.146, 1.401, -0.538), Vector(-0.529, 1.370,
  • -0.621), Vector(-0.532, 1.228, -2.700), Vector(-0.834, 1.306, -2.389), Vector(-0.500, 0.958, 1.760), Vector(-0.856, 1.061,
  • -2.101), Vector(0.859, 1.030, -0.442), Vector(0.505, 1.236, -1.015), Vector(-0.859, 1.030, -0.442), Vector(-0.503, 1.320,
  • -0.751), Vector(Empty Array, 0.958, 1.880), Vector(0.854, 0.595, -2.545), Vector(1.055, 0.881, -2.248), Vector(0.813, 0.950,
  • -2.472), Vector(0.496, 0.849, -2.643), Vector(0.301, 0.836, -2.668), Vector(1.036, 0.820, -2.321), Vector(-0.854, 0.595,
  • -2.545), Vector(-1.055, 0.881, -2.248), Vector(-0.813, 0.950, -2.472), Vector(-0.496, 0.849, -2.643), Vector(-0.301, 0.836,
  • -2.668), Vector(-1.036, 0.820, -2.321), Vector(0.831, 0.764, 2.475), Vector(1.039, 0.794, 2.255), Vector(1.076, 0.696, 2.298),
  • Vector(1.002, 0.751, 2.289), Vector(0.790, 0.719, 2.439), Vector(-0.831, 0.764, 2.475), Vector(-1.039, 0.794, 2.255), Vector(
  • -1.076, 0.696, 2.298), Vector(-1.002, 0.751, 2.289), Vector(-0.790, 0.719, 2.439), Vector(1.140, 0.188, 1.194), Vector(1.148,
  • 0.188, -1.226), Vector(0.854, 0.595, -2.545), Vector(-0.336, 0.595, -2.732), Vector(1.202, 0.675, 2.056), Vector(1.203, 0.224,
  • 2.110), Vector(0.934, 0.224, 2.636), Vector(0.505, 0.576, 2.853), Vector(Empty Array, 1.424, 0.549), Vector(0.548, 0.703,
  • -2.136), Vector(0.548, 1.128, -2.530), Vector(0.548, 0.646, -2.240), Vector(0.548, 1.071, -2.634), Vector(0.532, 1.228,
  • -2.700), Vector(Empty Array, 1.483, -0.184), Vector(0.515, 1.389, -0.438), Vector(-1.140, 0.188, 1.194), Vector(-1.148, 0.188,
  • -1.226), Vector(-0.854, 0.595, -2.545), Vector(0.336, 0.595, -2.732), Vector(-1.202, 0.675, 2.056), Vector(-1.203, 0.224,
  • 2.110), Vector(-0.934, 0.224, 2.636), Vector(Empty Array, 0.224, 3.030), Vector(-0.505, 0.576, 2.853), Vector(-0.548, 0.703,
  • -2.136), Vector(-0.548, 1.128, -2.530), Vector(-0.548, 0.646, -2.240), Vector(-0.548, 1.071, -2.634), Vector(-0.532, 1.228,
  • -2.700), Vector(-0.515, 1.389, -0.438), Vector(0.345, 0.438, -2.716), Vector(-0.345, 0.438, -2.716), Vector(0.385, 0.149,
  • -2.547), Vector(-0.385, 0.149, -2.547), Vector(0.634, 0.438, -2.640), Vector(-0.634, 0.438, -2.640), Vector(0.789, 0.167,
  • -2.404), Vector(-0.789, 0.167, -2.404), Vector(0.579, 0.263, 2.764), Vector(-0.579, 0.263, 2.764), Vector(Empty Array, 1.350,
  • -0.760), Vector(1.130, 0.827, 0.854), Vector(1.273, 1.021, 0.812), Vector(-1.130, 0.827, 0.854), Vector(-1.273, 1.021, 0.812),
  • Vector(Empty Array, 0.958, 1.753), Vector(Empty Array, 1.421, 0.555));
  • Global.display = Global.vertices;
  • Global.edges = Array(1, 2, 0, 1, 2, 3, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12, 5, 17, 13, 17, 15, 18, 18, 19, 19, 20, 2, 19,
  • 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 26, 27, 27, 28, 87, 34, 10, 11, 29, 30, 31, 32, 28, 31, 22, 27, 55, 115, 22, 49, 49,
  • 36, 36, 37, 39, 40, 3, 14, 35, 41, 41, 42, 97, 98, 44, 45, 45, 46, 36, 48, 51, 50, 52, 53, 52, 54, 49, 55, 46, 47, 43, 56, 112,
  • 111, 58, 59, 57, 58, 59, 60, 60, 61, 61, 62, 63, 64, 64, 65, 65, 66, 66, 67, 68, 69, 62, 74, 70, 74, 72, 75, 75, 76, 76, 77,
  • 59, 76, 77, 78, 78, 79, 79, 80, 80, 81, 81, 82, 83, 84, 84, 85, 67, 68, 86, 87, 79, 84, 88, 89, 32, 33, 85, 88, 79, 104, 104,
  • 92, 92, 93, 93, 106, 106, 95, 95, 96, 60, 71, 91, 97, 38, 39, 98, 99, 100, 101, 101, 102, 114, 105, 107, 108, 104, 109, 102,
  • 103, 99, 110, 92, 48, 94, 113, 42, 43, 16, 73, 115, 109, 30, 34, 43, 99, 107, 53, 37, 38, 89, 90, 122, 127, 121, 117, 117, 118,
  • 118, 119, 119, 120, 127, 123, 123, 124, 124, 125, 125, 126, 116, 121, 128, 129, 131, 132, 133, 134, 129, 130, 136, 137, 134,
  • 135, 139, 138, 141, 157, 142, 143, 144, 161, 147, 148, 149, 150, 148, 150, 152, 153, 155, 154, 140, 157, 141, 156, 158, 159,
  • 143, 144, 152, 168, 146, 152, 160, 161, 163, 164, 165, 166, 148, 151, 141, 170, 169, 171, 170, 172, 157, 169, 173, 169, 174,
  • 170, 175, 173, 176, 174, 159, 160, 145, 177, 162, 178, 164, 167, 164, 166, 152, 179, 180, 181, 182, 183, 184, 185);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(104, 105, 106, 107, 108, 109, 110, 111, 112, 113), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
  • 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154), Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Black), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(114, 115, 116, 117, 118, 119), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Bad Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(155), Global.actualLine));
  • "Glass"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Gray), Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default - Primary)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#7 Loadup Porsche GT3 RS 2018")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 6;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(Empty Array, 0.569, 2.700), Vector(Empty Array, 1.415, 0.377), Vector(Empty Array, 1.345, -2.428),
  • Vector(Empty Array, 1.301, -2.052), Vector(Empty Array, 0.425, -2.461), Vector(Empty Array, 0.454, 2.711), Vector(0.534, 0.865,
  • -2.273), Vector(1.060, 0.847, 1.550), Vector(0.580, 1.461, -0.128), Vector(1, 0.206, 1.091), Vector(1, 0.215, -0.812), Vector(
  • 0.998, 0.268, 2.056), Vector(0.852, 0.484, 2.427), Vector(0.492, 0.322, 2.581), Vector(0.422, 0.454, 2.648), Vector(0.526,
  • 0.505, 2.577), Vector(0.645, 0.911, 1.886), Vector(0.860, 1.004, 0.836), Vector(0.156, 0.692, 2.529), Vector(0.165, 0.931,
  • 1.977), Vector(1.076, 0.588, -0.844), Vector(1.076, 0.847, -1.224), Vector(0.814, 1.049, -0.442), Vector(0.905, 0.972, -1.248),
  • Vector(0.967, 0.321, 0.939), Vector(0.783, 1.076, -1.268), Vector(0.955, 0.290, -1.928), Vector(0.927, 0.616, -2.058), Vector(
  • 1.073, 0.795, -1.425), Vector(0.465, 0.442, -2.424), Vector(0.925, 0.393, -1.956), Vector(1.046, 0.658, 1.174), Vector(1.045,
  • 0.658, 1.929), Vector(0.842, 0.254, 2.429), Vector(0.808, 0.303, 2.391), Vector(0.807, 0.954, 1.891), Vector(0.812, 0.971,
  • 0.978), Vector(0.678, 1.369, 0.267), Vector(0.898, 1.311, -2.292), Vector(0.656, 0.969, -1.957), Vector(1.066, 0.625, -1.674),
  • Vector(0.922, 0.943, -0.519), Vector(0.963, 0.371, -0.217), Vector(0.940, 0.856, -1.867), Vector(0.657, 0.421, -2.355), Vector(
  • 0.986, 0.871, 0.964), Vector(0.197, 1.024, 1.299), Vector(0.307, 0.227, 2.707), Vector(0.915, 0.574, 2.277), Vector(-0.459,
  • 0.582, 2.625), Vector(-0.307, 0.227, 2.707), Vector(-0.678, 1.369, 0.267), Vector(-0.569, 1.334, -0.904), Vector(-0.898, 1.311,
  • -2.292), Vector(-0.334, 0.695, -2.430), Vector(-0.529, 1.139, -1.673), Vector(0.529, 1.139, -1.673), Vector(-0.534, 0.865,
  • -2.273), Vector(-1.060, 0.847, 1.550), Vector(-0.580, 1.461, -0.128), Vector(-1, 0.206, 1.091), Vector(-1, 0.215, -0.812),
  • Vector(-0.998, 0.268, 2.056), Vector(-0.852, 0.484, 2.427), Vector(-0.492, 0.322, 2.581), Vector(-0.422, 0.454, 2.648), Vector(
  • -0.526, 0.505, 2.577), Vector(-0.739, 0.655, -2.311), Vector(0.739, 0.655, -2.311), Vector(-0.645, 0.911, 1.886), Vector(
  • -0.860, 1.004, 0.836), Vector(-0.156, 0.692, 2.529), Vector(-0.165, 0.931, 1.977), Vector(-0.925, 1.267, -1.912), Vector(
  • -1.076, 0.588, -0.844), Vector(-1.076, 0.847, -1.224), Vector(-0.814, 1.049, -0.442), Vector(-0.905, 0.972, -1.248), Vector(
  • -0.967, 0.321, 0.939), Vector(-0.783, 1.076, -1.268), Vector(-0.955, 0.290, -1.928), Vector(-0.927, 0.616, -2.058), Vector(
  • -1.073, 0.795, -1.425), Vector(-0.465, 0.442, -2.424), Vector(-0.925, 0.393, -1.956), Vector(-1.046, 0.658, 1.174), Vector(
  • -1.045, 0.658, 1.929), Vector(-0.842, 0.254, 2.429), Vector(-0.808, 0.303, 2.391), Vector(-0.807, 0.954, 1.891), Vector(-0.812,
  • 0.971, 0.978), Vector(-0.656, 0.969, -1.957), Vector(-1.066, 0.625, -1.674), Vector(-0.922, 0.943, -0.519), Vector(-0.963,
  • 0.371, -0.217), Vector(-0.940, 0.856, -1.867), Vector(-0.657, 0.421, -2.355), Vector(-0.986, 0.871, 0.964), Vector(-0.615,
  • 1.014, -2.267), Vector(-0.197, 1.024, 1.299), Vector(-0.915, 0.574, 2.277), Vector(0.459, 0.582, 2.625), Vector(0.925, 1.267,
  • -1.912), Vector(0.569, 1.334, -0.904), Vector(0.615, 1.014, -2.267), Vector(0.334, 0.695, -2.430), Vector(0.897, 0.543, 2.379),
  • Vector(0.564, 0.543, 2.587), Vector(0.794, 0.883, 2.029), Vector(0.763, 0.740, 2.213), Vector(-0.897, 0.543, 2.379), Vector(
  • -0.564, 0.543, 2.587), Vector(-0.794, 0.883, 2.029), Vector(-0.763, 0.740, 2.213), Vector(0.534, 0.865, -2.273), Vector(0.940,
  • 0.856, -1.867), Vector(-0.534, 0.865, -2.273), Vector(-0.940, 0.856, -1.867), Vector(Empty Array, 0.676, 2.576), Vector(0.578,
  • 1.391, -0.544), Vector(1.097, 1.052, 0.342), Vector(0.894, 0.975, 0.492), Vector(1, 0.206, 1.091), Vector(1, 0.215, -0.812),
  • Vector(0.937, 0.182, 2.395), Vector(0.629, 1.232, -2.313), Vector(0.645, 1.197, -2.106), Vector(0.629, 1.225, -2.275), Vector(
  • 0.629, 1.313, -2.252), Vector(0.645, 1.197, -2.105), Vector(0.645, 1.269, -2.083), Vector(0.814, 1.049, -0.442), Vector(0.977,
  • 0.684, -0.688), Vector(0.905, 0.958, -0.928), Vector(0.116, 0.404, -2.423), Vector(1.045, 0.658, 1.929), Vector(1.023, 0.182,
  • 2.060), Vector(0.898, 1.311, -2.292), Vector(0.656, 0.969, -1.957), Vector(1.066, 0.625, -1.674), Vector(1.012, 0.242, -1.762),
  • Vector(0.744, 0.281, -2.313), Vector(0.177, 0.295, -2.439), Vector(-0.456, 0.177, 2.716), Vector(-0.444, 0.690, 2.461), Vector(
  • -0.569, 1.334, -0.904), Vector(-0.898, 1.311, -2.292), Vector(-0.529, 1.139, -1.673), Vector(0.529, 1.139, -1.673), Vector(
  • -0.578, 1.391, -0.544), Vector(-1.097, 1.052, 0.342), Vector(-0.894, 0.975, 0.492), Vector(-1, 0.206, 1.091), Vector(-1, 0.215,
  • -0.812), Vector(-0.937, 0.182, 2.395), Vector(-0.629, 1.232, -2.313), Vector(-0.645, 1.197, -2.106), Vector(-0.629, 1.225,
  • -2.275), Vector(-0.629, 1.313, -2.252), Vector(-0.645, 1.197, -2.105), Vector(-0.645, 1.269, -2.083), Vector(-0.925, 1.267,
  • -1.912), Vector(-0.814, 1.049, -0.442), Vector(-0.977, 0.684, -0.688), Vector(-0.905, 0.958, -0.928), Vector(-0.116, 0.404,
  • -2.423), Vector(-1.045, 0.658, 1.929), Vector(-1.023, 0.182, 2.060), Vector(-0.656, 0.969, -1.957), Vector(-1.066, 0.625,
  • -1.674), Vector(-1.012, 0.242, -1.762), Vector(-0.744, 0.281, -2.313), Vector(-0.177, 0.295, -2.439), Vector(-0.615, 1.014,
  • -2.267), Vector(0.456, 0.177, 2.716), Vector(0.444, 0.690, 2.461), Vector(0.925, 1.267, -1.912), Vector(0.569, 1.334, -0.904),
  • Vector(0.615, 1.014, -2.267), Vector(Empty Array, 1.024, 1.352), Vector(-0.534, 0.865, -2.273), Vector(0.534, 0.865, -2.273),
  • Vector(0.534, 0.865, -2.273), Vector(-0.534, 0.865, -2.273));
  • Global.display = Global.vertices;
  • Global.edges = Array(23, 45, 32, 7, 31, 9, 12, 34, 15, 13, 81, 67, 7, 31, 38, 2, 22, 41, 24, 45, 21, 25, 4, 44, 33, 11, 35, 17, 18,
  • 19, 17, 37, 10, 20, 20, 21, 21, 40, 17, 25, 41, 42, 42, 24, 17, 45, 37, 1, 26, 27, 43, 28, 44, 30, 7, 45, 27, 43, 25, 43, 14,
  • 5, 37, 8, 16, 17, 34, 13, 53, 2, 49, 0, 51, 1, 47, 50, 72, 99, 47, 33, 47, 13, 6, 57, 56, 25, 56, 39, 48, 32, 77, 97, 86, 58,
  • 85, 60, 63, 88, 66, 64, 27, 68, 58, 85, 73, 3, 76, 93, 78, 97, 75, 79, 4, 96, 87, 62, 89, 70, 71, 72, 61, 74, 74, 75, 75, 92,
  • 70, 79, 93, 94, 94, 78, 70, 97, 80, 81, 95, 82, 96, 84, 58, 97, 81, 95, 79, 95, 65, 5, 69, 70, 88, 64, 102, 3, 101, 0, 104, 98,
  • 90, 179, 180, 98, 100, 86, 101, 48, 101, 16, 8, 103, 36, 179, 105, 54, 47, 101, 8, 59, 56, 103, 105, 29, 68, 105, 182, 104, 49,
  • 100, 49, 69, 70, 51, 51, 59, 59, 52, 50, 87, 50, 64, 50, 49, 55, 52, 55, 79, 55, 91, 54, 83, 67, 54, 54, 183, 181, 105, 106,
  • 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 131, 122, 123, 127, 128, 129, 130, 126, 138, 132, 133, 136, 135,
  • 124, 136, 125, 126, 139, 140, 140, 141, 141, 142, 142, 134, 121, 120, 144, 118, 147, 148, 149, 162, 152, 153, 157, 158, 159,
  • 160, 156, 168, 163, 164, 167, 166, 154, 167, 155, 156, 169, 170, 170, 171, 171, 172, 172, 165, 151, 150, 175, 118, 173, 155,
  • 173, 168, 137, 176, 174, 143, 174, 124, 178, 125, 178, 138, 177, 145, 146, 161, 143, 154, 19, 46);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(112, 113), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(41, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
  • 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154),
  • Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(White), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(108, 109, 110, 111), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#8 Loadup Porsche 918 2013")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 7;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(0.419306, 0.808923, -2.620359), Vector(0.61231, 0.566156, -2.561508), Vector(1.135156, 0.226691, -1.248132), Vector(1.112982, 0.226691, 1.118964), Vector(1.151352, 0.758574, 1.167448), Vector(1.158436, 0.975669, 1.561296), Vector(1.160218, 0.758574, 2.011768), Vector(1.09076, 0.253712, 2.02805), Vector(1.186829, 0.806073, -1.299898), Vector(1.186408, 1.002062, -1.708422), Vector(1.154226, 0.766109, -2.126302), Vector(1.083063, 0.31963, -2.192739), Vector(1.017567, 0.555799, -2.417433), Vector(0.631332, 0.285433, -2.361272), Vector(1.086056, 0.426695, 0.867212), Vector(1.057892, 0.384701, -0.015764), Vector(1.065384, 0.512932, -0.501613), Vector(0.838669, 0.347241, 2.545221), Vector(0.550909, 0.337326, 2.691103), Vector(0.951717, 0.585375, 2.464625), Vector(0.369268, 0.590082, 2.802411), Vector(0.427126, 0.752858, 2.527861), Vector(0.65121, 0.991258, 1.806038), Vector(0.849756, 1.027773, 0.783253), Vector(0.603412, 1.384497, 0.418073), Vector(0.613619, 1.411499, -0.036735), Vector(0.62842, 1.359839, -0.637165), Vector(0.868584, 1.105366, -0.692245), Vector(1.055877, 0.976598, -0.704164), Vector(1.051133, 0.927193, 0.883214), Vector(0.721199, 1.151135, -1.339571), Vector(0.480384, 1.059168, -2.206502), Vector(1.084203, 1.13859, -1.492464), Vector(0.990603, 0.966815, -0.721608), Vector(1.042547, 1.083545, 1.555951), Vector(0.831838, 1.093443, 1.555951), Vector(1.047046, 0.972851, -2.255994), Vector(0.471048, 1.028448, -2.474543), Vector(0.203213, 1.39272, -0.663557), Vector(0.072426, 1.216679, -0.679187), Vector(1.086056, 0.343182, 0.958828), Vector(0.417149, 1.419996, -0.65837), Vector(1.111986, 0.244082, 1.029326), Vector(1.017699, 0.602138, -0.549891), Vector(1.069274, 0.553141, 0.563853), Vector(0.200305, 1.435481, 0.496392), Vector(1.131095, 0.591017, 2.01924), Vector(0.199426, 1.494107, -0.036735), Vector(0.9715, 1.025922, -2.206502), Vector(1.044914, 0.840784, -2.298493), Vector(1.174301, 0.885494, -2.008953), Vector(1.049286, 0.954998, -2.230817), Vector(0.995345, 0.658083, -2.421075), Vector(1.052353, 0.895992, 1.99464), Vector(0.661836, 0.705372, 2.5844), Vector(-0.419306, 0.808923, -2.620359), Vector(-0.61231, 0.566156, -2.561508), Vector(-1.135156, 0.226691, -1.248132), Vector(-1.112982, 0.226691, 1.118964), Vector(-1.151352, 0.758574, 1.167448), Vector(-1.158436, 0.975669, 1.561296), Vector(-1.160218, 0.758574, 2.011768), Vector(-1.09076, 0.253712, 2.02805), Vector(-1.186829, 0.806073, -1.299898), Vector(-1.186408, 1.002062, -1.708422), Vector(-1.154226, 0.766109, -2.126302), Vector(-1.083063, 0.31963, -2.192739), Vector(-1.017567, 0.555799, -2.417433), Vector(-0.631332, 0.285433, -2.361272), Vector(-1.086056, 0.426695, 0.867212), Vector(-1.057892, 0.384701, -0.015764), Vector(-1.065384, 0.512932, -0.501613), Vector(-0.838669, 0.347241, 2.545221), Vector(-0.550909, 0.337326, 2.691103), Vector(-0.951717, 0.585375, 2.464625), Vector(-0.369268, 0.590082, 2.802411), Vector(-0.427126, 0.752858, 2.527861), Vector(-0.65121, 0.991258, 1.806038), Vector(-0.849756, 1.027773, 0.783253), Vector(-0.603412, 1.384497, 0.418073), Vector(-0.613619, 1.411499, -0.036735), Vector(-0.62842, 1.359839, -0.637165), Vector(-0.868584, 1.105366, -0.692245), Vector(-1.055877, 0.976598, -0.704164), Vector(-1.051133, 0.927193, 0.883214), Vector(-0.721199, 1.151135, -1.339571), Vector(-0.480384, 1.059168, -2.206502), Vector(-1.084203, 1.13859, -1.492464), Vector(-0.990603, 0.966815, -0.721608), Vector(-1.042546, 1.083545, 1.555951), Vector(-0.831838, 1.093443, 1.555951), Vector(-1.047046, 0.972851, -2.255994), Vector(-0.471048, 1.028448, -2.474543), Vector(-0.203213, 1.39272, -0.663557), Vector(-0.072426, 1.216679, -0.679187), Vector(-1.086056, 0.343182, 0.958828), Vector(-0.417149, 1.419996, -0.65837), Vector(-1.111986, 0.244082, 1.029326), Vector(-1.017699, 0.602138, -0.549891), Vector(-1.069274, 0.553141, 0.563853), Vector(-0.200305, 1.435481, 0.496392), Vector(-1.131095, 0.591017, 2.01924), Vector(-0.199426, 1.494107, -0.036735), Vector(-0.9715, 1.025922, -2.206502), Vector(-1.044914, 0.840784, -2.298493), Vector(-1.174301, 0.885494, -2.008953), Vector(-1.049286, 0.954998, -2.230817), Vector(-0.995345, 0.658083, -2.421075), Vector(-1.052353, 0.895992, 1.99464), Vector(-0.771651, 0.922794, 1.99464), Vector(-0.661836, 0.705372, 2.5844), Vector(0.947219, 0.257704, 2.44739), Vector(-0.947219, 0.257704, 2.44739), Vector(Empty Array, 1.216679, -0.679187), Vector(Empty Array, 1.233905, -1.029535), Vector(Empty Array, 1.141005, -1.675829), Vector(0.404975, 1.305817, -1.22138), Vector(0.398051, 1.219836, -1.323103), Vector(-0.404975, 1.305817, -1.22138), Vector(-0.398051, 1.219836, -1.323103), Vector(Empty Array, 0.730198, 2.624779), Vector(0.90591, 0.925854, 2.142367), Vector(0.77196, 0.726383, 2.521817), Vector(-0.90591, 0.925854, 2.142367), Vector(-0.77196, 0.726383, 2.521817), Vector(1.029874, 0.915137, -2.237946), Vector(0.555679, 0.939312, -2.445986), Vector(-1.029874, 0.915137, -2.237946), Vector(-0.555679, 0.939312, -2.445986), Vector(0.849756, 1.027773, 0.783253), Vector(0.525283, 1.027773, 1.197405), Vector(Empty Array, 1.027773, 1.390868), Vector(-0.849756, 1.027773, 0.783253), Vector(-0.525283, 1.027773, 1.197405), Vector(0.624958, 0.298905, -2.531255), Vector(0.558756, 0.48948, -2.608374), Vector(0.40759, 0.48948, -2.631431), Vector(0.40759, 0.298905, -2.567469), Vector(0.631332, 0.285433, -2.361272), Vector(0.426591, 1.347338, -0.741901), Vector(0.376955, 1.158757, -1.644883), Vector(0.977581, 0.996524, 0.696845), Vector(1.205538, 1.089418, 0.610516), Vector(-0.624958, 0.298905, -2.531255), Vector(-0.558756, 0.48948, -2.608374), Vector(-0.40759, 0.48948, -2.631431), Vector(-0.40759, 0.298905, -2.567469), Vector(-0.631332, 0.285433, -2.361272), Vector(-0.426591, 1.347338, -0.741901), Vector(-0.376955, 1.158757, -1.644883), Vector(-0.977581, 0.996524, 0.696845), Vector(-1.205538, 1.089418, 0.610516), Vector(Empty Array, 1.141005, -1.675829), Vector(0.404975, 1.305817, -1.22138), Vector(0.398051, 1.219836, -1.323103), Vector(-0.404975, 1.305817, -1.22138), Vector(-0.398051, 1.219836, -1.323103), Vector(Empty Array, 1.061874, -2.226331), Vector(0.53632, 0.261696, 2.741023), Vector(0.387699, 0.398469, 2.837726), Vector(-0.53632, 0.261696, 2.741023), Vector(-0.387699, 0.398469, 2.837726), Vector(0.947219, 0.257704, 2.44739), Vector(-0.947219, 0.257704, 2.44739), Vector(Empty Array, 1.027773, 1.390868), Vector(Empty Array, 1.432378, 0.515021), Vector(0.771651, 0.922794, 1.99464));
  • Global.display = Global.vertices;
  • Global.edges = Array(0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 2, 9, 8, 10, 9, 51, 52, 26, 41, 1, 12, 13, 11, 40, 15, 15, 16, 17, 18, 19, 17, 20, 19, 18, 20, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 16, 28, 29, 14, 23, 29, 27, 30, 30, 31, 30, 32, 9, 32, 29, 33, 4, 29, 5, 34, 34, 35, 36, 37, 87, 103, 41, 38, 38, 39, 44, 43, 42, 14, 14, 44, 19, 46, 24, 45, 78, 82, 45, 47, 38, 47, 50, 36, 31, 48, 36, 48, 49, 0, 11, 10, 1, 52, 26, 31, 83, 87, 20, 21, 6, 53, 29, 34, 84, 89, 23, 35, 55, 56, 57, 58, 58, 59, 59, 60, 60, 61, 61, 62, 63, 57, 64, 63, 65, 64, 106, 107, 81, 96, 56, 67, 12, 11, 68, 66, 95, 70, 70, 71, 72, 73, 74, 72, 75, 74, 73, 75, 76, 77, 77, 78, 78, 79, 79, 80, 80, 81, 81, 82, 82, 83, 71, 83, 84, 69, 78, 84, 82, 85, 85, 86, 85, 87, 64, 87, 84, 88, 59, 84, 60, 89, 89, 90, 91, 92, 32, 48, 96, 93, 93, 94, 99, 98, 97, 69, 69, 99, 74, 101, 79, 100, 23, 27, 100, 102, 93, 102, 105, 91, 86, 103, 91, 103, 104, 55, 66, 65, 56, 107, 81, 86, 28, 32, 75, 76, 61, 108, 78, 90, 108, 109, 20, 75, 45, 100, 37, 92, 0, 55, 1, 56, 67, 66, 7, 111, 62, 112, 7, 17, 62, 72, 113, 114, 115, 114, 116, 117, 118, 119, 120, 76, 21, 120, 39, 94, 86, 31, 166, 54, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 133, 131, 129, 130, 136, 137, 134, 135, 134, 138, 154, 140, 141, 142, 145, 146, 143, 144, 143, 147, 156, 149, 150, 151, 135, 144, 157, 152, 139, 153, 148, 155, 162, 158, 158, 159, 163, 160, 160, 161, 159, 161, 164, 165, 35, 166, 53, 166, 109, 110, 90, 109);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(145, 146), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169),
  • Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(White), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(143, 144), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(170), Global.actualLine));
  • "Glass"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(Gray), Visible To Position Radius and Color);
  • Else If(Array Contains(Array(136, 137), Global.actualLine));
  • "Boost Visual"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.NITROUS_VISUAL,
  • Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • rule("#9 Loadup Nissan GT-R Nismo 2017")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CAR_BODY == 8;
  • }
  • actions
  • {
  • Global.vertices = Array(Vector(0.743, 0.707, 2.501), Vector(0.924, 0.925, 1.923), Vector(-0.743, 0.707, 2.501), Vector(-0.924, 0.925,
  • 1.923), Vector(1.107, 0.194, -1.027), Vector(1.056, 0.194, 1.224), Vector(1.053, 0.303, 2.215), Vector(1.011, 0.205, 2.418),
  • Vector(1.035, 0.166, 2.463), Vector(1.064, 0.149, 2.168), Vector(0.560, 0.172, 2.754), Vector(-0.560, 0.172, 2.754), Vector(
  • 1.029, 0.868, 1.176), Vector(1.087, 0.444, -1.975), Vector(0.995, 0.481, -2.439), Vector(0.580, 0.506, 2.706), Vector(0.495,
  • 0.214, 2.748), Vector(0.707, 1.451, 0.162), Vector(0.313, 1.104, -2.347), Vector(0.867, 1.287, -2.386), Vector(0.867, 1.156,
  • -2.351), Vector(0.867, 1.304, -2.028), Vector(0.313, 1.299, -2.195), Vector(0.312, 1.114, -2.285), Vector(0.420, 0.458,
  • -2.609), Vector(0.629, 0.225, -2.521), Vector(1.027, 0.237, -2.424), Vector(1.085, 0.140, -1.978), Vector(1.030, 0.248, 0.773),
  • Vector(0.905, 1.105, -0.581), Vector(0.978, 0.637, -2.397), Vector(0.605, 1.433, -0.933), Vector(0.965, 0.996, 0.510), Vector(
  • 1.134, 1.167, 0.367), Vector(0.408, 0.506, 2.708), Vector(-1.107, 0.194, -1.027), Vector(-1.056, 0.194, 1.224), Vector(-1.053,
  • 0.303, 2.215), Vector(-1.011, 0.205, 2.418), Vector(-1.035, 0.166, 2.463), Vector(-1.064, 0.149, 2.168), Vector(-0.580, 0.506,
  • 2.706), Vector(-0.893, 1.059, 0.864), Vector(-1.029, 0.868, 1.176), Vector(-1.087, 0.444, -1.975), Vector(-0.995, 0.481,
  • -2.439), Vector(-0.495, 0.214, 2.748), Vector(-0.707, 1.451, 0.162), Vector(-0.313, 1.104, -2.347), Vector(-0.867, 1.287,
  • -2.386), Vector(-0.867, 1.156, -2.351), Vector(-0.867, 1.304, -2.028), Vector(-0.313, 1.287, -2.520), Vector(-0.312, 1.114,
  • -2.285), Vector(-0.420, 0.458, -2.609), Vector(-0.629, 0.225, -2.521), Vector(-1.027, 0.237, -2.424), Vector(-1.085, 0.140,
  • -1.978), Vector(-1.030, 0.248, 0.773), Vector(-0.905, 1.105, -0.581), Vector(-0.971, 0.637, -2.397), Vector(-0.605, 1.433,
  • -0.933), Vector(-0.965, 0.996, 0.510), Vector(-1.134, 1.167, 0.367), Vector(-0.408, 0.506, 2.708), Vector(-0.664, 1.195,
  • -1.758), Vector(-0.313, 1.299, -2.195), Vector(Empty Array, 1.299, -2.195), Vector(0.313, 1.287, -2.520), Vector(0.893, 1.059,
  • 0.864), Vector(0.664, 1.195, -1.758), Vector(0.576, 0.999, -2.446), Vector(0.547, 0.842, -2.513), Vector(0.818, 1.026, -2.339),
  • Vector(0.789, 0.868, -2.407), Vector(-0.576, 0.999, -2.446), Vector(-0.547, 0.842, -2.513), Vector(-0.818, 1.026, -2.339),
  • Vector(-0.789, 0.868, -2.407), Vector(1.107, 0.194, -1.027), Vector(1.056, 0.194, 1.224), Vector(1.074, 0.644, 1.327), Vector(
  • 1.074, 0.834, 1.714), Vector(1.074, 0.644, 2.094), Vector(1.053, 0.303, 2.215), Vector(1.011, 0.205, 2.418), Vector(0.998,
  • 0.504, 2.469), Vector(0.610, 0.466, 2.710), Vector(0.666, 0.247, 2.672), Vector(0.584, 0.584, 2.708), Vector(0.429, 0.722,
  • 2.659), Vector(1, 0.637, 2.448), Vector(1.029, 0.868, 1.176), Vector(0.775, 1.007, 1.691), Vector(0.918, 1.029, -2.280),
  • Vector(1.107, 0.644, -1.104), Vector(1.107, 0.834, -1.475), Vector(1.107, 0.644, -1.912), Vector(1.087, 0.444, -1.975), Vector(
  • 0.995, 0.481, -2.439), Vector(1.033, 0.974, -0.657), Vector(0.998, 1.023, -1.854), Vector(0.620, 1.099, -2.379), Vector(0.707,
  • 1.451, 0.162), Vector(0, 1.099, -2.472), Vector(0.454, 0.959, -2.477), Vector(0.471, 0.756, -2.561), Vector(0.364, 0.547,
  • -2.586), Vector(1.036, 0.241, -0.353), Vector(1.026, 0.886, 0.862), Vector(1.030, 0.248, 0.773), Vector(0.457, 1.091, 1.194),
  • Vector(0.905, 1.105, -0.581), Vector(0.847, 1.055, -2.320), Vector(0.978, 0.637, -2.397), Vector(0.648, 1.514, -0.259), Vector(
  • 0.605, 1.433, -0.933), Vector(1.042, 0.934, 1.702), Vector(0.992, 0.783, 2.205), Vector(-1.107, 0.194, -1.027), Vector(-1.056,
  • 0.194, 1.224), Vector(-1.074, 0.644, 1.327), Vector(-1.074, 0.834, 1.714), Vector(-1.074, 0.644, 2.094), Vector(-1.053, 0.303,
  • 2.215), Vector(-1.011, 0.205, 2.418), Vector(-0.998, 0.504, 2.469), Vector(-0.610, 0.466, 2.710), Vector(-0.666, 0.247, 2.672),
  • Vector(-0.584, 0.584, 2.708), Vector(-0.429, 0.722, 2.659), Vector(-1, 0.637, 2.448), Vector(-0.893, 1.059, 0.864), Vector(
  • -1.029, 0.868, 1.176), Vector(-0.775, 1.007, 1.691), Vector(-0.918, 1.029, -2.280), Vector(-1.107, 0.644, -1.104), Vector(
  • -1.107, 0.834, -1.475), Vector(-1.107, 0.644, -1.912), Vector(-1.087, 0.444, -1.975), Vector(-0.995, 0.481, -2.439), Vector(
  • -1.033, 0.974, -0.657), Vector(-0.998, 1.023, -1.854), Vector(-0.620, 1.099, -2.379), Vector(-0.457, 1.091, 1.194), Vector(
  • -0.707, 1.451, 0.162), Vector(-0.454, 0.959, -2.477), Vector(-0.471, 0.756, -2.561), Vector(-0.364, 0.547, -2.586), Vector(
  • -1.036, 0.241, -0.353), Vector(-1.026, 0.886, 0.862), Vector(-1.030, 0.248, 0.773), Vector(-0.905, 1.105, -0.581), Vector(
  • -0.847, 1.055, -2.320), Vector(-0.971, 0.637, -2.397), Vector(-0.648, 1.514, -0.259), Vector(-0.605, 1.433, -0.933), Vector(
  • -1.042, 0.934, 1.702), Vector(-0.992, 0.783, 2.205), Vector(0.894, 1.060, 0.775), Vector(0.951, 0.789, -2.351), Vector(-0.951,
  • 0.789, -2.351), Vector(-0.664, 1.195, -1.758), Vector(-0.909, 1.050, 0.759), Vector(0.893, 1.059, 0.864), Vector(0.664, 1.195,
  • -1.758));
  • Global.display = Global.vertices;
  • Global.edges = Array(0, 1, 2, 3, 5, 4, 12, 28, 6, 8, 6, 9, 8, 9, 8, 10, 10, 11, 69, 17, 18, 68, 52, 49, 19, 20, 20, 21, 19, 21, 68,
  • 19, 66, 53, 24, 25, 25, 26, 13, 27, 26, 27, 24, 30, 14, 24, 32, 33, 16, 34, 29, 31, 36, 35, 43, 58, 37, 39, 37, 40, 39, 40, 42,
  • 47, 48, 52, 49, 50, 50, 51, 49, 51, 51, 67, 54, 55, 55, 56, 44, 57, 56, 57, 54, 60, 45, 54, 62, 63, 46, 64, 59, 61, 24, 54, 45,
  • 56, 14, 26, 7, 16, 15, 41, 31, 61, 21, 67, 22, 23, 38, 46, 52, 68, 39, 11, 70, 65, 71, 72, 73, 74, 75, 76, 77, 78, 81, 80, 82,
  • 81, 83, 82, 84, 83, 90, 93, 86, 85, 87, 86, 88, 89, 89, 90, 89, 91, 121, 133, 117, 93, 101, 94, 79, 95, 95, 96, 96, 97, 97, 98,
  • 98, 99, 99, 94, 94, 102, 102, 104, 102, 105, 106, 107, 95, 100, 96, 101, 100, 108, 109, 110, 159, 109, 100, 112, 92, 101, 103,
  • 115, 115, 116, 126, 131, 92, 117, 117, 118, 91, 118, 165, 116, 121, 120, 122, 121, 123, 122, 124, 123, 130, 134, 126, 125, 127,
  • 126, 128, 129, 129, 130, 129, 131, 134, 132, 81, 92, 157, 134, 142, 135, 119, 136, 136, 137, 137, 138, 138, 139, 139, 140, 140,
  • 135, 135, 143, 143, 146, 147, 148, 136, 141, 137, 142, 141, 149, 150, 151, 163, 150, 141, 152, 133, 142, 143, 162, 145, 155,
  • 155, 156, 86, 91, 133, 157, 157, 158, 131, 158, 106, 147, 107, 148, 90, 130, 103, 145, 105, 146, 111, 144, 132, 144, 148, 154,
  • 107, 114, 143, 104, 160, 106, 147, 161, 93, 164, 164, 111, 102, 165, 164, 113, 162, 156, 163, 153, 23, 53, 18, 48);
  • For Global Variable(i, 0, Count Of(Global.edges), 2);
  • Global.actualLine = Round To Integer(Global.i / 2, Down);
  • If(Array Contains(Array(58, 59, 60, 61), Global.actualLine));
  • "Rear Lights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.REAR_LIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(0, 1), Global.actualLine));
  • "Headlights"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.HEADLIGHT_COLOR,
  • Visible To Position Radius and Color);
  • Else If(Array Contains(Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
  • 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 154, 155),
  • Global.actualLine));
  • "Carbon"
  • Create Beam Effect(All Players(All Teams), Grapple Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE))
  • + World Vector Of(Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Color(White), Visible To Position Radius and Color);
  • Else;
  • "Car Paint (Default)"
  • Create Beam Effect(All Players(All Teams), Good Beam, Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(
  • Global.vertices[Global.edges[Evaluate Once(Global.i * 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale,
  • Update Every Frame(Position Of(Global.DRIVEABLE_VEHICLE)) + World Vector Of(Global.vertices[Global.edges[Evaluate Once(
  • Global.i * 1 + 1)]], Global.DRIVEABLE_VEHICLE, Rotation) * Global.scale, Global.CAR_BODY_COLOR_ACCENT_PRIMARY,
  • Visible To Position Radius and Color);
  • End;
  • Modify Global Variable(effects, Append To Array, Last Created Entity);
  • Wait(0.016, Ignore Condition);
  • End;
  • }
  • }
  • disabled rule("GAMEMODE SECTION / CHALLENGE - TRAFFIC")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Initial Spawns and Facings for Traffic Maps")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.GAMEMODE == True;
  • }
  • actions
  • {
  • If(Map(Oasis City Center) == Current Map);
  • Global.CHALLENGE_TYPE = Custom String("Traffic");
  • Global.TRAFFIC_MARKER = Vector(7.887, -7.907, 111.883);
  • Global.TRAFFIC_FINISH_POSITION = Vector(7.887, -7.907, 111.883);
  • Global.TRAFFIC_OBJECTIVE = Custom String("Dodge the cars and make it to the tunnel!");
  • Global.RACE_PLAYER_START_POS = Vector(119.497, 3, 223.441);
  • Global.RACE_PLAYER_START_FACE = -135;
  • Global.RACE_TRACK_NAME = Custom String("Highway Run");
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(101.082, 2.260, 216.288), Vector(30.078, -6.990, 146.129), Color(
  • White), Visible To Position and Radius);
  • Create Beam Effect(All Players(All Teams), Good Beam, Vector(112.612, 2.260, 205.335), Vector(43.264, -6.990, 135.171), Color(
  • White), Visible To Position and Radius);
  • End;
  • }
  • }
  • rule("Traffic Run HUD")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Is Game In Progress == True;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Map(Oasis City Center) == Current Map;
  • }
  • actions
  • {
  • Wait(0.500, Ignore Condition);
  • Big Message(Global.PLAYER_RACER, Global.TRAFFIC_OBJECTIVE);
  • Create Effect(All Players(All Teams), Sphere, Color(White), Global.TRAFFIC_MARKER, Global.TRAFFIC_FINISH_RADIUS,
  • Visible To Position and Radius);
  • Create In-World Text(All Players(All Teams), Ability Icon String(Hero(Brigitte), Button(Ultimate)), Global.TRAFFIC_MARKER, 2,
  • Do Not Clip, Visible To Position and String, Color(White), Default Visibility);
  • }
  • }
  • rule("Initial Player Start (Traffic Mode)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Is Game In Progress == True;
  • disabled Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Create HUD Text(All Players(All Teams), String("{0}: {1}", String("{0} {1}", Ability Icon String(Hero(Bastion), Button(
  • Secondary Fire)), Custom String("Wrecks")), Global.CHALLENGE_CRASHES), Null, Null, Left, 4, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("SUCCESSFUL RUNS:"), Left, 5, Color(White), Color(White), Color(
  • White), Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.CHALLENGE_RUN_COUNTER, Global.CHALLENGE_TRAFFIC_MAX_RUNS), Null,
  • Null, Left, 6, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • }
  • }
  • rule("Player and Racer Spawned")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Is Game In Progress == True;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Disable Movement Collision With Environment(Global.DRIVEABLE_VEHICLE, False);
  • Wait(0.250, Ignore Condition);
  • Global.TRAFFIC_CHALLENGE_TRIGGER = 1;
  • Global.RACE_CLOCK_START = 1;
  • }
  • }
  • rule("FINISH POINT REACHED")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Is Alive(Global.DRIVEABLE_VEHICLE) == True;
  • Global.TRAFFIC_CHALLENGE_TRIGGER == 1;
  • Distance Between(Global.DRIVEABLE_VEHICLE, Global.TRAFFIC_FINISH_POSITION) <= Global.TRAFFIC_FINISH_RADIUS;
  • }
  • actions
  • {
  • Global.TRAFFIC_CHALLENGE_TRIGGER = 0;
  • Teleport(Global.PLAYER_RACER, Global.RACE_PLAYER_START_POS);
  • Teleport(Global.DRIVEABLE_VEHICLE, Global.RACE_PLAYER_START_POS);
  • Global.CHALLENGE_RUN_COUNTER += 1;
  • Wait(0.250, Ignore Condition);
  • Set Player Score(Global.DRIVEABLE_VEHICLE, Global.CHALLENGE_RUN_COUNTER);
  • If(Global.CHALLENGE_RUN_COUNTER != Global.CHALLENGE_TRAFFIC_MAX_RUNS);
  • Big Message(All Players(All Teams), String("{0} / {1}", Global.CHALLENGE_RUN_COUNTER, Global.CHALLENGE_TRAFFIC_MAX_RUNS));
  • End;
  • Global.TRAFFIC_CHALLENGE_TRIGGER = 1;
  • }
  • }
  • rule("Traffic Finished")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Global.CHALLENGE_RUN_COUNTER == Global.CHALLENGE_TRAFFIC_MAX_RUNS;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.RACE_CLOCK_START = 0;
  • Set Status(Global.DRIVEABLE_VEHICLE, Null, Rooted, 9999);
  • Big Message(All Players(All Teams), String("{0} / {1}", Global.CHALLENGE_RUN_COUNTER, String("{0} {1}",
  • Global.CHALLENGE_TRAFFIC_MAX_RUNS, Custom String("attempts completed!"))));
  • Wait(3, Ignore Condition);
  • If(Global.CHALLENGE_CRASHES != 0);
  • Big Message(All Players(All Teams), String("{0} {1} {2}", Ability Icon String(Hero(Bastion), Button(Secondary Fire)),
  • Custom String("You crashed:"), String("{0} {1}", Global.CHALLENGE_CRASHES, Custom String("times!"))));
  • Play Effect(All Players(All Teams), Debuff Impact Sound, Color(White), All Players(All Teams), 100);
  • End;
  • If(Global.CHALLENGE_CRASHES == 0);
  • Big Message(Global.PLAYER_RACER, String("{0} {1}", Ability Icon String(Hero(Brigitte), Button(Ultimate)), Custom String(
  • "Flawless!")));
  • Play Effect(All Players(All Teams), Buff Impact Sound, Color(White), All Players(All Teams), 100);
  • End;
  • Wait(3, Ignore Condition);
  • Declare Player Victory(Global.PLAYER_RACER);
  • Declare Team Victory(Team Of(Global.PLAYER_RACER));
  • }
  • }
  • rule("Player as car wrecked during the Traffic Run")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Global.CHALLENGE_TYPE == Custom String("Traffic");
  • Global.CHALLENGE_RUN_COUNTER != Global.CHALLENGE_TRAFFIC_MAX_RUNS;
  • Is Dead(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Global.CHALLENGE_CRASHES += 1;
  • }
  • }
  • disabled rule("CHECKPOINT MODE")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Initial Spawns (Free Drive)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE != Custom String("Race");
  • Global.CHALLENGE_TYPE != Custom String("Traffic");
  • Has Spawned(Global.PLAYER_RACER) == True;
  • }
  • actions
  • {
  • Global.RACE_PLAYER_START_POS = Spawn Points(Team Of(Global.PLAYER_RACER));
  • }
  • }
  • rule("Initial Player Start (Checkpoint Mode)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Create Icon(All Players(All Teams), Global.CHECKPOINT_CURRENT_POS, Flag, Visible To Position and Color,
  • Global.CHECKPOINT_FLAG_COLOR, True);
  • Create Effect(All Players(All Teams), Sphere, Global.CHECKPOINT_FLAG_COLOR, Global.CHECKPOINT_CURRENT_POS, Global.CHECKPOINT_SIZE,
  • Visible To Position Radius and Color);
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("Laps:"), Left, 3, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Create HUD Text(All Players(All Teams), String("{0} / {1}", Global.CHALLENGE_RACE_LAP_COUNTER, Global.CHALLENGE_RACE_MAX_LAPS),
  • Null, Null, Left, 4, Color(White), Color(White), Color(White), Visible To and String, Default Visibility);
  • Global.CHECKPOINT_TYPE_ACTIVE = 2;
  • Global.CHECKPOINT_CURRENT = 0;
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(White);
  • }
  • }
  • rule("Initial Spawns and Facings for Checkpoint Maps (Regular Variant)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHECKPOINT_REVERSE_VARIANT == False;
  • }
  • actions
  • {
  • If(Array Contains(Array(Map(King's Row), Map(King's Row Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-27.368, 1.188, 16.012);
  • Global.RACE_PLAYER_START_FACE = 100;
  • Else If(Array Contains(Array(Map(Blizzard World), Map(Blizzard World Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-7.070, 3.137, 68.367);
  • Global.RACE_PLAYER_START_FACE = 0;
  • Else If(Array Contains(Array(Map(Hanamura), Map(Hanamura Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(63.530, -0.741, 21.435);
  • Global.RACE_PLAYER_START_FACE = -178;
  • Else If(Map(Rialto) == Current Map);
  • Global.RACE_PLAYER_START_POS = Vector(69.606, 0.050, -17.041);
  • Global.RACE_PLAYER_START_FACE = -175;
  • Else If(Array Contains(Array(Map(Paris)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(15.301, 11.224, -54.366);
  • Global.RACE_PLAYER_START_FACE = -52.500;
  • Else If(Map(Malevento) == Current Map);
  • Global.RACE_PLAYER_START_POS = Vector(30.739, 6.663, 2.345);
  • Global.RACE_PLAYER_START_FACE = -165;
  • Else If(Array Contains(Array(Map(Black Forest), Map(Black Forest Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-23.335, 13.388, 9.170);
  • Global.RACE_PLAYER_START_FACE = 179;
  • Else If(Array Contains(Array(Map(Busan), Map(Busan Downtown Lunar New Year)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(108.191, 17.185, -111.474);
  • Global.RACE_PLAYER_START_FACE = -179;
  • End;
  • }
  • }
  • rule("Initial Spawns and Facings for Checkpoint Maps (Reverse Variant)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHECKPOINT_REVERSE_VARIANT == True;
  • }
  • actions
  • {
  • If(Array Contains(Array(Map(King's Row), Map(King's Row Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-5.774, 1.142, 12.572);
  • Global.RACE_PLAYER_START_FACE = -80;
  • Else If(Array Contains(Array(Map(Blizzard World), Map(Blizzard World Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-6.032, 3.151, 84.162);
  • Global.RACE_PLAYER_START_FACE = 179;
  • Else If(Array Contains(Array(Map(Hanamura), Map(Hanamura Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(68.498, -0.558, -5.344);
  • Global.RACE_PLAYER_START_FACE = 2;
  • Else If(Map(Rialto) == Current Map);
  • Global.RACE_PLAYER_START_POS = Vector(68.019, 0.850, -47.592);
  • Global.RACE_PLAYER_START_FACE = 5;
  • Else If(Array Contains(Array(Map(Paris)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(0.928, 12.645, -30.537);
  • Global.RACE_PLAYER_START_FACE = 160;
  • Else If(Map(Malevento) == Current Map);
  • Global.RACE_PLAYER_START_POS = Vector(25.504, 4.250, -15.591);
  • Global.RACE_PLAYER_START_FACE = 15;
  • Else If(Array Contains(Array(Map(Black Forest), Map(Black Forest Winter)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(-23.192, 14.047, -8.080);
  • Global.RACE_PLAYER_START_FACE = 1;
  • Else If(Array Contains(Array(Map(Busan), Map(Busan Downtown Lunar New Year)), Current Map) == True);
  • Global.RACE_PLAYER_START_POS = Vector(108.198, 17.187, -132.698);
  • Global.RACE_PLAYER_START_FACE = -1;
  • End;
  • }
  • }
  • rule("Checkpoint Arrays for Checkpoint Mode")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.GAMEMODE == True;
  • }
  • actions
  • {
  • If(Array Contains(Array(Map(King's Row), Map(King's Row Winter)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Daimon's Run");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(-15.788, 1.184, 14.145), Vector(3.356, 1.105, -24.036), Vector(-36.722, 1.159,
  • -25.112), Vector(-80.050, 1.525, -22.910), Vector(-90.422, 2.191, -0.662), Vector(-72.238, 1.109, -14.149), Vector(-36.722,
  • 1.159, -25.112), Vector(3.356, 1.105, -24.036), Vector(-26.864, 1.170, -2.941));
  • Global.MAX_CHECKPOINTS = 9;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Array Contains(Array(Map(Blizzard World), Map(Blizzard World Winter)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Amusement Scramble");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(-6.155, 3.150, 75.973), Vector(-38.994, 1.045, 106.565), Vector(-63.786, 1.997,
  • 140.230), Vector(-57.862, 0.841, 104.702), Vector(-45.686, 0.855, 78.698), Vector(-21.576, 1.538, 112.452), Vector(14.506,
  • 0.278, 89.677), Vector(3.063, 1.155, 28.007), Vector(2.941, -2.852, -12.959), Vector(-2.503, 2.243, 60.248));
  • Global.MAX_CHECKPOINTS = 10;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Array Contains(Array(Map(Hanamura), Map(Hanamura Winter)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Wind Trial");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(68.218, -0.593, 4.115), Vector(28.435, 1.300, -3.868), Vector(30.973, 3.635, -38.261),
  • Vector(31.501, 4.300, -82.063), Vector(13.534, 1.300, -24.316), Vector(47.334, 0.600, 12.572));
  • Global.MAX_CHECKPOINTS = 6;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Map(Rialto) == Current Map);
  • Global.RACE_TRACK_NAME = Custom String("River Tour");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(68.638, 0.552, -37.282), Vector(37.652, 1.060, -68.277), Vector(-3.357, 0.546,
  • -42.861), Vector(-29.068, 0.114, -66.934), Vector(-51.441, 0.050, -67.023), Vector(-13.695, -0.100, -42.822), Vector(31.338,
  • 1.050, -58.485), Vector(52.609, 0.050, -10.626));
  • Global.MAX_CHECKPOINTS = 8;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Array Contains(Array(Map(Paris)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Paris Circuit");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(7.263, 11.224, -46.137), Vector(-30.455, 11.224, -1.553), Vector(-78.452, 11.155,
  • -48.236), Vector(-25.776, 11.224, -26.337), Vector(8.749, 11.226, -64.304));
  • Global.MAX_CHECKPOINTS = 5;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Map(Malevento) == Current Map);
  • Global.RACE_TRACK_NAME = Custom String("Narrowing Through");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(28.669, 6.665, -5.068), Vector(6.866, 0.300, -27.548), Vector(-15.955, -1.700,
  • -21.568), Vector(3.026, 0.300, -6.652), Vector(-24.100, -1.700, -18.319), Vector(-16.761, 1.292, 0.751), Vector(-30.386, 0.248,
  • 27.767), Vector(-12.443, 2.301, 22.085), Vector(24.745, 4.300, 26.976));
  • Global.MAX_CHECKPOINTS = 9;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Array Contains(Array(Map(Black Forest), Map(Black Forest Winter)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Small Forest Circuit");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(-23.268, 13.391, 2.721), Vector(-7.010, 14.241, -8.547), Vector(14.209, 12.384,
  • -16.384), Vector(21.330, 10.300, 5.318), Vector(-1.396, 14.002, 21.411), Vector(-23.402, 13.857, 15.171));
  • Global.MAX_CHECKPOINTS = 6;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • Else If(Array Contains(Array(Map(Busan), Map(Busan Downtown Lunar New Year)), Current Map) == True);
  • Global.RACE_TRACK_NAME = Custom String("Downtown Loops");
  • Global.CHECKPOINT_ARRAYS_POS = Array(Vector(108.138, 17.185, -120.972), Vector(77.509, 9.250, -81.430), Vector(44.785, 6.122,
  • -82.390), Vector(36.056, 11.185, -117.052), Vector(-2.879, 17.185, -114.738), Vector(26.700, 9.250, -81.064), Vector(58.603,
  • 6.219, -82.813), Vector(78.214, 14.185, -117.019));
  • Global.MAX_CHECKPOINTS = 8;
  • Global.CHALLENGE_TYPE = Custom String("Race");
  • End;
  • }
  • }
  • rule("Place Start/Finish Checkpoint")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHECKPOINT_TYPE_ACTIVE == 2;
  • }
  • actions
  • {
  • Global.CHECKPOINT_CURRENT = 0;
  • Wait(0.016, Ignore Condition);
  • Global.CHECKPOINT_FLAG_COLOR = Color(Green);
  • Global.CHECKPOINT_CURRENT_POS = Global.CHECKPOINT_ARRAYS_POS[Global.CHECKPOINT_CURRENT];
  • }
  • }
  • rule("Start/Finish Checkpoint Reached")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Distance Between(Global.DRIVEABLE_VEHICLE, Global.CHECKPOINT_CURRENT_POS) <= Global.CHECKPOINT_SIZE;
  • Global.CHECKPOINT_TYPE_ACTIVE == 2;
  • Global.RACE_TRACK_READY == 1;
  • }
  • actions
  • {
  • Play Effect(All Players(All Teams), Brigitte Repair Pack Armor Sound, Color(White), Eye Position(Global.PLAYER_RACER), 200);
  • If(Global.CHALLENGE_RACE_LAP_COUNTER > 0);
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES = Global.PLAYER_RACER.RACER_CURRENT_LAP_MINUTES;
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS = Global.PLAYER_RACER.RACER_CURRENT_LAP_SECONDS;
  • Global.RACE_CLOCK_TRIGGER = 1;
  • End;
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_MINUTES = 0;
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_SECONDS = 0;
  • Global.CHALLENGE_RACE_LAP_COUNTER += 1;
  • If(Global.CHECKPOINT_REVERSE_VARIANT == False);
  • Global.CHECKPOINT_CURRENT += 1;
  • Global.CHECKPOINT_CURRENT_POS = Global.CHECKPOINT_ARRAYS_POS[Global.CHECKPOINT_CURRENT];
  • Else If(Global.CHECKPOINT_REVERSE_VARIANT == True);
  • Global.CHECKPOINT_CURRENT = Global.MAX_CHECKPOINTS + -1;
  • Global.CHECKPOINT_CURRENT_POS = Last Of(Global.CHECKPOINT_ARRAYS_POS);
  • End;
  • "Respawn Point when wrecked (Start/Finish Line)"
  • Global.CHECKPOINT_WRECK_RESPAWN_POS = Global.CHECKPOINT_ARRAYS_POS[0];
  • Global.CHECKPOINT_WRECK_RESPAWN_FACING = Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE;
  • Wait(0.016, Ignore Condition);
  • Global.CHECKPOINT_FLAG_COLOR = Color(Orange);
  • Global.CHECKPOINT_TYPE_ACTIVE = 1;
  • }
  • }
  • rule("Regular Checkpoint Reached")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • All;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Distance Between(Global.DRIVEABLE_VEHICLE, Global.CHECKPOINT_CURRENT_POS) <= Global.CHECKPOINT_SIZE;
  • Global.CHECKPOINT_TYPE_ACTIVE == 1;
  • Global.RACE_TRACK_READY == 1;
  • }
  • actions
  • {
  • Play Effect(All Players(All Teams), Brigitte Repair Pack Armor Sound, Color(White), Eye Position(Global.PLAYER_RACER), 200);
  • If(Global.CHECKPOINT_REVERSE_VARIANT == False);
  • Global.CHECKPOINT_CURRENT += 1;
  • Wait(0.016, Ignore Condition);
  • "Respawn Point when wrecked (Checkpoint)"
  • Global.CHECKPOINT_WRECK_RESPAWN_POS = Global.CHECKPOINT_ARRAYS_POS[Global.CHECKPOINT_CURRENT + -1];
  • Else If(Global.CHECKPOINT_REVERSE_VARIANT == True);
  • Global.CHECKPOINT_CURRENT -= 1;
  • Wait(0.016, Ignore Condition);
  • "Respawn Point when wrecked (Checkpoint)"
  • Global.CHECKPOINT_WRECK_RESPAWN_POS = Global.CHECKPOINT_ARRAYS_POS[Global.CHECKPOINT_CURRENT + 1];
  • End;
  • Global.CHECKPOINT_CURRENT_POS = Global.CHECKPOINT_ARRAYS_POS[Global.CHECKPOINT_CURRENT];
  • Global.CHECKPOINT_WRECK_RESPAWN_FACING = Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE;
  • }
  • }
  • rule("Activate Start/Finish Checkpoint (Regular Variant)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHECKPOINT_REVERSE_VARIANT == False;
  • Global.CHECKPOINT_CURRENT == Global.MAX_CHECKPOINTS;
  • Global.CHECKPOINT_TYPE_ACTIVE == 1;
  • }
  • actions
  • {
  • Global.CHECKPOINT_FLAG_COLOR = Color(Green);
  • Global.CHECKPOINT_CURRENT = 0;
  • Wait(0.016, Ignore Condition);
  • Global.CHECKPOINT_TYPE_ACTIVE = 2;
  • }
  • }
  • rule("Activate Start/Finish Checkpoint (Reverse Variant)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHECKPOINT_REVERSE_VARIANT == True;
  • Global.CHECKPOINT_CURRENT == 0;
  • Global.CHECKPOINT_TYPE_ACTIVE == 1;
  • }
  • actions
  • {
  • Global.CHECKPOINT_FLAG_COLOR = Color(Green);
  • Wait(0.016, Ignore Condition);
  • Global.CHECKPOINT_TYPE_ACTIVE = 2;
  • }
  • }
  • rule("Notify about Final Lap")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHALLENGE_RACE_LAP_COUNTER == Global.CHALLENGE_RACE_MAX_LAPS;
  • Global.GAMEMODE == True;
  • }
  • actions
  • {
  • Big Message(All Players(All Teams), Custom String("FINAL LAP!"));
  • Play Effect(All Players(All Teams), Brigitte Whip Shot Heal Area Sound, Color(White), Eye Position(Global.DRIVEABLE_VEHICLE), 500);
  • }
  • }
  • rule("Race Finished")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CHALLENGE_TYPE == Custom String("Race");
  • Global.CHALLENGE_RACE_LAP_COUNTER > Global.CHALLENGE_RACE_MAX_LAPS;
  • }
  • actions
  • {
  • Global.RACE_CLOCK_START = 0;
  • Play Effect(All Players(All Teams), Brigitte Whip Shot Heal Area Sound, Color(White), Eye Position(Global.DRIVEABLE_VEHICLE), 500);
  • Global.SKILLS_READY = 0;
  • Set Status(Global.DRIVEABLE_VEHICLE, Null, Rooted, 9999);
  • Big Message(All Players(All Teams), Custom String("FINISH!"));
  • If(Global.SCORE_REQ_MODE == True);
  • Small Message(All Players(All Teams), String("{0} {1}", Custom String("Score reached:"), Global.SKILLS_SCORE));
  • Small Message(All Players(All Teams), String("{0} {1}", Custom String("Required:"), Global.SCORE_REQ_SET));
  • If(Global.SKILLS_SCORE >= Global.SCORE_REQ_SET);
  • Small Message(All Players(All Teams), String("{0} {1}", Icon String(Checkmark), Custom String("Complete!")));
  • Else If(Global.SKILLS_SCORE <= Global.SCORE_REQ_SET);
  • Small Message(All Players(All Teams), String("{0} {1}", Icon String(X), Custom String("Failed!")));
  • End;
  • End;
  • Wait(6, Ignore Condition);
  • Declare Player Victory(Global.PLAYER_RACER);
  • Declare Team Victory(Team Of(Global.PLAYER_RACER));
  • }
  • }
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Show Controls if Player communicates with: Need Help")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Communicating(Global.PLAYER_RACER, Need Healing) == True;
  • }
  • actions
  • {
  • Small Message(Global.PLAYER_RACER, Custom String("Hold {0} - Use Nitrous", Input Binding String(Button(Ability 1))));
  • Wait(0.350, Ignore Condition);
  • Small Message(Global.PLAYER_RACER, Custom String("Hold/Tap {0} - Use Handbrake", Input Binding String(Button(Jump))));
  • Wait(0.350, Ignore Condition);
  • Small Message(Global.PLAYER_RACER, Custom String("Hold {0} + Tap {1} / {2} - Switch Radiostations", Input Binding String(Button(
  • Melee)), Input Binding String(Button(Secondary Fire)), Input Binding String(Button(Primary Fire))));
  • Wait(0.350, Ignore Condition);
  • Small Message(Global.PLAYER_RACER, Custom String("Hold {0} + Tap {1} - Toggle Car Lights ON/OFF", Input Binding String(Button(
  • Melee)), Input Binding String(Button(Jump))));
  • Wait(0.350, Ignore Condition);
  • Small Message(Global.PLAYER_RACER, Custom String("Tap {0} - Enter/Exit the Vehicle", Input Binding String(Button(Interact))));
  • Wait(0.350, Ignore Condition);
  • Small Message(Global.PLAYER_RACER, Custom String("Tap {0} - Toggle Free Camera", Input Binding String(Button(Ultimate))));
  • }
  • }
  • rule("Vehicle - Repaired")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Health(Global.DRIVEABLE_VEHICLE) >= 25;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Global.VEHICLE_STATUS_ICON = Ability Icon String(Hero(Bastion), Button(Secondary Fire));
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • Global.VEHICLE_STATUS_LINES = Custom String(" ");
  • }
  • }
  • rule("Vehicle - Damage Warning Message")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Health(Global.DRIVEABLE_VEHICLE) <= 25;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Big Message(Global.DRIVEABLE_VEHICLE, Custom String("Vehicle damage critical!"));
  • }
  • }
  • rule("Vehicle - Damage Warning")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Health(Global.DRIVEABLE_VEHICLE) <= 25;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Global.VEHICLE_STATUS_LINES = Custom String("CRITICAL DAMAGE");
  • Wait(1, Abort When False);
  • Global.VEHICLE_STATUS_LINES = Custom String("DAMAGE CRITICAL");
  • Wait(1, Abort When False);
  • Global.VEHICLE_STATUS_LINES = Custom String("VEHICLE DAMAGE");
  • Wait(1, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Vehicle - Critical Damage Indicator")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Health(Global.DRIVEABLE_VEHICLE) <= 25;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Global.VEHICLE_STATUS_ICON = Icon String(Warning);
  • Global.VEHICLE_STATUS_COLOR = Color(Red);
  • Wait(0.500, Abort When False);
  • Global.VEHICLE_STATUS_ICON = Custom String(" ");
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Vehicle - Wrecked")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Is Dead(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.AIR_SKILLS = 0;
  • Global.SKILLS_READY = 0;
  • Global.VEHICLE_STATUS_ICON = Custom String(" ");
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • Big Message(Global.PLAYER_RACER, Custom String("TOTALLED!"));
  • Wait(0.050, Ignore Condition);
  • }
  • }
  • disabled rule("Radiostations")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Radiostation Next")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Button Held(Global.PLAYER_RACER, Button(Secondary Fire)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == True;
  • Global.RADIOSTATION_TRIGGER_COOL == 0;
  • Global.RADIOSTATION_TYPE != 10;
  • }
  • actions
  • {
  • Global.RADIOSTATION_TRIGGER_COOL = 1;
  • Global.RADIOSTATION_TYPE += 1;
  • Wait(0.100, Ignore Condition);
  • Global.RADIOSTATION_TRIGGER_COOL = 0;
  • }
  • }
  • rule("Radiostation Previous")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Button Held(Global.PLAYER_RACER, Button(Primary Fire)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == True;
  • Global.RADIOSTATION_TRIGGER_COOL == 0;
  • Global.RADIOSTATION_TYPE != 0;
  • }
  • actions
  • {
  • Global.RADIOSTATION_TRIGGER_COOL = 1;
  • Global.RADIOSTATION_TYPE -= 1;
  • Wait(0.100, Ignore Condition);
  • Global.RADIOSTATION_TRIGGER_COOL = 0;
  • }
  • }
  • rule("Radiostation - Radio Off")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 0;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radio Off");
  • Global.RADIOSTATION_COLOR = Color(Gray);
  • }
  • }
  • rule("Radiostation - Pulse Radio")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 1;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Pulse Radio");
  • Global.RADIOSTATION_COLOR = Color(Yellow);
  • }
  • }
  • rule("Radiostation - Light Party")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 2;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Light Party");
  • Global.RADIOSTATION_COLOR = Color(Rose);
  • }
  • }
  • rule("Radiostation - Block House")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 3;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Block House");
  • Global.RADIOSTATION_COLOR = Color(Lime Green);
  • }
  • }
  • rule("Radiostation - Rock/Rush")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 4;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Rock/Rush");
  • Global.RADIOSTATION_COLOR = Color(Red);
  • }
  • }
  • rule("Radiostation - Forza Horizon Hospital")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 5;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Monstercat Instinct");
  • Global.RADIOSTATION_COLOR = Custom Color(70, 200, 113, 255);
  • }
  • }
  • rule("Radiostation - Destruction AllStars Hospital")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 6;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Destruction AllStars Hospital Radio");
  • Global.RADIOSTATION_COLOR = Color(Blue);
  • }
  • }
  • rule("Radiostation - DistroKid Radio")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 7;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: DistroKid");
  • Global.RADIOSTATION_COLOR = Color(Green);
  • }
  • }
  • rule("Radiostation - Driftance Radio")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 8;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Driftance");
  • Global.RADIOSTATION_COLOR = Color(White);
  • }
  • }
  • rule("Radiostation - Asphalt")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 9;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Asphalt Radio");
  • Global.RADIOSTATION_COLOR = Custom Color(235, 24, 81, 255);
  • }
  • }
  • rule("Radiostation - Timeout Radio")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RADIOSTATION_TYPE == 10;
  • }
  • actions
  • {
  • Global.RADIOSTATION_NAME = Custom String("Radiostation: Timeout Radio");
  • Global.RADIOSTATION_COLOR = Color(Orange);
  • }
  • }
  • disabled rule("Camera")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Third Person Cam View - Dynamic Standing")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) < 1;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) > 0;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • Global.REVERSE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 15);
  • Wait(0.350, Abort When False);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 25);
  • }
  • }
  • rule("Third Person Cam View - Dynamic Accelerated")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) > 2;
  • (Is Button Held(Global.PLAYER_RACER, Button(Ability 1)) == False || Global.NITROUS_TICK == 0) == True;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • Global.REVERSE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -5 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 15);
  • Wait(0.350, Abort When False);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -5 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 25);
  • }
  • }
  • rule("Third Person Cam View - Dynamic Nitrous in Use")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) >= 11;
  • Is Button Held(Global.PLAYER_RACER, Button(Ability 1)) == True;
  • Global.NITROUS_TICK != 0;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • Global.REVERSE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 15);
  • Wait(0.350, Abort When False);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 25);
  • }
  • }
  • rule("Third Person Cam View - Dynamic Reverse")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) <= -4;
  • Global.REVERSE_CAMERA_TRIGGER == 0;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + 6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 15);
  • Wait(0.350, Abort When False);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + 6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 25);
  • }
  • }
  • rule("Third Person Manual Reverse Camera View - Triggered ON")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Crouch)) == True;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Global.REVERSE_CAMERA_TRIGGER = 1;
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + 6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 0);
  • Wait(0.100, Abort When False);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + 6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 25);
  • }
  • }
  • rule("Third Person Manual Reverse Camera View - Triggered OFF")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Crouch)) == False;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • }
  • actions
  • {
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.CAMERA_LOCK), Eye Position(
  • Global.CAMERA_LOCK) + -6 * Facing Direction Of(Global.CAMERA_LOCK), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.CAMERA_LOCK)), 0);
  • Wait(0.016, Ignore Condition);
  • Global.REVERSE_CAMERA_TRIGGER = 0;
  • }
  • }
  • rule("Free View Camera Trigger ON")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Ultimate)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == False;
  • Global.VEHICLE_CAMERA_TRIGGER == 0;
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK == 0;
  • }
  • actions
  • {
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK = 1;
  • Global.VEHICLE_CAMERA_TRIGGER = 1;
  • Global.CAMERA_LOCK = Global.PLAYER_RACER;
  • Small Message(Global.PLAYER_RACER, Custom String("Free Camera"));
  • Stop Facing(Global.PLAYER_RACER);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.PLAYER_RACER), Eye Position(
  • Global.PLAYER_RACER) + -5 * Facing Direction Of(Global.PLAYER_RACER), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.PLAYER_RACER)), Global.FREE_VIEW_CAMERA_BLEND);
  • Wait(0.250, Ignore Condition);
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK = 0;
  • }
  • }
  • rule("Free View Camera Trigger OFF")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Ultimate)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == False;
  • Global.VEHICLE_CAMERA_TRIGGER == 1;
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK == 0;
  • }
  • actions
  • {
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK = 1;
  • Start Facing(Global.PLAYER_RACER, Facing Direction Of(Global.DRIVEABLE_VEHICLE), 500, To World, Direction and Turn Rate);
  • Global.VEHICLE_CAMERA_TRIGGER = 0;
  • Global.CAMERA_LOCK = Global.DRIVEABLE_VEHICLE;
  • Small Message(Global.PLAYER_RACER, Custom String("Default Camera"));
  • Wait(0.250, Ignore Condition);
  • Global.VEHICLE_CAMERA_TRIGGER_LOCK = 0;
  • }
  • }
  • disabled rule("VISUALS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Turn On Car Lights")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of(Global.DRIVEABLE_VEHICLE) <= 2;
  • Global.LIGHTS_TRIGGER_COOLDOWN == 0;
  • Global.LIGHTS_TRIGGER == False;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == True;
  • }
  • actions
  • {
  • Global.LIGHTS_TRIGGER = True;
  • Global.HEADLIGHT_COLOR = Color(White);
  • Global.REAR_LIGHT_COLOR = Color(Red);
  • Global.LIGHTS_TRIGGER_COOLDOWN = 1;
  • Wait(0.250, Ignore Condition);
  • Global.LIGHTS_TRIGGER_COOLDOWN = 0;
  • }
  • }
  • rule("Turn Off Car Lights")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Speed Of(Global.DRIVEABLE_VEHICLE) <= 2;
  • Global.LIGHTS_TRIGGER_COOLDOWN == 0;
  • Global.LIGHTS_TRIGGER == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == True;
  • }
  • actions
  • {
  • Global.LIGHTS_TRIGGER = False;
  • Global.HEADLIGHT_COLOR = Color(Black);
  • Global.REAR_LIGHT_COLOR = Color(Black);
  • Global.LIGHTS_TRIGGER_COOLDOWN = 1;
  • Wait(0.250, Ignore Condition);
  • Global.LIGHTS_TRIGGER_COOLDOWN = 0;
  • }
  • }
  • rule("Rear Lights Visual Acceleration")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Global.LIGHTS_TRIGGER == True;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == False;
  • }
  • actions
  • {
  • Global.REAR_LIGHT_COLOR = Color(Black);
  • }
  • }
  • rule("Rear Lights Visual Deceleration/Reverse")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Global.LIGHTS_TRIGGER == True;
  • Array Contains(Array(Is Button Held(Global.PLAYER_RACER, Button(Jump)) == True, Z Component Of(Throttle Of(Global.PLAYER_RACER))
  • < 0), True) == True;
  • }
  • actions
  • {
  • Global.REAR_LIGHT_COLOR = Color(Red);
  • }
  • }
  • disabled rule("NITROUS MECHANIC")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Nitrous Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Button Held(Global.PLAYER_RACER, Button(Ability 1)) == True;
  • Global.NITROUS_TICK != 0;
  • Is Moving(Global.DRIVEABLE_VEHICLE) == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) >= 4;
  • }
  • actions
  • {
  • Global.PLAYER_USES_NITROUS = 1;
  • Global.NITROUS_REPLENISH_SIGNAL = 0;
  • Global.NITROUS_VISUAL = Color(Orange);
  • Stop Chasing Global Variable(NITROUS_REPLENISH);
  • Stop Chasing Global Variable(NITROUS_POWER);
  • "Cancel Drift"
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 5, Destination and Rate);
  • Play Effect(All Players(All Teams), Winston Jump Pack Landing Sound, Color(White), Global.DRIVEABLE_VEHICLE, 200);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_NITROUS_SOUND = 200;
  • }
  • }
  • rule("Nitrous In Use (Regular)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_USES_NITROUS == 1;
  • Global.NITROUS_TICK != 0;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)) >= 5;
  • Global.DRIFT_AWARD_TRIGGER == 0;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == False;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Chase Global Variable At Rate(NITROUS_TICK, 0, 25, Destination and Rate);
  • Call Subroutine(Nitrous_Sub);
  • }
  • }
  • rule("Nitrous In Use (Air)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_USES_NITROUS == 1;
  • Global.NITROUS_TICK != 0;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Chase Global Variable At Rate(NITROUS_TICK, 0, 20, Destination and Rate);
  • Call Subroutine(Nitrous_Sub);
  • }
  • }
  • rule("Nitrous In Use (Drift)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_USES_NITROUS == 1;
  • Global.NITROUS_TICK != 0;
  • Global.DRIFT_AWARD_TRIGGER == 1;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Chase Global Variable At Rate(NITROUS_TICK, 0, 25, Destination and Rate);
  • Call Subroutine(Nitrous_Sub);
  • Wait(0.500, Abort When False);
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Chase Global Variable At Rate(NITROUS_TICK, 0, 15, Destination and Rate);
  • }
  • }
  • rule("Nitrous Subroutine")
  • {
  • event
  • {
  • Subroutine;
  • Nitrous_Sub;
  • }
  • actions
  • {
  • Set Move Speed(Global.DRIVEABLE_VEHICLE, Global.CAR_SPEED * Global.NITROUS_POWER_SET);
  • }
  • }
  • rule("Nitrous Depleted")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.NITROUS_TICK == 0;
  • }
  • actions
  • {
  • disabled Stop Accelerating(Global.DRIVEABLE_VEHICLE);
  • Set Move Speed(Global.DRIVEABLE_VEHICLE, Global.CAR_SPEED);
  • Play Effect(All Players(All Teams), Symmetra Teleporter Reappear Sound, Color(White), Global.DRIVEABLE_VEHICLE, 200);
  • Global.NITROUS_STATUS = Color(Red);
  • Wait(0.016, Ignore Condition);
  • Stop Chasing Global Variable(NITROUS_POWER);
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_NITROUS_SOUND = 0;
  • Chase Global Variable At Rate(NITROUS_POWER, 0, 50, Destination and Rate);
  • }
  • }
  • rule("Nitrous Released - Wait for Replenishing Signal")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Button Held(Global.PLAYER_RACER, Button(Ability 1)) == False;
  • Global.NITROUS_REPLENISH_SIGNAL == 0;
  • }
  • actions
  • {
  • Global.PLAYER_USES_NITROUS = 0;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_NITROUS_SOUND = 0;
  • If(Global.NITROUS_TICK != 0);
  • disabled Call Subroutine(ENGINE_ON);
  • disabled Stop Accelerating(Global.DRIVEABLE_VEHICLE);
  • Set Move Speed(Global.DRIVEABLE_VEHICLE, Global.CAR_SPEED);
  • Play Effect(All Players(All Teams), Symmetra Teleporter Reappear Sound, Color(White), Global.DRIVEABLE_VEHICLE, 200);
  • End;
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Stop Chasing Global Variable(NITROUS_POWER);
  • Chase Global Variable At Rate(NITROUS_POWER, 0, 50, Destination and Rate);
  • Global.NITROUS_VISUAL = Color(Black);
  • Wait(1, Abort When False);
  • Global.NITROUS_STATUS = Color(Orange);
  • Global.NITROUS_REPLENISH_SIGNAL = 1;
  • Global.PLAYER_USES_NITROUS = 0;
  • }
  • }
  • rule("Nitrous is replenishing")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.NITROUS_REPLENISH_SIGNAL == 1;
  • Global.NITROUS_REPLENISH == True;
  • Global.NITROUS_TICK != Global.NITROUS_MAX_TANK;
  • }
  • actions
  • {
  • Chase Global Variable At Rate(NITROUS_TICK, Global.NITROUS_MAX_TANK, 5, Destination and Rate);
  • }
  • }
  • rule("Nitrous Tank is full")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.NITROUS_TICK == Global.NITROUS_MAX_TANK;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • }
  • }
  • disabled rule("SKILL AWARDING")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Air Award (Nitrous)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == True;
  • Global.NITROUS_TICK != Global.NITROUS_MAX_TANK;
  • Global.PLAYER_USES_NITROUS == 0;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • Chase Global Variable At Rate(NITROUS_TICK, Global.NITROUS_MAX_TANK, Global.NITROUS_AIR_AWARD_RATE, Destination and Rate);
  • }
  • }
  • rule("Drift Award (Nitrous)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is On Ground(Global.DRIVEABLE_VEHICLE) == True;
  • Global.DRIFT_AWARD_TRIGGER == 1;
  • Global.NITROUS_TICK != Global.NITROUS_MAX_TANK;
  • Global.PLAYER_USES_NITROUS == 0;
  • }
  • actions
  • {
  • Stop Chasing Global Variable(NITROUS_TICK);
  • disabled Wait(0.500, Abort When False);
  • Chase Global Variable At Rate(NITROUS_TICK, Global.NITROUS_MAX_TANK, Global.NITROUS_DRIFT_AWARD_RATE, Destination and Rate);
  • }
  • }
  • rule("Is in Air Award Air Trigger and Tick")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.AIR_SKILLS += 1;
  • Wait(0.250, Abort When False);
  • Loop If Condition Is True;
  • }
  • }
  • rule("Is in Air Award Ground Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is On Ground(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • If(Global.PLAYER_USES_NITROUS == 0);
  • Stop Chasing Global Variable(NITROUS_TICK);
  • End;
  • If(Global.DRIVEABLE_VEHICLE.AIR_SKILLS == 1);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • Small Message(All Players(All Teams), Custom String("Air +50"));
  • Global.SKILLS_SCORE += 50;
  • Else If(Global.DRIVEABLE_VEHICLE.AIR_SKILLS == 2);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • Small Message(All Players(All Teams), Custom String("Great Air +100"));
  • Global.SKILLS_SCORE += 100;
  • Else If(Global.DRIVEABLE_VEHICLE.AIR_SKILLS == 3);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • Small Message(All Players(All Teams), Custom String("Awesome Air +250"));
  • Global.SKILLS_SCORE += 250;
  • Else If(Global.DRIVEABLE_VEHICLE.AIR_SKILLS == 4);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • Small Message(All Players(All Teams), Custom String("Sick Air +350"));
  • Global.SKILLS_SCORE += 350;
  • Else If(Global.DRIVEABLE_VEHICLE.AIR_SKILLS > 4);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • Small Message(All Players(All Teams), Custom String("Ultimate Air +500"));
  • Global.SKILLS_SCORE += 500;
  • End;
  • Wait(0.016, Ignore Condition);
  • Global.DRIVEABLE_VEHICLE.AIR_SKILLS = 0;
  • }
  • }
  • rule("Drift Award Speed Trigger Left")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is On Ground(Global.DRIVEABLE_VEHICLE) == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Right, Global.DRIVEABLE_VEHICLE, Rotation)) >= Global.DRIFT_MIN;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Right, Global.DRIVEABLE_VEHICLE, Rotation)) <= Global.DRIFT_MAX;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) >= Global.DRIFT_MIN;
  • }
  • actions
  • {
  • Global.DRIFT_AWARD_TRIGGER = 1;
  • Global.DRIFT_TRIGGER = -1;
  • }
  • }
  • rule("Drift Award Speed Trigger Right")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Is On Ground(Global.DRIVEABLE_VEHICLE) == True;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Left, Global.DRIVEABLE_VEHICLE, Rotation)) >= Global.DRIFT_MIN;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Left, Global.DRIVEABLE_VEHICLE, Rotation)) <= Global.DRIFT_MAX;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) >= Global.DRIFT_MIN;
  • }
  • actions
  • {
  • Global.DRIFT_AWARD_TRIGGER = 1;
  • Global.DRIFT_TRIGGER = 1;
  • }
  • }
  • rule("Drift Award")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Global.DRIFT_AWARD_TRIGGER == 1;
  • }
  • actions
  • {
  • Wait(0.250, Abort When False);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • If(Global.E_DRIFT_AWARD_TRIGGER == 0);
  • Small Message(All Players(All Teams), Custom String("Drift +100"));
  • Else If(Global.E_DRIFT_AWARD_TRIGGER == 1);
  • Small Message(All Players(All Teams), Custom String("E-Drift +100"));
  • End;
  • Global.SKILLS_SCORE += 100;
  • Wait(1, Abort When False);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • If(Global.E_DRIFT_AWARD_TRIGGER == 0);
  • Small Message(All Players(All Teams), Custom String("Great Drift +250"));
  • Else If(Global.E_DRIFT_AWARD_TRIGGER == 1);
  • Small Message(All Players(All Teams), Custom String("Great E-Drift +250"));
  • End;
  • Global.SKILLS_SCORE += 250;
  • Wait(1, Abort When False);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • If(Global.E_DRIFT_AWARD_TRIGGER == 0);
  • Small Message(All Players(All Teams), Custom String("Awesome Drift +500"));
  • Else If(Global.E_DRIFT_AWARD_TRIGGER == 1);
  • Small Message(All Players(All Teams), Custom String("Awesome E-Drift +500"));
  • End;
  • Global.SKILLS_SCORE += 500;
  • Wait(1, Abort When False);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • If(Global.E_DRIFT_AWARD_TRIGGER == 0);
  • Small Message(All Players(All Teams), Custom String("Sick Drift +750"));
  • Else If(Global.E_DRIFT_AWARD_TRIGGER == 1);
  • Small Message(All Players(All Teams), Custom String("Sick E-Drift +750"));
  • End;
  • Global.SKILLS_SCORE += 750;
  • Wait(1, Abort When False);
  • Play Effect(Global.PLAYER_RACER, Sombra Translocating Sound, Color(White), Global.PLAYER_RACER, 100);
  • If(Global.E_DRIFT_AWARD_TRIGGER == 0);
  • Small Message(All Players(All Teams), Custom String("Ultimate Drift +1,000"));
  • Else If(Global.E_DRIFT_AWARD_TRIGGER == 1);
  • Small Message(All Players(All Teams), Custom String("Ultimate E-Drift +1,000"));
  • End;
  • Global.SKILLS_SCORE += 1000;
  • }
  • }
  • rule("Drift Award End Left")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Global.DRIFT_TRIGGER == -1;
  • (Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Right, Global.DRIVEABLE_VEHICLE, Rotation))
  • <= Global.DRIFT_MIN || Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE,
  • Rotation)) <= Global.DRIFT_MIN) == True;
  • }
  • actions
  • {
  • Global.E_DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_TRIGGER = 0;
  • If(Global.PLAYER_USES_NITROUS == 0);
  • Stop Chasing Global Variable(NITROUS_TICK);
  • End;
  • }
  • }
  • rule("Drift Award End Right")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Global.DRIFT_TRIGGER == 1;
  • (Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Left, Global.DRIVEABLE_VEHICLE, Rotation))
  • <= Global.DRIFT_MIN || Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE,
  • Rotation)) <= Global.DRIFT_MIN) == True;
  • }
  • actions
  • {
  • Global.E_DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_TRIGGER = 0;
  • If(Global.PLAYER_USES_NITROUS == 0);
  • Stop Chasing Global Variable(NITROUS_TICK);
  • End;
  • }
  • }
  • rule("Drift Award End Air")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.SKILLS_READY == 1;
  • Global.DRIFT_TRIGGER == 1;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == True;
  • }
  • actions
  • {
  • Global.E_DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_AWARD_TRIGGER = 0;
  • Global.DRIFT_TRIGGER = 0;
  • }
  • }
  • disabled rule("CAR PHYSICS MECHANICS")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Impulse Player Racer up when approaching the Down Slope at high speed")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER == 0;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) >= 9;
  • Distance Between(Eye Position(Global.DRIVEABLE_VEHICLE), Ray Cast Hit Position(Eye Position(Global.DRIVEABLE_VEHICLE),
  • Eye Position(Global.DRIVEABLE_VEHICLE) + World Vector Of(Vector(0, -1, 1), Global.DRIVEABLE_VEHICLE, Rotation) * 20,
  • Global.DRIVEABLE_VEHICLE, Global.DRIVEABLE_VEHICLE, True)) > 3.500;
  • }
  • actions
  • {
  • Apply Impulse(Global.DRIVEABLE_VEHICLE, Up, 2, To World, Cancel Contrary Motion);
  • }
  • }
  • rule("HI-Speed Up Slope Jump Prepare")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER == 0;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) >= 9;
  • Distance Between(Eye Position(Global.DRIVEABLE_VEHICLE), Ray Cast Hit Position(Eye Position(Global.DRIVEABLE_VEHICLE),
  • Eye Position(Global.DRIVEABLE_VEHICLE) + World Vector Of(Vector(0, -1, 1), Global.DRIVEABLE_VEHICLE, Rotation) * 20,
  • Global.DRIVEABLE_VEHICLE, Global.DRIVEABLE_VEHICLE, True)) <= 2;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == False;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER = 1;
  • }
  • }
  • rule("HI-Speed Up Slope Jump Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER == 1;
  • Distance Between(Eye Position(Global.DRIVEABLE_VEHICLE), Ray Cast Hit Position(Eye Position(Global.DRIVEABLE_VEHICLE),
  • Eye Position(Global.DRIVEABLE_VEHICLE) + World Vector Of(Vector(0, -1, 1), Global.DRIVEABLE_VEHICLE, Rotation) * 20,
  • Global.DRIVEABLE_VEHICLE, Global.DRIVEABLE_VEHICLE, True)) >= 2;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == False;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER = 0;
  • Apply Impulse(Global.DRIVEABLE_VEHICLE, Up, 6, To World, Cancel Contrary Motion);
  • }
  • }
  • rule("HI-Speed Up Slope Jump Cancel")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER == 1;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) <= 5;
  • Is In Air(Global.DRIVEABLE_VEHICLE) == False;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.SLOPE_DRIVE_UP_TRIGGER = 0;
  • }
  • }
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Player Racer has spawned")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Has Spawned(Global.PLAYER_RACER) == True;
  • }
  • actions
  • {
  • If(Global.DYNAMIC_CAMERA_LOCK_SET == 1);
  • Global.VEHICLE_CAMERA_TRIGGER = 1;
  • Global.CAMERA_LOCK = Global.PLAYER_RACER;
  • End;
  • Start Facing(Global.PLAYER_RACER, Direction From Angles(Global.RACE_PLAYER_START_FACE, 0), 500, To World, Direction and Turn Rate);
  • Disable Game Mode HUD(Global.PLAYER_RACER);
  • Disable Hero HUD(Global.PLAYER_RACER);
  • Disable Game Mode In-World UI(Global.PLAYER_RACER);
  • Stop Facing(Global.PLAYER_RACER);
  • Wait(0.250, Ignore Condition);
  • Teleport(Global.PLAYER_RACER, Eye Position(Global.DRIVEABLE_VEHICLE));
  • If(Global.PLAYER_RACER_VEHICLE_START == 0);
  • Global.PLAYER_RACER.IS_IN_VEHICLE = True;
  • End;
  • }
  • }
  • rule("Disallow buttons to Player Racer")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.PLAYER_RACER) == True;
  • Is Alive(Global.PLAYER_RACER) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • Disallow Button(Global.PLAYER_RACER, Button(Primary Fire));
  • Disallow Button(Global.PLAYER_RACER, Button(Secondary Fire));
  • Disallow Button(Global.PLAYER_RACER, Button(Melee));
  • Disallow Button(Global.PLAYER_RACER, Button(Ability 1));
  • Disallow Button(Global.PLAYER_RACER, Button(Ability 2));
  • Disallow Button(Global.PLAYER_RACER, Button(Ultimate));
  • }
  • }
  • rule("Vehicle has Spawned")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • If(Global.DYNAMIC_CAMERA_LOCK_SET == 0);
  • Global.VEHICLE_CAMERA_TRIGGER = 0;
  • Global.CAMERA_LOCK = Global.DRIVEABLE_VEHICLE;
  • End;
  • Set Move Speed(Global.DRIVEABLE_VEHICLE, Global.CAR_SPEED);
  • Start Scaling Player(Global.DRIVEABLE_VEHICLE, 0.900, True);
  • Create Effect(All Players(All Teams), Mercy Damage Boosted Sound, Color(White), Global.DRIVEABLE_VEHICLE,
  • Global.DRIVEABLE_VEHICLE.VEHICLE_NITROUS_SOUND, Visible To Position Radius and Color);
  • Set Invisible(Global.DRIVEABLE_VEHICLE, All);
  • Set Damage Received(Global.DRIVEABLE_VEHICLE, Workshop Setting Integer(Custom String("Car Settings"), Custom String(
  • "Damage Recieved (%)"), 10, 5, 100, 1));
  • Set Healing Received(Global.DRIVEABLE_VEHICLE, Workshop Setting Integer(Custom String("Car Settings"), Custom String(
  • "Repair Recieved (%)"), 25, 0, 100, 2));
  • Set Max Health(Global.DRIVEABLE_VEHICLE, 16.670);
  • Global.CAR_HEALTH = Health(Global.DRIVEABLE_VEHICLE);
  • Global.VEHICLE_STATUS_ICON = Ability Icon String(Hero(Bastion), Button(Secondary Fire));
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • Global.VEHICLE_STATUS_LINES = Custom String(" ");
  • Wait(1, Ignore Condition);
  • If(Global.SKILLS == True);
  • If(Global.GAMEMODE == False);
  • Global.SKILLS_READY = 1;
  • End;
  • End;
  • }
  • }
  • rule("Create Vehicle Hud")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • "Radiostations"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, Global.RADIOSTATION_NAME, Null, Null, Top, 0, Global.RADIOSTATION_COLOR, Color(
  • White), Color(White), Visible To String and Color, Default Visibility);
  • "Speedometer"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(
  • Vector(0, 0, 1), Global.DRIVEABLE_VEHICLE, Rotation)), Custom String("KM/H")), Null, Null, Right, 10, Color(White), Color(
  • White), Color(White), Visible To String and Color, Default Visibility);
  • "Accelerometer"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Ability Icon String(Hero(Tracer), Button(Ability 1)),
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION), Null, Null, Right, 9, Color(White), Color(White), Color(White),
  • Visible To and String, Default Visibility);
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, Null, Null, Custom String(
  • " \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r"),
  • Top, 1, Color(White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • "NITROUS STATUS"
  • Create Progress Bar HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, Global.NITROUS_TICK, String("{0} {1}", Ability Icon String(Hero(
  • Torbjörn), Button(Ultimate)), Custom String("NITROUS")), Top, 2, Global.NITROUS_STATUS, Global.NITROUS_STATUS,
  • Visible To Values and Color, Default Visibility);
  • "Health of Vehicle"
  • Create Progress Bar HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, Health(Global.DRIVEABLE_VEHICLE), String("{0} {1}",
  • Global.VEHICLE_STATUS_ICON, Global.VEHICLE_STATUS_LINES), Top, 10, Global.VEHICLE_STATUS_COLOR, Global.VEHICLE_STATUS_COLOR,
  • Visible To Values and Color, Default Visibility);
  • Global.NITROUS_STATUS = Color(Orange);
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • "Original gamemode creator"
  • Create HUD Text(All Players(All Teams), Null, Null, Custom String("Created by GraczCourier and Deltin"), Right, 0, Null, Null,
  • Color(White), Visible To String and Color, Default Visibility);
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, Null, Null, Custom String(
  • " \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r"),
  • Right, 8, Color(White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • "Score Counter"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Custom String("Score:"), Global.SKILLS_SCORE), Null, Null, Left,
  • 0, Color(White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • Disable Game Mode HUD(Global.PLAYER_RACER_HUD_TOGGLE);
  • "Countdown Text"
  • Create In-World Text(Global.PLAYER_RACER_HUD_TOGGLE, Global.INTRO_COUNTDOWN_TEXT, Update Every Frame(Ray Cast Hit Position(
  • Eye Position(Global.CAMERA_LOCK), Eye Position(Global.CAMERA_LOCK) + Facing Direction Of(Global.CAMERA_LOCK) * 0.500,
  • Global.CAMERA_LOCK, All Players(All Teams), True)), 20, Do Not Clip, Visible To Position String and Color, Custom Color(255,
  • 255, 255, Global.INTRO_COUNTDOWN_ALPHA), Default Visibility);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String(" ");
  • If(Global.RACE_CLOCK_SET == True);
  • "Clock - Overall"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Custom String("CLK "), String("{0}:{1}",
  • Global.PLAYER_RACER.RACER_CURRENT_CLK_MINUTES, Global.PLAYER_RACER.RACER_CURRENT_CLK_SECONDS)), Null, Null, Right, 2, Color(
  • White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • If(Global.CHALLENGE_TYPE == Custom String("Race"));
  • "Clock - Lap"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Custom String("LAP "), String("{0}:{1}",
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_MINUTES, Global.PLAYER_RACER.RACER_CURRENT_LAP_SECONDS)), Null, Null, Right, 3, Color(
  • White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • "Clock - Last Lap"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Custom String("LST "), String("{0}:{1}",
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES, Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS)), Null, Null, Right, 4,
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR, Color(White), Color(White), Visible To String and Color, Default Visibility);
  • "Clock - Best Lap"
  • Create HUD Text(Global.PLAYER_RACER_HUD_TOGGLE, String("{0} {1}", Custom String("BST "), String("{0}:{1}",
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES, Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS)), Null, Null, Right, 5,
  • Color(White), Color(White), Color(White), Visible To String and Color, Default Visibility);
  • End;
  • End;
  • }
  • }
  • rule("Place Vehicle on the Starting Line")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Has Spawned(Global.PLAYER_RACER) == True;
  • }
  • actions
  • {
  • Wait(0.050, Ignore Condition);
  • Create Dummy Bot(Hero(Wrecking Ball), Team Of(Global.PLAYER_RACER), 1, Global.RACE_PLAYER_START_POS,
  • Global.RACE_PLAYER_START_FACE);
  • Global.DRIVEABLE_VEHICLE = Players In Slot(1, All Teams);
  • Set Respawn Max Time(Global.DRIVEABLE_VEHICLE, 9999);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE = Global.RACE_PLAYER_START_FACE;
  • Set Facing(Global.DRIVEABLE_VEHICLE, Direction From Angles(Global.RACE_PLAYER_START_FACE, 0), To World);
  • Set Facing(Global.PLAYER_RACER, Direction From Angles(Global.RACE_PLAYER_START_FACE, 0), To World);
  • Teleport(Global.DRIVEABLE_VEHICLE, Global.RACE_PLAYER_START_POS);
  • Set Status(Global.DRIVEABLE_VEHICLE, Null, Rooted, 9999);
  • }
  • }
  • rule("Player Racer - Promt to Enter Vehicle")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.PLAYER_RACER) == True;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Distance Between(Global.PLAYER_RACER, Global.DRIVEABLE_VEHICLE) <= 6;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == False;
  • }
  • actions
  • {
  • Wait(0.500, Abort When False);
  • Small Message(Global.PLAYER_RACER, String("{0} {1}", Input Binding String(Button(Interact)), Custom String(
  • " - Enter/Exit Vehicle")));
  • }
  • }
  • rule("Player Racer Vehicle Manual Entry Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Has Spawned(Global.PLAYER_RACER) == True;
  • Is Alive(Global.DRIVEABLE_VEHICLE) == True;
  • Distance Between(Global.PLAYER_RACER, Global.DRIVEABLE_VEHICLE) <= 6;
  • Is Button Held(Global.PLAYER_RACER, Button(Interact)) == True;
  • Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER == 0;
  • }
  • actions
  • {
  • If(Global.PLAYER_RACER.IS_IN_VEHICLE == False);
  • If(Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER == 0);
  • Global.PLAYER_RACER.IS_IN_VEHICLE = True;
  • Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER = 1;
  • End;
  • Else If(Global.PLAYER_RACER.IS_IN_VEHICLE == True);
  • If(Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER == 0);
  • Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER = 1;
  • Global.PLAYER_RACER.IS_IN_VEHICLE = False;
  • End;
  • End;
  • Wait(0.250, Ignore Condition);
  • Global.PLAYER_RACER.VEHICLE_ENTRY_TRIGGER = 0;
  • }
  • }
  • rule("Player Racer entered the Vehicle")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • "Free View Camera Trigger"
  • If(Global.VEHICLE_CAMERA_TRIGGER == 1);
  • Start Camera(Global.PLAYER_RACER, Update Every Frame(Ray Cast Hit Position(Eye Position(Global.PLAYER_RACER), Eye Position(
  • Global.PLAYER_RACER) + -5 * Facing Direction Of(Global.PLAYER_RACER), Empty Array, Empty Array, False)), Update Every Frame(
  • Eye Position(Global.PLAYER_RACER)), Global.FREE_VIEW_CAMERA_BLEND);
  • End;
  • If(Global.VEHICLE_CAMERA_TRIGGER == 0);
  • Start Facing(Global.PLAYER_RACER, Facing Direction Of(Global.DRIVEABLE_VEHICLE), 500, To World, Direction and Turn Rate);
  • End;
  • Global.PLAYER_RACER_HUD_TOGGLE = Global.PLAYER_RACER;
  • Global.NITROUS_POWER = 1;
  • Global.LIGHTS_TRIGGER = True;
  • Global.HEADLIGHT_COLOR = Color(White);
  • Global.REAR_LIGHT_COLOR = Color(Red);
  • Start Forcing Player Position(Global.PLAYER_RACER, Update Every Frame(Eye Position(Global.DRIVEABLE_VEHICLE)), True);
  • Start Scaling Player(Global.PLAYER_RACER, 0.100, True);
  • Set Invisible(Global.PLAYER_RACER, All);
  • Disable Movement Collision With Environment(Global.PLAYER_RACER, True);
  • Disable Movement Collision With Players(Global.PLAYER_RACER);
  • Wait(0.250, Abort When False);
  • Call Subroutine(ENGINE_ON);
  • }
  • }
  • rule("Engine ON - SUBROUTINE")
  • {
  • event
  • {
  • Subroutine;
  • ENGINE_ON;
  • }
  • actions
  • {
  • "New Control Type"
  • If(Global.CONTROL_TYPE == 1);
  • Start Facing(Global.DRIVEABLE_VEHICLE, Update Every Frame(Direction From Angles(Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE, 5)),
  • 500, To World, Direction and Turn Rate);
  • Start Throttle In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Vector(Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_GRIP, 0,
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION), Global.DRIVEABLE_VEHICLE, Rotation),
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION, To World, Add to existing throttle, Direction and Magnitude);
  • "Legacy Control Type"
  • Else If(Global.CONTROL_TYPE == 0);
  • Start Facing(Global.DRIVEABLE_VEHICLE, Update Every Frame(Facing Direction Of(Global.PLAYER_RACER)), 500, To World,
  • Direction and Turn Rate);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION = Custom String("Legacy");
  • End;
  • }
  • }
  • rule("Engine OFF - SUBROUTINE")
  • {
  • event
  • {
  • Subroutine;
  • ENGINE_OFF;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_NITROUS_SOUND = 0;
  • Global.HEADLIGHT_COLOR = Color(Black);
  • Global.REAR_LIGHT_COLOR = Color(Black);
  • Global.LIGHTS_TRIGGER = False;
  • Stop Facing(Global.PLAYER_RACER);
  • Wait(0.050, Abort When False);
  • Stop Facing(Global.DRIVEABLE_VEHICLE);
  • Stop Accelerating(Global.DRIVEABLE_VEHICLE);
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_TURN_ANGLE);
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 0, 0.250, Destination and Rate);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 1, Destination and Rate);
  • }
  • }
  • rule("Player Racer exited the Vehicle")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == False;
  • }
  • actions
  • {
  • Call Subroutine(ENGINE_OFF);
  • Start Scaling Player(Global.PLAYER_RACER, 1, True);
  • Stop Forcing Player Position(Global.PLAYER_RACER);
  • Stop Camera(Global.PLAYER_RACER);
  • Global.PLAYER_RACER_HUD_TOGGLE = Global.DRIVEABLE_VEHICLE;
  • Set Invisible(Global.PLAYER_RACER, None);
  • Enable Movement Collision With Environment(Global.PLAYER_RACER);
  • Enable Movement Collision With Players(Global.PLAYER_RACER);
  • }
  • }
  • rule("Initial Vehicle Entry - Race")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Global.PLAYER_RACER_READY == 0;
  • }
  • actions
  • {
  • Global.INTRO_COUNTDOWN_TEXT = Custom String(" ");
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES = Custom String("--");
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS = Custom String("--");
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES = Custom String("--");
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS = Custom String("--");
  • Global.CHECKPOINT_WRECK_RESPAWN_POS = Global.RACE_PLAYER_START_POS;
  • If(Global.CHALLENGE_TYPE == Custom String("Race"));
  • Big Message(Global.PLAYER_RACER, Global.RACE_TRACK_NAME);
  • Global.INTRO_COUNTDOWN_COUNT = 3;
  • Global.PLAYER_RACER_READY = 1;
  • Wait(0.500, Ignore Condition);
  • Global.RACE_TRACK_READY = 1;
  • Global.INTRO_COUNTDOWN_TRIGGER = 1;
  • End;
  • }
  • }
  • rule("Initial Vehicle Entry - Race Countdown Effect Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.INTRO_COUNTDOWN_TRIGGER == 1;
  • Global.INTRO_COUNTDOWN_COUNT != 0;
  • }
  • actions
  • {
  • If(Global.INTRO_COUNTDOWN_COUNT == 3);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String("3");
  • Else If(Global.INTRO_COUNTDOWN_COUNT == 2);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String("2");
  • Else If(Global.INTRO_COUNTDOWN_COUNT == 1);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String("1");
  • Else If(Global.INTRO_COUNTDOWN_COUNT == 0);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String("GO!");
  • End;
  • If(Global.INTRO_COUNTDOWN_COUNT != 0);
  • Play Effect(Global.PLAYER_RACER, Echo Sticky Bomb Explosion Sound, Color(White), Eye Position(Global.PLAYER_RACER), 200);
  • Else If(Global.INTRO_COUNTDOWN_COUNT == 0);
  • Play Effect(Global.PLAYER_RACER, Pharah Concussive Blast Sound, Color(White), Eye Position(Global.PLAYER_RACER), 200);
  • End;
  • Stop Chasing Global Variable(INTRO_COUNTDOWN_ALPHA);
  • Global.INTRO_COUNTDOWN_ALPHA = 255;
  • Wait(0.050, Ignore Condition);
  • Chase Global Variable At Rate(INTRO_COUNTDOWN_ALPHA, 0, 500, Destination and Rate);
  • Wait(0.450, Ignore Condition);
  • Global.INTRO_COUNTDOWN_TEXT = Custom String(" ");
  • Wait(0.500, Ignore Condition);
  • If(Global.INTRO_COUNTDOWN_COUNT != 0);
  • Global.INTRO_COUNTDOWN_COUNT -= 1;
  • Loop;
  • Else If(Global.INTRO_COUNTDOWN_COUNT == 0);
  • Stop Chasing Global Variable(INTRO_COUNTDOWN_ALPHA);
  • End;
  • }
  • }
  • rule("Initial Vehicle Entry - Release Vehicle upon \"GO!'")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Global.INTRO_COUNTDOWN_COUNT == 0;
  • }
  • actions
  • {
  • If(Global.CHALLENGE_TYPE == Custom String("Race"));
  • Global.RACE_CLOCK_START = 1;
  • Play Effect(Global.PLAYER_RACER, Pharah Concussive Blast Sound, Color(White), Eye Position(Global.PLAYER_RACER), 200);
  • Clear Status(Global.DRIVEABLE_VEHICLE, Rooted);
  • If(Global.SCORE_REQ_MODE == True);
  • Small Message(All Players(All Teams), String("{0} {1}", Custom String("Required Score:"), Global.SCORE_REQ_SET));
  • End;
  • End;
  • Clear Status(Global.DRIVEABLE_VEHICLE, Rooted);
  • If(Global.SKILLS == True);
  • Wait(1, Ignore Condition);
  • Global.SKILLS_READY = 1;
  • End;
  • Clear Status(Global.DRIVEABLE_VEHICLE, Rooted);
  • }
  • }
  • rule("Respawn Trigger - Vehicle Wrecked")
  • {
  • event
  • {
  • Player Died;
  • All;
  • Slot 1;
  • }
  • conditions
  • {
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Game In Progress == True;
  • }
  • actions
  • {
  • If(Global.PLAYER_RACER.IS_IN_VEHICLE == True);
  • Stop Forcing Player Position(Global.PLAYER_RACER);
  • Set Gravity(Global.PLAYER_RACER, 0);
  • Set Status(Global.PLAYER_RACER, Null, Rooted, 9999);
  • Apply Impulse(Global.PLAYER_RACER, Up, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Global.PLAYER_RACER, Down, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Global.PLAYER_RACER, Left, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Global.PLAYER_RACER, Right, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Global.PLAYER_RACER, Forward, 0.001, To World, Cancel Contrary Motion);
  • Apply Impulse(Global.PLAYER_RACER, Backward, 0.001, To World, Cancel Contrary Motion);
  • End;
  • Wait(0.250, Ignore Condition);
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER = 1;
  • Small Message(Global.PLAYER_RACER, String("{0} {1}", Input Binding String(Button(Reload)), Custom String(
  • "- Respawn Near Checkpoint")));
  • }
  • }
  • rule("Respawn Triggered")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Is Game In Progress == True;
  • Has Spawned(Global.DRIVEABLE_VEHICLE) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Reload)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == False;
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER != 2;
  • }
  • actions
  • {
  • If(Is Dead(Global.DRIVEABLE_VEHICLE) == True);
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER = 2;
  • Else If(Is Alive(Global.DRIVEABLE_VEHICLE) == True);
  • Wait(0.500, Abort When False);
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER = 2;
  • End;
  • Small Message(All Players(All Teams), Custom String("Respawning..."));
  • }
  • }
  • rule("Respawn Vehicle")
  • {
  • event
  • {
  • Ongoing - Each Player;
  • All;
  • Slot 0;
  • }
  • conditions
  • {
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER == 2;
  • }
  • actions
  • {
  • Global.CHECKPOINT_WRECK_RESPAWN_TRIGGER = 0;
  • Wait(1, Ignore Condition);
  • If(Global.CHALLENGE_TYPE == Custom String("Race"));
  • Teleport(Global.PLAYER_RACER, Global.CHECKPOINT_WRECK_RESPAWN_POS);
  • Teleport(Global.DRIVEABLE_VEHICLE, Global.CHECKPOINT_WRECK_RESPAWN_POS);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE = Global.CHECKPOINT_WRECK_RESPAWN_FACING;
  • Else If(Global.CHALLENGE_TYPE == Custom String("Traffic"));
  • Teleport(Global.PLAYER_RACER, Global.RACE_PLAYER_START_POS);
  • Teleport(Global.DRIVEABLE_VEHICLE, Global.RACE_PLAYER_START_POS);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE = Global.RACE_PLAYER_START_FACE;
  • Else If(Global.CHALLENGE_TYPE != Array Contains(Array(Custom String("Race"), Custom String("Traffic")), True));
  • Teleport(Global.PLAYER_RACER, Spawn Points(Team Of(Global.PLAYER_RACER)));
  • Teleport(Global.DRIVEABLE_VEHICLE, Spawn Points(Team Of(Global.PLAYER_RACER)));
  • End;
  • Global.VEHICLE_STATUS_ICON = Ability Icon String(Hero(Bastion), Button(Secondary Fire));
  • Global.VEHICLE_STATUS_COLOR = Color(White);
  • Global.VEHICLE_STATUS_LINES = Custom String(" ");
  • Set Gravity(Global.PLAYER_RACER, 100);
  • Clear Status(Global.PLAYER_RACER, Rooted);
  • Resurrect(Global.PLAYER_RACER);
  • Resurrect(Global.DRIVEABLE_VEHICLE);
  • If(Global.PLAYER_RACER.IS_IN_VEHICLE == True);
  • Start Forcing Player Position(Global.PLAYER_RACER, Update Every Frame(Eye Position(Global.DRIVEABLE_VEHICLE)), True);
  • End;
  • If(Global.SKILLS == True);
  • Wait(1, Ignore Condition);
  • Global.SKILLS_READY = 1;
  • End;
  • }
  • }
  • disabled rule("")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Race Clock Start")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RACE_CLOCK_START == 1;
  • Global.CHALLENGE_RACE_LAP_COUNTER != 0;
  • Global.RACE_CLOCK_SET == True;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Global.PLAYER_RACER, RACER_CURRENT_CLK_SECONDS, 60, 1, Destination and Rate);
  • If(Global.GAMEMODE == Custom String("Race"));
  • Chase Player Variable At Rate(Global.PLAYER_RACER, RACER_CURRENT_LAP_SECONDS, 60, 1, Destination and Rate);
  • End;
  • }
  • }
  • rule("Race Clock Minute Set")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.RACER_CURRENT_CLK_SECONDS == 60;
  • }
  • actions
  • {
  • Global.PLAYER_RACER.RACER_CURRENT_CLK_MINUTES += 1;
  • Global.PLAYER_RACER.RACER_CURRENT_CLK_SECONDS = 0;
  • }
  • }
  • rule("Race Lap Minute Set")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_SECONDS == 60;
  • }
  • actions
  • {
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_MINUTES += 1;
  • Global.PLAYER_RACER.RACER_CURRENT_LAP_SECONDS = 0;
  • }
  • }
  • rule("Race Last Lap Effect")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RACE_CLOCK_TRIGGER == 1;
  • }
  • actions
  • {
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(Black);
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(White);
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(Black);
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(White);
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(Black);
  • Wait(0.500, Ignore Condition);
  • Global.PLAYER_RACER.RACER_CLOCK_LAP_BLINK_COLOR = Color(White);
  • Global.RACE_CLOCK_TRIGGER = 0;
  • }
  • }
  • rule("Race Best Lap Set")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RACE_CLOCK_TRIGGER == 1;
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES <= Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES;
  • Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS <= Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS;
  • }
  • actions
  • {
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES = Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES;
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS = Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS;
  • }
  • }
  • rule("Race First Best Lap Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RACE_CLOCK_TRIGGER == 1;
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES == Custom String("--");
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS == Custom String("--");
  • }
  • actions
  • {
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_MINUTES = Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_MINUTES;
  • Global.PLAYER_RACER.RACER_CLOCK_BEST_LAP_SECONDS = Global.PLAYER_RACER.RACER_CLOCK_LAST_LAP_SECONDS;
  • }
  • }
  • rule("Race Clock Stop")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.RACE_CLOCK_START == 0;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.PLAYER_RACER, RACER_CURRENT_CLK_SECONDS);
  • Stop Chasing Player Variable(Global.PLAYER_RACER, RACER_CURRENT_LAP_SECONDS);
  • }
  • }
  • disabled rule("Legacy Car Mechanics")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Legacy Acceleration")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.CONTROL_TYPE == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Global.DRIVEABLE_VEHICLE, Throttle Of(Global.PLAYER_RACER), 1, To Player, Replace existing throttle,
  • Direction and Magnitude);
  • }
  • }
  • rule("Legacy Brake")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Global.CONTROL_TYPE == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Stop Throttle In Direction(Global.DRIVEABLE_VEHICLE);
  • }
  • }
  • rule("Legacy Reversing")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.CONTROL_TYPE == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Start Throttle In Direction(Global.DRIVEABLE_VEHICLE, Throttle Of(Global.PLAYER_RACER), 1, To Player, Replace existing throttle,
  • Direction and Magnitude);
  • }
  • }
  • disabled rule("New Car Mechanics")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • }
  • rule("Set Acceleration Direction - Forward")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Backward, Global.DRIVEABLE_VEHICLE, Rotation)) < 0.100;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION = 1;
  • }
  • }
  • rule("Accelerate Car")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == 1;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 1, 2, Destination and Rate);
  • }
  • }
  • rule("Brake Car (Acceleration)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == 1;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 0, 1, Destination and Rate);
  • }
  • }
  • rule("Set Acceleration Direction - Backward")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Speed Of In Direction(Global.DRIVEABLE_VEHICLE, World Vector Of(Forward, Global.DRIVEABLE_VEHICLE, Rotation)) < 0.100;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION = -1;
  • }
  • }
  • rule("Reverse Car")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == -1;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 1, 1, Destination and Rate);
  • }
  • }
  • rule("Brake Car (Reversing)")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == -1;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 0, 1, Destination and Rate);
  • }
  • }
  • rule("Acceleration Throttle Released")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 0, 0.250, Destination and Rate);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 1, Destination and Rate);
  • }
  • }
  • rule("Turn Left")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 5, Destination and Rate);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_TURN_ANGLE, 180, Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_RATE,
  • Destination and Rate);
  • Wait(1, Abort When False);
  • If(Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER == False);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER = True;
  • End;
  • }
  • }
  • rule("Drift Left Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER == True;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • If(Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_GRIP > 0);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_GRIP = 0;
  • End;
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, -1, 0.750, Destination and Rate);
  • }
  • }
  • rule("Turn Right")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 5, Destination and Rate);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_TURN_ANGLE, -180, Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_RATE,
  • Destination and Rate);
  • Wait(1, Abort When False);
  • If(Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER == False);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER = True;
  • End;
  • }
  • }
  • rule("Drift Right Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION_DIRECTION == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_ACCELERATION == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER == True;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • If(Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_GRIP < 0);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_GRIP = 0;
  • End;
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 1, 0.750, Destination and Rate);
  • }
  • }
  • rule("Drift Recover Grip")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) == 0;
  • Z Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP, 0, 2, Destination and Rate);
  • Wait(0.500, Abort When False);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER = False;
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_DRIFT_GRIP);
  • }
  • }
  • rule("Stop Turning")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) == 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_TURN_ANGLE);
  • }
  • }
  • rule("Handbrake Held")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == False;
  • }
  • actions
  • {
  • Stop Chasing Player Variable(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION);
  • Chase Player Variable At Rate(Global.DRIVEABLE_VEHICLE, VEHICLE_ACCELERATION, 0, 0.250, Destination and Rate);
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_RATE = 120;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_DRIFT_TRIGGER = True;
  • Global.E_DRIFT_AWARD_TRIGGER = 1;
  • }
  • }
  • rule("Handbrake Released")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • Is Button Held(Global.PLAYER_RACER, Button(Jump)) == False;
  • Is Button Held(Global.PLAYER_RACER, Button(Melee)) == False;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_RATE = 80;
  • }
  • }
  • rule("Turn Cycle Degree Plus Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE == 180;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) > 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE = -179;
  • }
  • }
  • rule("Turn Cycle Degree Minus Trigger")
  • {
  • event
  • {
  • Ongoing - Global;
  • }
  • conditions
  • {
  • Global.CONTROL_TYPE == 1;
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE == -180;
  • X Component Of(Throttle Of(Global.PLAYER_RACER)) < 0;
  • Global.PLAYER_RACER.IS_IN_VEHICLE == True;
  • }
  • actions
  • {
  • Global.DRIVEABLE_VEHICLE.VEHICLE_TURN_ANGLE = 179;
  • }
  • }
  • /. BASIC CAR PACK
Join the Workshop.codes Discord