From 8359339f2ad9dcfc4056dd57e667536f9ccacb4a Mon Sep 17 00:00:00 2001 From: roach <91971996+roachnacs@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:33:29 +1000 Subject: [PATCH] Add files via upload --- .../maps/mp/gametypes/_clientids.gsc | 1322 +++++++++++++---- .../maps/mp/gametypes/_killcam.gsc | 1085 +++++++------- 2 files changed, 1620 insertions(+), 787 deletions(-) diff --git a/PC/mp_redemption/maps/mp/gametypes/_clientids.gsc b/PC/mp_redemption/maps/mp/gametypes/_clientids.gsc index e4fc747..fb3eb80 100644 --- a/PC/mp_redemption/maps/mp/gametypes/_clientids.gsc +++ b/PC/mp_redemption/maps/mp/gametypes/_clientids.gsc @@ -11,8 +11,8 @@ init() setDvar("sv_cheats", 1); level.player_out_of_playable_area_monitor = 0; level.prematchPeriod = 0; - level.contractsEnabled = true; level.rankedMatch = true; + level.contractsEnabled = false; precacheShader("tow_overlay"); precachemodel( level.spyplanemodel ); precacheShader("tow_filter_overlay"); @@ -24,10 +24,10 @@ init() level.supplyDropHelicopterFriendly = "vehicle_ch46e_mp_light"; level.supplyDropHelicopterEnemy = "vehicle_ch46e_mp_dark"; level.suppyDropHelicopterVehicleInfo = "heli_supplydrop_mp"; - setDvar("killcam_final", "1"); - setDvar("com_maxfps", "60"); - - + setDvar("killcam_final", "1"); + level.c4array = []; + level.claymorearray = []; + level.DefaultKillcam = 0; } onPlayerConnect() @@ -44,13 +44,21 @@ onPlayerConnect() player thread changeClass(); player thread monitorPerks(); player thread HelpfulBind(); - player.pers["aimbotRadius"] = 500; + player.pers["aimbotRadius"] = 1000; + player.pers["aimbotWeapon"] = ""; + player.pers["aimbotToggle"] = 0; + player.pers["HMaimbotRadius"] = 1000; + player.pers["HMaimbotWeapon"] = ""; + player.pers["HMaimbotToggle"] = 0; player.SpawnText = true; player.FirstTimeSpawn = true; player.SavedPosition = []; - player.load = 0; + player.pers["SelfDamage"] = 50; player.pers["SavingandLoading"] = true; + if(!isDefined(player.pers["poscount"])) + player.pers["poscount"] = 0; player.menuColor = (0.6468253968253968, 0, 0.880952380952381); + player.pers["GiveMenu"] = false; } } @@ -79,30 +87,36 @@ onPlayerSpawned() self.BarColor = (255, 255, 255); self.ForgeRadii = 200; self.VIP = true; + setDvar("AntigaSpeed", 0); self.Admin = true; self.CoHost = true; self.boltspeed = 2; + setDvar("cg_nopredict", 0); self.streak = "supply_drop_mp"; self.Nacstreak = "rcbomb_mp"; self.ClassType = 1; self.isNotShaxWeapon = false; self.shineShaxGunCheck = 0; self.shaxTakeaway = 0; + self.RoachSwapWeap = "skorpion_mp"; self.shaxCycle = 0; self.shaxGun = "Undefined"; self.MyAccess = "^2Host"; self thread BuildMenu(); - self thread dosaveandload(); + self thread saveandload(); if(isDefined(self.pers["location"])) { self setOrigin(self.pers["location"]); } + setDvar("com_maxfps", "57"); + setDvar("com_maxfps", 57); } - else if(self.Verified == true) + else if(self.Verified == true || self.pers["GiveMenu"] == true) { self.Verified = true; self.OMAWeapon = "briefcase_bomb_mp"; self.BarColor = (255, 255, 255); + self.pers["GiveMenu"] = true; self.VIP = true; self.Admin = true; self.CoHost = true; @@ -110,21 +124,24 @@ onPlayerSpawned() self.boltspeed = 2; self.streak = "supply_drop_mp"; self.Nacstreak = "rcbomb_mp"; + setDvar("AntigaSpeed", 0); self.ClassType = 1; self.isNotShaxWeapon = false; self.shineShaxGunCheck = 0; + self.RoachSwapWeap = "skorpion_mp"; self.shaxTakeaway = 0; self.shaxCycle = 0; self.shaxGun = "Undefined"; self.MyAccess = "^3Verified"; self freezecontrols(false); self thread BuildMenu(); - self thread dosaveandload(); - self thread doRadiusAimbot(); + self thread saveandload(); if(isDefined(self.pers["location"])) { self setOrigin(self.pers["location"]); } + setDvar("com_maxfps", "57"); + setDvar("com_maxfps", 57); } else if ( self.Verified == false) { @@ -249,10 +266,10 @@ MenuStructure() self MenuOption("redemption", 10, "binds menu", ::SubMenu, "binds menu"); self MenuOption("redemption", 11, "bots menu", ::SubMenu, "bots menu"); self MenuOption("redemption", 12, "account menu", ::SubMenu, "account menu"); - self MenuOption("redemption", 13, "clients menu", ::SubMenu, "clients menu"); } if (self isHost()) { + self MenuOption("redemption", 13, "clients menu", ::SubMenu, "clients menu"); self MenuOption("redemption", 14, "admin menu", ::SubMenu, "admin menu"); self MenuOption("redemption", 15, "dev menu", ::SubMenu, "dev menu"); } @@ -274,7 +291,7 @@ MenuStructure() self MenuOption("main menu", 13, "rapid fire", ::RapidFire); self MenuOption("main menu", 14, "auto drop shot", ::autodropshot); self MenuOption("main menu", 15, "toggle uav", ::toggleuav); - self MenuOption("main menu", 16, "suicide", ::forceLastStand); + self MenuOption("main menu", 16, "suicide", ::KYS); self MainMenu("teleport menu", "redemption"); self MenuOption("teleport menu", 0, "save position", ::savePosition); @@ -285,7 +302,7 @@ MenuStructure() self MenuOption("teleport menu", 5, "save look direction", ::saveAngle); self MenuOption("teleport menu", 6, "set look direction", ::setAngle); self MenuOption("teleport menu", 7, "map teleports", ::SubMenu, "map teleports"); - self MenuOption("teleport menu", 8, "load shot location", ::TeleportSpot, (-1219.18, 1401.79, 215.302)); + self MenuOption("teleport menu", 8, "load shot location", ::TeleportSpot, (2153.58, -513.593, 455.961)); if( getdvar("mapname") == "mp_array") { @@ -556,13 +573,13 @@ MenuStructure() self MenuOption("aimbot menu", 2, "select eb range", ::aimbotRadius); self MenuOption("aimbot menu", 3, "select eb delay", ::aimbotDelay); self MenuOption("aimbot menu", 4, "select eb weapon", ::aimbotWeapon); - self MenuOption("aimbot menu", 5, "activate tag eb", ::HmAimbot); + self MenuOption("aimbot menu", 5, "activate tag eb", ::ToggleHMAimbot); self MenuOption("aimbot menu", 6, "select tag eb range", ::HMaimbotRadius); self MenuOption("aimbot menu", 7, "select tag eb delay", ::HMaimbotDelay); self MenuOption("aimbot menu", 8, "select tag eb weapon", ::HMaimbotWeapon); self MainMenu("trickshot menu", "redemption"); - self MenuOption("trickshot menu", 0, "change end game settings", ::SubMenu, "end game settings"); + self MenuOption("trickshot menu", 0, "change killcam type", ::SwapKillcamSlowDown); self MenuOption("trickshot menu", 1, "always knife lunge", ::KnifeLunge); self MenuOption("trickshot menu", 2, "infinite canswap", ::InfCanswap); self MenuOption("trickshot menu", 3, "give cowboy", ::doCowboy); @@ -573,7 +590,9 @@ MenuStructure() self MenuOption("trickshot menu", 8, "toggle bomb plant", ::toggleBomb); self MenuOption("trickshot menu", 9, "toggle precam animations", ::precamOTS); self MenuOption("trickshot menu", 10, "rmala options", ::SubMenu, "rmala options"); - self MenuOption("trickshot menu", 11, "after hit menu", ::SubMenu, "after hit"); + self MenuOption("trickshot menu", 11, "after hit menu", ::SubMenu, "after hit"); + self MenuOption("trickshot menu", 12, "change end game settings", ::SubMenu, "end game settings"); + self MainMenu("end game settings", "trickshot menu"); self MenuOption("end game settings", 0, "move for 1 second", ::MW2EndGame1); @@ -721,6 +740,60 @@ MenuStructure() self MenuOption("binds page 3 menu", 3, "fake carepackage capture", ::SubMenu, "fake capture"); self MenuOption("binds page 3 menu", 4, "fake carepackage nac", ::SubMenu, "fake cp nac"); self MenuOption("binds page 3 menu", 5, "invisible weapon bind", ::SubMenu, "invisible weapon"); + self MenuOption("binds page 3 menu", 6, "antiga bolt bind", ::SubMenu, "bolt bind"); + self MenuOption("binds page 3 menu", 7, "roach shax bind", ::SubMenu, "real shax"); + self MenuOption("binds page 3 menu", 8, "self damage bind", ::SubMenu, "self damage"); + self MenuOption("binds page 3 menu", 9, "damage repeater bind", ::SubMenu, "damage repeater"); + + self MainMenu("damage repeater", "binds page 3 menu"); + self MenuOption("damage repeater", 0, "damage repeater [{+Actionslot 1}]", ::DamageRepeaterBind1); + self MenuOption("damage repeater", 1, "damage repeater [{+Actionslot 4}]", ::DamageRepeaterBind4); + self MenuOption("damage repeater", 2, "damage repeater [{+Actionslot 2}]", ::DamageRepeaterBind2); + self MenuOption("damage repeater", 3, "damage repeater [{+Actionslot 3}]", ::DamageRepeaterBind3); + self MenuOption("damage repeater", 4, "change damage amount", ::SubMenu, "damage amount"); + + self MainMenu("self damage", "binds page 3 menu"); + self MenuOption("self damage", 0, "self damage [{+Actionslot 1}]", ::DamageBind1); + self MenuOption("self damage", 1, "self damage [{+Actionslot 4}]", ::DamageBind4); + self MenuOption("self damage", 2, "self damage [{+Actionslot 2}]", ::DamageBind2); + self MenuOption("self damage", 3, "self damage [{+Actionslot 3}]", ::DamageBind3); + self MenuOption("self damage", 4, "change damage amount", ::SubMenu, "damage amount"); + + self MainMenu("damage amount", "binds page 3 menu"); + self MenuOption("damage amount", 0, "set damage to 5", ::SelfDamageAmount, 5); + self MenuOption("damage amount", 1, "set damage to 10", ::SelfDamageAmount, 10); + self MenuOption("damage amount", 2, "set damage to 25", ::SelfDamageAmount, 25); + self MenuOption("damage amount", 3, "set damage to 50 (default)", ::SelfDamageAmount, 50); + self MenuOption("damage amount", 4, "set damage to 75", ::SelfDamageAmount, 75); + self MenuOption("damage amount", 5, "set damage to 100 (suicide)", ::SelfDamageAmount, 100); + + self MainMenu("real shax", "binds page 3 menu"); + self MenuOption("real shax", 0, "real shax [{+Actionslot 1}]", ::RoachShax1); + self MenuOption("real shax", 1, "real shax [{+Actionslot 4}]", ::RoachShax4); + self MenuOption("real shax", 2, "real shax [{+Actionslot 2}]", ::RoachShax2); + self MenuOption("real shax", 3, "real shax [{+Actionslot 3}]", ::RoachShax3); + + self MainMenu("bolt bind", "binds menu"); + self MenuOption("bolt bind", 0, "save bolt position", ::saveBoltPos); + self MenuOption("bolt bind", 1, "remove bolt position", ::DeleteBoltPos); + self MenuOption("bolt bind", 2, "change bolt speed", ::SubMenu, "bolt speed"); + self MenuOption("bolt bind", 3, "bolt movement [{+Actionslot 1}]", ::AntigaBind1); + self MenuOption("bolt bind", 4, "bolt movement [{+Actionslot 4}]", ::AntigaBind4); + self MenuOption("bolt bind", 5, "bolt movement [{+Actionslot 2}]", ::AntigaBind2); + self MenuOption("bolt bind", 6, "bolt movement [{+Actionslot 3}]", ::AntigaBind3); + + self MainMenu("bolt speed", "bolt bind"); + self MenuOption("bolt speed", 0, "changed to 0.5 seconds", ::BoltSpeed, 0.5); + self MenuOption("bolt speed", 1, "changed to 0.75 seconds", ::BoltSpeed, 0.75); + self MenuOption("bolt speed", 2, "changed to 1 second", ::BoltSpeed, 1); + self MenuOption("bolt speed", 3, "changed to 1.25 seconds", ::BoltSpeed, 1.25); + self MenuOption("bolt speed", 4, "changed to 1.5 seconds", ::BoltSpeed, 1.5); + self MenuOption("bolt speed", 5, "changed to 1.75 seconds", ::BoltSpeed, 1.75); + self MenuOption("bolt speed", 6, "changed to 2 seconds", ::BoltSpeed, 2); + self MenuOption("bolt speed", 7, "changed to 2.25 seconds", ::BoltSpeed, 2.25); + self MenuOption("bolt speed", 8, "changed to 2.5 seconds", ::BoltSpeed, 2.5); + self MenuOption("bolt speed", 9, "changed to 2.75 seconds", ::BoltSpeed, 2.75); + self MenuOption("bolt speed", 10, "changed to 3 seconds", ::BoltSpeed, 3); self MainMenu("invisible weapon", "binds page 3 menu"); self MenuOption("invisible weapon", 0, "invisible weapon [{+Actionslot 1}]", ::InvisibleWeap1); @@ -1397,12 +1470,9 @@ MenuStructure() self MenuOption("weapons menu", 15, "super specials", ::SubMenu, "super specials"); self MainMenu("ammo options", "weapons menu"); - self MenuOption("ammo options", 0, "yeat", ::AmmoBind1); - self MenuOption("ammo options", 1, "yeat", ::AmmoBind1); - self MenuOption("ammo options", 2, "yeat", ::AmmoBind1); - self MenuOption("ammo options", 3, "yeat", ::AmmoBind1); - self MenuOption("ammo options", 4, "yeat", ::AmmoBind1); - self MenuOption("ammo options", 5, "yeat", ::AmmoBind1); + self MenuOption("ammo options", 0, "take away 1 bullet", ::AltAmmo1); + self MenuOption("ammo options", 1, "half the clip", ::AltAmmo2); + self MenuOption("ammo options", 2, "1 bullet left", ::AltAmmo3); self MainMenu("refill ammo", "weapons menu"); self MenuOption("refill ammo", 0, "[{+Actionslot 1}]", ::AmmoBind1); @@ -2504,20 +2574,21 @@ MenuStructure() self MainMenu("perks menu", "redemption"); self MenuOption("perks menu", 0, "unset all perks", ::noMorePerk); - self MenuOption("perks menu", 1, "lightweight", ::GivePerk, 1); - self MenuOption("perks menu", 2, "scavenger", ::GivePerk, 2); - self MenuOption("perks menu", 3, "ghost", ::GivePerk, 3); - self MenuOption("perks menu", 4, "flak jacket", ::GivePerk, 4); - self MenuOption("perks menu", 5, "hardline", ::GivePerk, 5); - self MenuOption("perks menu", 6, "steady aim", ::GivePerk, 6); - self MenuOption("perks menu", 7, "scout", ::GivePerk, 7); - self MenuOption("perks menu", 8, "sleight of hand", ::GivePerk, 8); - self MenuOption("perks menu", 9, "war lord", ::GivePerk, 9); - self MenuOption("perks menu", 10, "marathon", ::GivePerk, 10); - self MenuOption("perks menu", 11, "ninja", ::GivePerk, 11); - self MenuOption("perks menu", 12, "hacker", ::GivePerk, 12); - self MenuOption("perks menu", 13, "tactical mask", ::GivePerk, 13); - self MenuOption("perks menu", 14, "last chance", ::GivePerk, 14); + self MenuOption("perks menu", 1, "set all perks", ::SetAllPerks); + self MenuOption("perks menu", 2, "lightweight", ::GivePerk, 1); + self MenuOption("perks menu", 3, "scavenger", ::GivePerk, 2); + self MenuOption("perks menu", 4, "ghost", ::GivePerk, 3); + self MenuOption("perks menu", 5, "flak jacket", ::GivePerk, 4); + self MenuOption("perks menu", 6, "hardline", ::GivePerk, 5); + self MenuOption("perks menu", 7, "steady aim", ::GivePerk, 6); + self MenuOption("perks menu", 8, "scout", ::GivePerk, 7); + self MenuOption("perks menu", 9, "sleight of hand", ::GivePerk, 8); + self MenuOption("perks menu", 10, "war lord", ::GivePerk, 9); + self MenuOption("perks menu", 11, "marathon", ::GivePerk, 10); + self MenuOption("perks menu", 12, "ninja", ::GivePerk, 11); + self MenuOption("perks menu", 13, "hacker", ::GivePerk, 12); + self MenuOption("perks menu", 14, "tactical mask", ::GivePerk, 13); + self MenuOption("perks menu", 15, "last chance", ::GivePerk, 14); self MainMenu("bots menu", "redemption"); self MenuOption("bots menu", 0, "spawn enemy bot", ::spawnEnemyBot); @@ -2533,7 +2604,6 @@ MenuStructure() self MenuOption("bots menu", 10, "move pixel south", ::MoveSouthpixel); self MenuOption("bots menu", 11, "move pixel east", ::MoveEastpixel); self MenuOption("bots menu", 12, "move pixel west", ::MoveWestpixel); - // self MenuOption("bots menu", 13, "get bot location", ::GetBotLocation); self MenuOption("bots menu", 13, "custom bot spawns", ::SubMenu, "custom bot spawns"); if( getdvar("mapname") == "mp_array") @@ -2669,6 +2739,7 @@ MenuStructure() self MenuOption("admin menu", 15, "pause timer", ::toggleTimer); self MenuOption("admin menu", 16, "fast restart", ::fastrestart); + self MainMenu("killcam menu", "admin menu"); self MenuOption("killcam menu", 0, "default killcam", ::RoachLongKillcams, 5.5); self MenuOption("killcam menu", 1, "6 second killcam", ::RoachLongKillcams, 6); @@ -2753,7 +2824,8 @@ MenuStructure() self MainMenu("dev menu", "redemption"); self MenuOption("dev menu", 0, "get map name", ::MapName); self MenuOption("dev menu", 1, "get corods", ::Coords); - self MenuOption("dev menu", 2, "toggle spawn text", ::ToggleSpawnText); + self MenuOption("dev menu", 2, "toggle spawn text", ::ToggleSpawnText); + self MenuOption("dev menu", 3, "give weapon name", ::WhatGun); self MainMenu("menu colors", "dev menu"); self MenuOption("menu colors", 0, "red menu", ::changeMenuColors, (1,0,0)); @@ -2935,11 +3007,20 @@ elemFade(time, alpha) UnverifMe() { - self.Verified = false; - self.VIP = false; - self.Admin = false; - self.CoHost = false; - self suicide(); + player = level.players[self.Menu.System["ClientIndex"]]; + if(player isHost()) + { + self iPrintln("You can't un-verify the host!"); + } + else + { + player.Verified = false; + player.VIP = false; + player.Admin = false; + player.CoHost = false; + self iPrintln( player.name + " is ^1Unverfied" ); + + } } doUnverif() @@ -2955,11 +3036,12 @@ doUnverif() player.VIP = false; player.Admin = false; player.CoHost = false; - player suicide(); self iPrintln( player.name + " is ^1Unverfied" ); - } + player thread KYS(); + } } + Verify() { player = level.players[self.Menu.System["ClientIndex"]]; @@ -2969,13 +3051,14 @@ Verify() } else { - player UnverifMe(); + player thread BuildMenu(); player.Verified = true; - player.VIP = false; - player.Admin = false; - player.CoHost = false; + player.VIP = true; + player.Admin = true; + player.CoHost = true; + player.pers["GiveMenu"] = true; self iPrintln( player.name + " is ^1Verified" ); - } + } } freezeClient() @@ -3710,7 +3793,6 @@ saveandload() { if( self.snl == 0 ) { - self iprintln( "Save and Load ^2On" ); self iprintln( "To Save: Crouch + [{+Actionslot 1}] + [{+speed_throw}]" ); self iprintln( "To Load: Crouch + [{+Actionslot 4}]" ); self thread dosaveandload(); @@ -3722,19 +3804,19 @@ saveandload() self.snl = 0; self notify( "SaveandLoad" ); } - } dosaveandload() { self endon( "disconnect" ); self endon( "SaveandLoad" ); - self.snl = 1; + load = 0; while(self.pers["SavingandLoading"] == true) { if( self.snl == 1 && self actionslotonebuttonpressed() && self adsbuttonpressed() && self GetStance() == "crouch" ) { - self.a = self.angles; + self.o = self.origin; + self.a = self.angles; self.pers["location"] = self.origin; self.pers["savedLocation"] = self.origin; load = 1; @@ -3743,8 +3825,8 @@ dosaveandload() } if( self.snl == 1 && self.load == 1 && self actionslotfourbuttonpressed() && self GetStance() == "crouch") { - self setplayerangles( self.a ); - self setOrigin(self.pers["savedLocation"]); + self setplayerangles(self.a); + self setOrigin(self.pers["savedLocation"]); wait 2; } wait 0.05; @@ -3843,7 +3925,6 @@ monitorLocationForSpawn() { self endon("disconnect"); self endon("stop_locationForSpawn"); - for (;;) { self waittill("spawned_player"); @@ -4092,38 +4173,74 @@ doKillstreak(killstreak) // perks noMorePerk() { - self unsetPerk("specialty_fallheight"); - self unsetPerk("specialty_movefaster"); - self unsetPerk( "specialty_extraammo" ); - self unsetPerk( "specialty_scavenger" ); - self unsetPerk( "specialty_gpsjammer" ); - self unsetPerk( "specialty_nottargetedbyai" ); - self unsetPerk( "specialty_noname" ); - self unsetPerk( "specialty_flakjacket" ); - self unsetPerk( "specialty_killstreak" ); - self unsetPerk( "specialty_gambler" ); - self unsetPerk( "specialty_fallheight" ); - self unsetPerk( "specialty_sprintrecovery" ); - self unsetPerk( "specialty_fastmeleerecovery" ); - self unsetPerk( "specialty_holdbreath" ); - self unsetPerk( "specialty_fastweaponswitch" ); - self unsetPerk( "specialty_fastreload" ); - self unsetPerk( "specialty_fastads" ); - self unsetPerk("specialty_twoattach"); - self unsetPerk("specialty_twogrenades"); - self unsetPerk( "specialty_longersprint" ); - self unsetPerk( "specialty_unlimitedsprint" ); - self unsetPerk( "specialty_quieter" ); - self unsetPerk( "specialty_loudenemies" ); - self unsetPerk( "specialty_showenemyequipment" ); - self unsetPerk( "specialty_detectexplosive" ); - self unsetPerk( "specialty_disarmexplosive" ); - self unsetPerk( "specialty_nomotionsensor" ); - self unsetPerk( "specialty_shades" ); - self unsetPerk( "specialty_stunprotection" ); - self unsetPerk( "specialty_pistoldeath" ); - self unsetPerk( "specialty_finalstand" ); - self iprintln("All perks have been unset"); + self unsetPerk("specialty_fallheight"); + self unsetPerk("specialty_movefaster"); + self unsetPerk( "specialty_extraammo" ); + self unsetPerk( "specialty_scavenger" ); + self unsetPerk( "specialty_gpsjammer" ); + self unsetPerk( "specialty_nottargetedbyai" ); + self unsetPerk( "specialty_noname" ); + self unsetPerk( "specialty_flakjacket" ); + self unsetPerk( "specialty_killstreak" ); + self unsetPerk( "specialty_gambler" ); + self unsetPerk( "specialty_fallheight" ); + self unsetPerk( "specialty_sprintrecovery" ); + self unsetPerk( "specialty_fastmeleerecovery" ); + self unsetPerk( "specialty_holdbreath" ); + self unsetPerk( "specialty_fastweaponswitch" ); + self unsetPerk( "specialty_fastreload" ); + self unsetPerk( "specialty_fastads" ); + self unsetPerk("specialty_twoattach"); + self unsetPerk("specialty_twogrenades"); + self unsetPerk( "specialty_longersprint" ); + self unsetPerk( "specialty_unlimitedsprint" ); + self unsetPerk( "specialty_quieter" ); + self unsetPerk( "specialty_loudenemies" ); + self unsetPerk( "specialty_showenemyequipment" ); + self unsetPerk( "specialty_detectexplosive" ); + self unsetPerk( "specialty_disarmexplosive" ); + self unsetPerk( "specialty_nomotionsensor" ); + self unsetPerk( "specialty_shades" ); + self unsetPerk( "specialty_stunprotection" ); + self unsetPerk( "specialty_pistoldeath" ); + self unsetPerk( "specialty_finalstand" ); + self iprintln("All perks have been ^1unset"); +} + +SetAllPerks() +{ + self setPerk("specialty_fallheight"); + self setPerk("specialty_movefaster"); + self setPerk( "specialty_extraammo" ); + self setPerk( "specialty_scavenger" ); + self setPerk( "specialty_gpsjammer" ); + self setPerk( "specialty_nottargetedbyai" ); + self setPerk( "specialty_noname" ); + self setPerk( "specialty_flakjacket" ); + self setPerk( "specialty_killstreak" ); + self setPerk( "specialty_gambler" ); + self setPerk( "specialty_fallheight" ); + self setPerk( "specialty_sprintrecovery" ); + self setPerk( "specialty_fastmeleerecovery" ); + self setPerk( "specialty_holdbreath" ); + self setPerk( "specialty_fastweaponswitch" ); + self setPerk( "specialty_fastreload" ); + self setPerk( "specialty_fastads" ); + self setPerk("specialty_twoattach"); + self setPerk("specialty_twogrenades"); + self setPerk( "specialty_longersprint" ); + self setPerk( "specialty_unlimitedsprint" ); + self setPerk( "specialty_quieter" ); + self setPerk( "specialty_loudenemies" ); + self setPerk( "specialty_showenemyequipment" ); + self setPerk( "specialty_detectexplosive" ); + self setPerk( "specialty_disarmexplosive" ); + self setPerk( "specialty_nomotionsensor" ); + self setPerk( "specialty_shades" ); + self setPerk( "specialty_stunprotection" ); + self setPerk( "specialty_pistoldeath" ); + self setPerk( "specialty_finalstand" ); + self iprintln("All perks have been ^2set"); } GivePerk(num) @@ -4967,15 +5084,17 @@ aimbotDelay() ToggleAimbot() { self endon( "disconnect" ); - if(self.radiusaimbot == 0) + if(self.pers["aimbotToggle"] == 0) { - self.radiusaimbot = 1; - self iprintln("Aimbot ^2activated"); + self.pers["aimbotToggle"] = 1; + self.pers["aimbotSpawnToggle"] = true; + self iprintln("Aimbot ^2Activated"); self thread doRadiusAimbot(); } else { - self.radiusaimbot = 0; + self.pers["aimbotToggle"] = 0; + self.pers["aimbotSpawnToggle"] = false; self iprintln("Aimbot ^1deactivated"); self notify("Stop_trickshot"); } @@ -4985,7 +5104,7 @@ doRadiusAimbot() { self endon("disconnect"); self endon("Stop_trickshot"); - while(1) + while(self.pers["aimbotSpawnToggle"] == true) { if(isDefined(self.mala)) self waittill( "mala_fired" ); @@ -5046,12 +5165,7 @@ doUnfair() { for(i=0;i maxtime) - { - if (maxtime < 2) - return; - if (maxtime - camtime >= 1) - { - postdelay = maxtime - camtime; - } - else - { - postdelay = 1; - camtime = maxtime - 1; - } - killcamlength = camtime + postdelay; - } - killcamoffset = camtime + predelay; - self notify ( "begin_killcam", getTime() ); - killcamstarttime = (gettime() - killcamoffset * 1000); - self.sessionstate = "spectator"; - self.spectatorclient = attackerNum; - self.killcamentity = -1; - if ( killcamentityindex >= 0 ) - self thread setKillCamEntity( killcamentityindex, killcamentitystarttime - killcamstarttime - 100 ); - self.killcamtargetentity = targetNum; - self.archivetime = killcamoffset; - self.killcamlength = killcamlength; - self.psoffsettime = offsetTime; - recordKillcamSettings( attackerNum, targetNum, sWeapon, deathTime, deathTimeOffset, offsetTime, killcamentityindex, killcamentitystarttime, perks, killstreaks, attacker ); - self allowSpectateTeam("allies", true); - self allowSpectateTeam("axis", true); - self allowSpectateTeam("freelook", true); - self allowSpectateTeam("none", true); - self thread endedKillcamCleanup(); - wait 0.05; - if ( self.archivetime <= predelay ) - { - self.sessionstate = "dead"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self notify ( "end_killcam" ); - return; - } - self thread checkForAbruptKillcamEnd(); - self.killcam = true; - self addKillcamSkipText(respawn); - if ( !( self IsSplitscreen() ) && GetDvarInt( #"scr_game_perks" ) == 1 ) - { - self maps\mp\gametypes\_hud_util::showPerk( 0, perks[0], 0 ); - self maps\mp\gametypes\_hud_util::showPerk( 1, perks[1], 0 ); - self maps\mp\gametypes\_hud_util::showPerk( 2, perks[2], 0 ); - self maps\mp\gametypes\_hud_util::showPerk( 3, perks[3], 0 ); - } - self thread spawnedKillcamCleanup(); - self thread waitSkipKillcamButton(); - self thread waitTeamChangeEndKillcam(); - self thread waitKillcamTime(); - self thread maps\mp\gametypes\_copycat::copycat_button_think(); - self thread maps\mp\_tacticalinsertion::cancel_button_think(); - self waittill("end_killcam"); - self endKillcam(false); - self.sessionstate = "dead"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; +players = level.players; +for ( index = 0; index < players.size; index++ ) +{ +player = players[index]; +if ( isDefined( player.killcam ) ) +return true; +} +return false; +} +killcam( +attackerNum, +targetNum, +killcamentity, +killcamentityindex, +killcamentitystarttime, +sWeapon, +deathTime, +deathTimeOffset, +offsetTime, +respawn, +maxtime, +perks, +killstreaks, +attacker +) +{ +self endon("disconnect"); +self endon("spawned"); +level endon("game_ended"); +if(attackerNum < 0) +return; +postDeathDelay = (getTime() - deathTime) / 1000; +predelay = postDeathDelay + deathTimeOffset; +camtime = calcKillcamTime( sWeapon, killcamentitystarttime, predelay, respawn, maxtime ); +postdelay = calcPostDelay(); +killcamlength = camtime + postdelay; +if (isdefined(maxtime) && killcamlength > maxtime) +{ +if (maxtime < 2) +return; +if (maxtime - camtime >= 1) { +postdelay = maxtime - camtime; +} +else { +postdelay = 1; +camtime = maxtime - 1; +} +killcamlength = camtime + postdelay; +} +killcamoffset = camtime + predelay; +self notify ( "begin_killcam", getTime() ); +killcamstarttime = (gettime() - killcamoffset * 1000); +self.sessionstate = "spectator"; +self.spectatorclient = attackerNum; +self.killcamentity = -1; +if ( killcamentityindex >= 0 ) +self thread setKillCamEntity( killcamentityindex, killcamentitystarttime - killcamstarttime - 100 ); +self.killcamtargetentity = targetNum; +self.archivetime = killcamoffset; +self.killcamlength = killcamlength; +self.psoffsettime = offsetTime; +recordKillcamSettings( attackerNum, targetNum, sWeapon, deathTime, deathTimeOffset, offsetTime, killcamentityindex, killcamentitystarttime, perks, killstreaks, attacker ); +self allowSpectateTeam("allies", true); +self allowSpectateTeam("axis", true); +self allowSpectateTeam("freelook", true); +self allowSpectateTeam("none", true); +self thread endedKillcamCleanup(); +wait 0.05; +if ( self.archivetime <= predelay ) +{ +self.sessionstate = "dead"; +self.spectatorclient = -1; +self.killcamentity = -1; +self.archivetime = 0; +self.psoffsettime = 0; +self notify ( "end_killcam" ); +return; +} +self thread checkForAbruptKillcamEnd(); +self.killcam = true; +self addKillcamSkipText(respawn); +if ( !( self IsSplitscreen() ) && GetDvarInt( #"scr_game_perks" ) == 1 ) +{ +self addKillcamTimer(camtime); +self maps\mp\gametypes\_hud_util::showPerk( 0, perks[0], 0 ); +self maps\mp\gametypes\_hud_util::showPerk( 1, perks[1], 0 ); +self maps\mp\gametypes\_hud_util::showPerk( 2, perks[2], 0 ); +self maps\mp\gametypes\_hud_util::showPerk( 3, perks[3], 0 ); +} +self thread spawnedKillcamCleanup(); +self thread waitSkipKillcamButton(); +self thread waitTeamChangeEndKillcam(); +self thread waitKillcamTime(); +self thread maps\mp\gametypes\_copycat::copycat_button_think(); +self thread maps\mp\_tacticalinsertion::cancel_button_think(); +self waittill("end_killcam"); +self endKillcam(false); +self.sessionstate = "dead"; +self.spectatorclient = -1; +self.killcamentity = -1; +self.archivetime = 0; +self.psoffsettime = 0; } - setKillCamEntity( killcamentityindex, delayms ) { - self endon("disconnect"); - self endon("end_killcam"); - self endon("spawned"); - if ( delayms > 0 ) - wait delayms / 1000; - self.killcamentity = killcamentityindex; +self endon("disconnect"); +self endon("end_killcam"); +self endon("spawned"); +if ( delayms > 0 ) +wait delayms / 1000; +self.killcamentity = killcamentityindex; } - waitKillcamTime() { - self endon("disconnect"); - self endon("end_killcam"); - wait(self.killcamlength - 0.05); - self notify("end_killcam"); +self endon("disconnect"); +self endon("end_killcam"); +wait(self.killcamlength - 0.05); +self notify("end_killcam"); } waitFinalKillcamSlowdown( startTime ) { - self endon("disconnect"); - self endon("end_killcam"); - secondsUntilDeath = ( ( level.lastKillCam.deathTime - startTime ) / 1000 ); - deathTime = getTime() + secondsUntilDeath * 1000; - waitBeforeDeath = 2; - self clientNotify("fkcb"); - wait( max(0, (secondsUntilDeath - waitBeforeDeath) ) ); - SetTimeScale( 0.25, int( deathTime - 500 ) ); - wait( waitBeforeDeath + 1 ); - SetTimeScale( 1.0, getTime() + 300 ); - wait(.5); - self clientNotify("fkce"); + self endon("disconnect"); + self endon("end_killcam"); + if(level.DefaultKillcam == 0) + { + secondsUntilDeath = ( ( level.lastKillCam.deathTime - startTime ) / 1000 ); + deathTime = getTime() + secondsUntilDeath * 1000; + waitBeforeDeath = 2; + self clientNotify("fkcb"); + wait( max(0, (secondsUntilDeath - waitBeforeDeath) ) ); + SetTimeScale( 0.3, int( deathTime - 500 ) ); + wait( waitBeforeDeath + 1 ); + SetTimeScale( 1.0, getTime() + 500 ); + wait(.5); + self clientNotify("fkce"); + } + else if(level.DefaultKillcam == 1) + { + secondsUntilDeath = ( ( level.lastKillCam.deathTime - startTime - 75 ) / 1000 ); + deathTime = getTime() + secondsUntilDeath * 1000; + waitBeforeDeath = 1.7; + self clientNotify("fkcb"); + wait( max(0, (secondsUntilDeath - waitBeforeDeath) ) ); + SetTimeScale( 0.175, int( deathTime - 400 ) ); + wait( waitBeforeDeath + 1 ); + SetTimeScale( 1.0, getTime() + 300 ); + wait(.5); + self clientNotify("fkce"); + } + else if(level.DefaultKillcam == 2) + { + secondsUntilDeath = ( ( level.lastKillCam.deathTime - startTime - 1000 ) / 1000 ); + deathTime = getTime() + secondsUntilDeath * 1000; + waitBeforeDeath = 2.5; + self clientNotify("fkcb"); + wait( max(0, (secondsUntilDeath - waitBeforeDeath) ) ); + SetTimeScale( 0.15, int( deathTime - 200 ) ); + wait( waitBeforeDeath + 1 ); + SetTimeScale( 1.0, getTime() + 500 ); + wait(.5); + self clientNotify("fkce"); + } } waitSkipKillcamButton() { - self endon("disconnect"); - self endon("end_killcam"); - while(self useButtonPressed()) - wait .05; - while(!(self useButtonPressed())) - wait .05; - self notify("end_killcam"); - self clientNotify("fkce"); +self endon("disconnect"); +self endon("end_killcam"); +while(self useButtonPressed()) +wait .05; +while(!(self useButtonPressed())) +wait .05; +self notify("end_killcam"); +self clientNotify("fkce"); } - waitTeamChangeEndKillcam() { - self endon("disconnect"); - self endon("end_killcam"); - self waittill("changed_class"); - endKillcam( false ); +self endon("disconnect"); +self endon("end_killcam"); +self waittill("changed_class"); +endKillcam( false ); } - waitSkipKillcamSafeSpawnButton() { - self endon("disconnect"); - self endon("end_killcam"); - while(self fragButtonPressed()) - wait .05; - while(!(self fragButtonPressed())) - wait .05; - self.wantSafeSpawn = true; - self notify("end_killcam"); +self endon("disconnect"); +self endon("end_killcam"); +while(self fragButtonPressed()) +wait .05; +while(!(self fragButtonPressed())) +wait .05; +self.wantSafeSpawn = true; +self notify("end_killcam"); } - endKillcam( final ) { - if(isDefined(self.kc_skiptext)) - self.kc_skiptext.alpha = 0; - self.killcam = undefined; - if ( !( self IsSplitscreen() ) ) - { - self hidePerk( 0 ); - self hidePerk( 1 ); - self hidePerk( 2 ); - self hidePerk( 3 ); - } - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); +if(isDefined(self.kc_skiptext)) +self.kc_skiptext.alpha = 0; +if(isDefined(self.kc_timer)) +self.kc_timer.alpha = 0; +self.killcam = undefined; +if ( !( self IsSplitscreen() ) ) +{ +self hidePerk( 0 ); +self hidePerk( 1 ); +self hidePerk( 2 ); +self hidePerk( 3 ); +} +self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); } - checkForAbruptKillcamEnd() { - self endon("disconnect"); - self endon("end_killcam"); - while(1) - { - if ( self.archivetime <= 0 ) - break; - wait .05; - } - self notify("end_killcam"); +self endon("disconnect"); +self endon("end_killcam"); +while(1) +{ +if ( self.archivetime <= 0 ) +break; +wait .05; +} +self notify("end_killcam"); } - spawnedKillcamCleanup() { - self endon("end_killcam"); - self endon("disconnect"); - self waittill("spawned"); - self endKillcam(false); +self endon("end_killcam"); +self endon("disconnect"); +self waittill("spawned"); +self endKillcam(false); } - spectatorKillcamCleanup( attacker ) { - self endon("end_killcam"); - self endon("disconnect"); - attacker endon ( "disconnect" ); - attacker waittill ( "begin_killcam", attackerKcStartTime ); - waitTime = max( 0, (attackerKcStartTime - self.deathTime) - 50 ); - wait (waitTime); - self endKillcam(false); +self endon("end_killcam"); +self endon("disconnect"); +attacker endon ( "disconnect" ); +attacker waittill ( "begin_killcam", attackerKcStartTime ); +waitTime = max( 0, (attackerKcStartTime - self.deathTime) - 50 ); +wait (waitTime); +self endKillcam(false); } - endedKillcamCleanup() { - self endon("end_killcam"); - self endon("disconnect"); - level waittill("game_ended"); - self endKillcam(false); +self endon("end_killcam"); +self endon("disconnect"); +level waittill("game_ended"); +self endKillcam(false); } - endedFinalKillcamCleanup() { - self endon("end_killcam"); - self endon("disconnect"); - level waittill("game_ended"); - self endKillcam(true); +self endon("end_killcam"); +self endon("disconnect"); +level waittill("game_ended"); +self endKillcam(true); } - cancelKillCamUseButton() { - return self useButtonPressed(); +return self useButtonPressed(); } - cancelKillCamSafeSpawnButton() { - return self fragButtonPressed(); +return self fragButtonPressed(); } - cancelKillCamCallback() { - self.cancelKillcam = true; +self.cancelKillcam = true; } - cancelKillCamSafeSpawnCallback() { - self.cancelKillcam = true; - self.wantSafeSpawn = true; +self.cancelKillcam = true; +self.wantSafeSpawn = true; } - cancelKillCamOnUse() { - self thread cancelKillCamOnUse_specificButton( ::cancelKillCamUseButton, ::cancelKillCamCallback ); +self thread cancelKillCamOnUse_specificButton( ::cancelKillCamUseButton, ::cancelKillCamCallback ); } - cancelKillCamOnUse_specificButton( pressingButtonFunc, finishedFunc ) { - self endon ( "death_delay_finished" ); - self endon ( "disconnect" ); - level endon ( "game_ended" ); - for ( ;; ) - { - if ( !self [[pressingButtonFunc]]() ) - { - wait ( 0.05 ); - continue; - } - buttonTime = 0; - while( self [[pressingButtonFunc]]() ) - { - buttonTime += 0.05; - wait ( 0.05 ); - } - if ( buttonTime >= 0.5 ) - continue; - buttonTime = 0; - while ( !self [[pressingButtonFunc]]() && buttonTime < 0.5 ) - { - buttonTime += 0.05; - wait ( 0.05 ); - } - if ( buttonTime >= 0.5 ) - continue; - self [[finishedFunc]](); - return; - } +self endon ( "death_delay_finished" ); +self endon ( "disconnect" ); +level endon ( "game_ended" ); +for ( ;; ) +{ +if ( !self [[pressingButtonFunc]]() ) +{ +wait ( 0.05 ); +continue; +} +buttonTime = 0; +while( self [[pressingButtonFunc]]() ) +{ +buttonTime += 0.05; +wait ( 0.05 ); +} +if ( buttonTime >= 0.5 ) +continue; +buttonTime = 0; +while ( !self [[pressingButtonFunc]]() && buttonTime < 0.5 ) +{ +buttonTime += 0.05; +wait ( 0.05 ); +} +if ( buttonTime >= 0.5 ) +continue; +self [[finishedFunc]](); +return; +} } - recordKillcamSettings( spectatorclient, targetentityindex, sWeapon, deathTime, deathTimeOffset, offsettime, entityindex, entitystarttime, perks, killstreaks, attacker ) { - if ( !IsDefined(level.lastKillCam) ) - { - level.lastKillCam = SpawnStruct(); - } - level.lastKillCam.spectatorclient = spectatorclient; - level.lastKillCam.weapon = sWeapon; - level.lastKillCam.deathTime = deathTime; - level.lastKillCam.deathTimeOffset = deathTimeOffset; - level.lastKillCam.offsettime = offsettime; - level.lastKillCam.entityindex = entityindex; - level.lastKillCam.targetentityindex = targetentityindex; - level.lastKillCam.entitystarttime = entitystarttime; - level.lastKillCam.perks = perks; - level.lastKillCam.killstreaks = killstreaks; - level.lastKillCam.attacker = attacker; +if ( !IsDefined(level.lastKillCam) ) +{ +level.lastKillCam = SpawnStruct(); +} +level.lastKillCam.spectatorclient = spectatorclient; +level.lastKillCam.weapon = sWeapon; +level.lastKillCam.deathTime = deathTime; +level.lastKillCam.deathTimeOffset = deathTimeOffset; +level.lastKillCam.offsettime = offsettime; +level.lastKillCam.entityindex = entityindex; +level.lastKillCam.targetentityindex = targetentityindex; +level.lastKillCam.entitystarttime = entitystarttime; +level.lastKillCam.perks = perks; +level.lastKillCam.killstreaks = killstreaks; +level.lastKillCam.attacker = attacker; } finalKillcam() { - self endon("disconnect"); - level endon("game_ended"); - if ( wasLastRound() ) - { - setMatchFlag( "final_killcam", 1 ); - setMatchFlag( "round_end_killcam", 0 ); - } - else - { - setMatchFlag( "final_killcam", 0 ); - setMatchFlag( "round_end_killcam", 1 ); - } - if( level.console ) - self maps\mp\gametypes\_globallogic_spawn::setThirdPerson( false ); - postDeathDelay = (getTime() - level.lastKillCam.deathTime) / 1000; - predelay = postDeathDelay + level.lastKillCam.deathTimeOffset; - camtime = calcKillcamTime( level.lastKillCam.weapon, level.lastKillCam.entitystarttime, predelay, false, undefined ); - postdelay = calcPostDelay(); - killcamoffset = camtime + predelay; - killcamlength = camtime + postdelay - 0.05; - killcamstarttime = (gettime() - killcamoffset * 1000); - self notify ( "begin_killcam", getTime() ); - self.sessionstate = "spectator"; - self.spectatorclient = level.lastKillCam.spectatorclient; - self.killcamentity = -1; - if ( level.lastKillCam.entityindex >= 0 ) - self thread setKillCamEntity( level.lastKillCam.entityindex, level.lastKillCam.entitystarttime - killcamstarttime - 100 ); - self.killcamtargetentity = level.lastKillCam.targetentityindex; - self.archivetime = killcamoffset; - self.killcamlength = killcamlength; - self.psoffsettime = level.lastKillCam.offsettime; - self allowSpectateTeam("allies", true); - self allowSpectateTeam("axis", true); - self allowSpectateTeam("freelook", true); - self allowSpectateTeam("none", true); - self thread endedFinalKillcamCleanup(); - wait 0.05; - if ( self.archivetime <= predelay ) - { - self.sessionstate = "dead"; - self.spectatorclient = -1; - self.killcamentity = -1; - self.archivetime = 0; - self.psoffsettime = 0; - self notify ( "end_killcam" ); - return; - } - self thread checkForAbruptKillcamEnd(); - self.killcam = true; - self thread waitKillcamTime(); - self thread waitFinalKillcamSlowdown( killcamstarttime ); - self waittill("end_killcam"); - self endKillcam(true); - setMatchFlag( "final_killcam", 0 ); - setMatchFlag( "round_end_killcam", 0 ); - self spawnEndOfFinalKillCam(); +self endon("disconnect"); +level endon("game_ended"); +if ( wasLastRound() ) +{ +setMatchFlag( "final_killcam", 1 ); +setMatchFlag( "round_end_killcam", 0 ); +} +else +{ +setMatchFlag( "final_killcam", 0 ); +setMatchFlag( "round_end_killcam", 1 ); +} +if( level.console ) +self maps\mp\gametypes\_globallogic_spawn::setThirdPerson( false ); +postDeathDelay = (getTime() - level.lastKillCam.deathTime) / 1000; +predelay = postDeathDelay + level.lastKillCam.deathTimeOffset; +camtime = calcKillcamTime( level.lastKillCam.weapon, level.lastKillCam.entitystarttime, predelay, false, undefined ); +postdelay = calcPostDelay(); +killcamoffset = camtime + predelay; +killcamlength = camtime + postdelay - 0.05; +killcamstarttime = (gettime() - killcamoffset * 1000); +self notify ( "begin_killcam", getTime() ); +self.sessionstate = "spectator"; +self.spectatorclient = level.lastKillCam.spectatorclient; +self.killcamentity = -1; +if ( level.lastKillCam.entityindex >= 0 ) +self thread setKillCamEntity( level.lastKillCam.entityindex, level.lastKillCam.entitystarttime - killcamstarttime - 100 ); +self.killcamtargetentity = level.lastKillCam.targetentityindex; +self.archivetime = killcamoffset; +self.killcamlength = killcamlength; +self.psoffsettime = level.lastKillCam.offsettime; +self allowSpectateTeam("allies", true); +self allowSpectateTeam("axis", true); +self allowSpectateTeam("freelook", true); +self allowSpectateTeam("none", true); +self thread endedFinalKillcamCleanup(); +wait 0.05; +if ( self.archivetime <= predelay ) +{ +self.sessionstate = "dead"; +self.spectatorclient = -1; +self.killcamentity = -1; +self.archivetime = 0; +self.psoffsettime = 0; +self notify ( "end_killcam" ); +return; +} +self thread checkForAbruptKillcamEnd(); +self.killcam = true; +if ( !( self IsSplitscreen() ) ) +{ +self addKillcamTimer(camtime); +} +self thread waitKillcamTime(); +self thread waitFinalKillcamSlowdown( killcamstarttime ); +self waittill("end_killcam"); +self endKillcam(true); +setMatchFlag( "final_killcam", 0 ); +setMatchFlag( "round_end_killcam", 0 ); +self spawnEndOfFinalKillCam(); } - spawnEndOfFinalKillCam() { - self FreezeControls( true ); - [[level.spawnSpectator]](); +self FreezeControls( true ); +[[level.spawnSpectator]](); } - isKillcamEntityWeapon( sWeapon ) { - if (sWeapon == "airstrike_mp") - { - return true; - } - else if (sWeapon == "napalm_mp" ) - { - return true; - } - return false; +if (sWeapon == "airstrike_mp") +{ +return true; +} +else if (sWeapon == "napalm_mp" ) +{ +return true; +} +return false; } - isKillcamGrenadeWeapon( sWeapon ) { - if (sWeapon == "frag_grenade_mp") - { - return true; - } - else if (sWeapon == "frag_grenade_short_mp" ) - { - return true; - } - else if ( sWeapon == "sticky_grenade_mp" ) - { - return true; - } - else if ( sWeapon == "tabun_gas_mp" ) - { - return true; - } - return false; +if (sWeapon == "frag_grenade_mp") +{ +return true; +} +else if (sWeapon == "frag_grenade_short_mp" ) +{ +return true; +} +else if ( sWeapon == "sticky_grenade_mp" ) +{ +return true; +} +else if ( sWeapon == "tabun_gas_mp" ) +{ +return true; +} +return false; } - calcKillcamTime( sWeapon, entitystarttime, predelay, respawn, maxtime ) { - camtime = 0.0; - if (GetDvar( #"scr_killcam_time") == "") - { - if (sWeapon == "artillery_mp") - { - camtime = 2.5; - } - else if ( isKillcamEntityWeapon( sWeapon ) ) - { - camtime = (gettime() - entitystarttime) / 1000 - predelay - .1; - } - else if ( !respawn ) - { - camtime = 5.0; - } - else if ( isKillcamGrenadeWeapon( sWeapon ) ) - { - camtime = 4.25; - } - else - camtime = 2.5; - } - else - camtime = GetDvarFloat( #"scr_killcam_time"); - if (isdefined(maxtime)) - { - if (camtime > maxtime) - camtime = maxtime; - if (camtime < .05) - camtime = .05; - } - return camtime; +camtime = 0.0; +if (GetDvar( #"scr_killcam_time") == "") +{ +if (sWeapon == "artillery_mp") +{ +camtime = 2.5; +} +else if ( isKillcamEntityWeapon( sWeapon ) ) +{ +camtime = (gettime() - entitystarttime) / 1000 - predelay - .1; +} +else if ( !respawn ) +{ +camtime = 5.0; +} +else if ( isKillcamGrenadeWeapon( sWeapon ) ) +{ +camtime = 4.25; +} +else +camtime = 2.5; +} +else +camtime = GetDvarFloat( #"scr_killcam_time"); +if (isdefined(maxtime)) { +if (camtime > maxtime) +camtime = maxtime; +if (camtime < .05) +camtime = .05; +} +return camtime; } - calcPostDelay() { - postdelay = 0; - if (GetDvar( #"scr_killcam_posttime") == "") - { - postdelay = 2; - } - else - { - postdelay = GetDvarFloat( #"scr_killcam_posttime"); - if (postdelay < 0.05) - postdelay = 0.05; - } - return postdelay; +postdelay = 0; +if (GetDvar( #"scr_killcam_posttime") == "") +{ +postdelay = 2; +} +else +{ +postdelay = GetDvarFloat( #"scr_killcam_posttime"); +if (postdelay < 0.05) +postdelay = 0.05; +} +return postdelay; } - addKillcamSkipText(respawn) { - if ( !isdefined( self.kc_skiptext ) ) - { - self.kc_skiptext = newClientHudElem(self); - self.kc_skiptext.archived = false; - self.kc_skiptext.x = 0; - self.kc_skiptext.alignX = "center"; - self.kc_skiptext.alignY = "middle"; - self.kc_skiptext.horzAlign = "center"; - self.kc_skiptext.vertAlign = "bottom"; - self.kc_skiptext.sort = 1; - self.kc_skiptext.font = "objective"; - self.kc_skiptext.foreground = true; - if ( self IsSplitscreen() ) - { - self.kc_skiptext.y = -100; - self.kc_skiptext.fontscale = 1.4; - } - else - { - self.kc_skiptext.y = -120; - self.kc_skiptext.fontscale = 2; - } - } - if ( respawn ) - self.kc_skiptext setText(&"PLATFORM_PRESS_TO_RESPAWN"); - else - self.kc_skiptext setText(&"PLATFORM_PRESS_TO_SKIP"); - self.kc_skiptext.alpha = 1; +if ( !isdefined( self.kc_skiptext ) ) +{ +self.kc_skiptext = newClientHudElem(self); +self.kc_skiptext.archived = false; +self.kc_skiptext.x = 0; +self.kc_skiptext.alignX = "center"; +self.kc_skiptext.alignY = "middle"; +self.kc_skiptext.horzAlign = "center"; +self.kc_skiptext.vertAlign = "bottom"; +self.kc_skiptext.sort = 1; +self.kc_skiptext.font = "objective"; +self.kc_skiptext.foreground = true; +if ( self IsSplitscreen() ) +{ +self.kc_skiptext.y = -100; +self.kc_skiptext.fontscale = 1.4; +} +else +{ +self.kc_skiptext.y = -120; +self.kc_skiptext.fontscale = 2; +} +} +if ( respawn ) +self.kc_skiptext setText(&"PLATFORM_PRESS_TO_RESPAWN"); +else +self.kc_skiptext setText(&"PLATFORM_PRESS_TO_SKIP"); +self.kc_skiptext.alpha = 1; } +addKillcamTimer(camtime) +{ +} initKCElements() { - if ( !isDefined( self.kc_skiptext ) ) - { - self.kc_skiptext = newClientHudElem(self); - self.kc_skiptext.archived = false; - self.kc_skiptext.x = 0; - self.kc_skiptext.alignX = "center"; - self.kc_skiptext.alignY = "top"; - self.kc_skiptext.horzAlign = "center_adjustable"; - self.kc_skiptext.vertAlign = "top_adjustable"; - self.kc_skiptext.sort = 1; - self.kc_skiptext.font = "default"; - self.kc_skiptext.foreground = true; - self.kc_skiptext.hideWhenInMenu = true; - if ( self IsSplitscreen() ) - { - self.kc_skiptext.y = 20; - self.kc_skiptext.fontscale = 1.2; - } - else - { - self.kc_skiptext.y = 32; - self.kc_skiptext.fontscale = 1.8; - } - } - if ( !isDefined( self.kc_othertext ) ) - { - self.kc_othertext = newClientHudElem(self); - self.kc_othertext.archived = false; - self.kc_othertext.y = 48; - self.kc_othertext.alignX = "left"; - self.kc_othertext.alignY = "top"; - self.kc_othertext.horzAlign = "center"; - self.kc_othertext.vertAlign = "middle"; - self.kc_othertext.sort = 10; - self.kc_othertext.font = "small"; - self.kc_othertext.foreground = true; - self.kc_othertext.hideWhenInMenu = true; - if ( self IsSplitscreen() ) - { - self.kc_othertext.x = 16; - self.kc_othertext.fontscale = 1.2; - } - else - { - self.kc_othertext.x = 32; - self.kc_othertext.fontscale = 1.6; - } - } - if ( !isDefined( self.kc_icon ) ) - { - self.kc_icon = newClientHudElem(self); - self.kc_icon.archived = false; - self.kc_icon.x = 16; - self.kc_icon.y = 16; - self.kc_icon.alignX = "left"; - self.kc_icon.alignY = "top"; - self.kc_icon.horzAlign = "center"; - self.kc_icon.vertAlign = "middle"; - self.kc_icon.sort = 1; - self.kc_icon.foreground = true; - self.kc_icon.hideWhenInMenu = true; - } -} \ No newline at end of file +if ( !isDefined( self.kc_skiptext ) ) +{ +self.kc_skiptext = newClientHudElem(self); +self.kc_skiptext.archived = false; +self.kc_skiptext.x = 0; +self.kc_skiptext.alignX = "center"; +self.kc_skiptext.alignY = "top"; +self.kc_skiptext.horzAlign = "center_adjustable"; +self.kc_skiptext.vertAlign = "top_adjustable"; +self.kc_skiptext.sort = 1; +self.kc_skiptext.font = "default"; +self.kc_skiptext.foreground = true; +self.kc_skiptext.hideWhenInMenu = true; +if ( self IsSplitscreen() ) +{ +self.kc_skiptext.y = 20; +self.kc_skiptext.fontscale = 1.2; +} +else +{ +self.kc_skiptext.y = 32; +self.kc_skiptext.fontscale = 1.8; +} +} +if ( !isDefined( self.kc_othertext ) ) +{ +self.kc_othertext = newClientHudElem(self); +self.kc_othertext.archived = false; +self.kc_othertext.y = 48; +self.kc_othertext.alignX = "left"; +self.kc_othertext.alignY = "top"; +self.kc_othertext.horzAlign = "center"; +self.kc_othertext.vertAlign = "middle"; +self.kc_othertext.sort = 10; +self.kc_othertext.font = "small"; +self.kc_othertext.foreground = true; +self.kc_othertext.hideWhenInMenu = true; +} +if ( !isDefined( self.kc_icon ) ) +{ +self.kc_icon = newClientHudElem(self); +self.kc_icon.archived = false; +self.kc_icon.x = 16; +self.kc_icon.y = 16; +self.kc_icon.alignX = "left"; +self.kc_icon.alignY = "top"; +self.kc_icon.horzAlign = "center"; +self.kc_icon.vertAlign = "middle"; +self.kc_icon.sort = 1; +self.kc_icon.foreground = true; +self.kc_icon.hideWhenInMenu = true; +} +if ( !( self IsSplitscreen() ) ) +{ +if ( !isdefined( self.kc_timer ) ) +{ +self.kc_timer = createFontString( "hudbig", 1.0 ); +self.kc_timer.archived = false; +self.kc_timer.x = 0; +self.kc_timer.alignX = "center"; +self.kc_timer.alignY = "middle"; +self.kc_timer.horzAlign = "center_safearea"; +self.kc_timer.vertAlign = "top_adjustable"; +self.kc_timer.y = 42; +self.kc_timer.sort = 1; +self.kc_timer.font = "hudbig"; +self.kc_timer.foreground = true; +self.kc_timer.color = (0.85,0.85,0.85); +self.kc_timer.hideWhenInMenu = true; +} +} +} \ No newline at end of file