From 36dceee5843bbb6eae307c9303b6543b0ebcddd4 Mon Sep 17 00:00:00 2001 From: Cahz Date: Sat, 8 Aug 2020 09:26:50 -0700 Subject: [PATCH] Delete functions.gsc --- CAHZ FFA SERVER STUFFS/functions.gsc | 2033 -------------------------- 1 file changed, 2033 deletions(-) delete mode 100644 CAHZ FFA SERVER STUFFS/functions.gsc diff --git a/CAHZ FFA SERVER STUFFS/functions.gsc b/CAHZ FFA SERVER STUFFS/functions.gsc deleted file mode 100644 index ad6c3e0..0000000 --- a/CAHZ FFA SERVER STUFFS/functions.gsc +++ /dev/null @@ -1,2033 +0,0 @@ -//functions// - -goToSpectator() -{ - self allowSpectateTeam( "freelook", true ); - self.sessionstate = "spectator"; - self.statusicon = "hud_status_dead"; - self thread maps\mp\gametypes\_spectating::setSpectatePermissions(); - level thread maps\mp\gametypes\_globallogic::updateteamstatus(); -} - -resetDvars() -{ - level endon("dvars_reset"); - level waittill("game_ended"); - - for(;;) - { - setDvar("jump_ladderPushVel",128); - setDvar("bg_ladder_yawcap",100); - setDvar("bg_prone_yawcap",85); - wait 0.1; - level notify("dvars_reset"); - } -} - -recountBots() -{ - level.numberOfBots = 0; - foreach(player in level.players) - { - if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) - level.numberOfBots += 1; - } -} - -doQuickLast() -{ - self endon("disconnect"); - self endon("last_notifify"); - level endon("game_ended"); - for(;;) - { - if(!isDefined(self.tutorial)) - { - if(self.pointstowin == level.scorelimit - 1) - { - wait 3; - self notify("last_notifify"); - } - if((level.players.size - level.numberOfBots) < 5) - { - self iprintln("^5Fast last given for a small lobby!"); - self thread fastlast(); - wait 3; - self notify("last_notifify"); - } - if((level.players.size - level.numberOfBots) >= 5) - { - if((level.players.size - level.numberOfBots) <= (level.playersAtLast + 3)) - { - self iprintln("^5Fast Last given because most players are at last!"); - self thread fastlast(); - wait 3; - self notify("last_notifify"); - } - } - } - wait 0.05; - } -} - -countcooldown() -{ - self endon("disconnect"); - self endon("docount"); - level endon("game_ended"); - for(;;) - { - if(self.pointstowin == level.scorelimit - 1) - { - level.playersAtLast += 1; - wait 0.05; - self notify("docount"); - } - wait 0.05; - } -} - -lastcooldown() -{ - self endon("disconnect"); - self endon("lastnotifify"); - level endon("game_ended"); - for(;;) - { - if(self.pointstowin == level.scorelimit - 1) - { - maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 9999); - self iprintlnbold("^1You are at last! ^5Waiting for cooldown..."); - self freezecontrols(true); - self setBlur( 4, 0 ); - wait 2.25; - self setBlur( 0, 0 ); - self freezecontrols(false); - self notify("lastnotifify"); - } - wait 0.05; - } -} - -Callback_PlayerDamageHook( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, timeoffset, boneindex ) -{ - self endon( "disconnect" ); - self endon( "floaters_over" ); - - OnGround = eattacker IsOnGround(); - OnLast = (level.scorelimit - eattacker.pers["pointstowin"]) == 1; - IsClose = Distance( self.origin, eattacker.origin ) < 500; - meterdist = int( Distance( self.origin, eattacker.origin ) / 39.37 ); - - if( smeansofdeath != "MOD_TRIGGER_HURT" && smeansofdeath != "MOD_FALLING" && smeansofdeath != "MOD_SUICIDE" ) - { - if( isDefined(eattacker.dontkill) ) - self.health += idamage; - else if( OnLast && !OnGround && isDefined(eattacker.customweapon) && IsSubStr( sweapon, self.customweapon ) && meterdist > 15 ) - idamage = 10000000; - else if( smeansofdeath == "MOD_MELEE" || IsSubStr( sweapon, "+gl" )) - self.health += idamage; - else if( einflictor != eattacker && sweapon == "hatchet_mp" && !IsClose ) - self.health += idamage; - else if( einflictor != eattacker && sweapon == "knife_ballistic_mp" && !IsClose ) - self.health += idamage; - else if( OnLast && OnGround ) - self.health += idamage; - else if( !OnLast && IsSubStr( sweapon, "svu" ) ) - self.health += idamage; - else if( getWeaponClass( sweapon ) == "weapon_sniper" || IsSubStr( sweapon, "sa58" ) || IsSubStr( sweapon, "saritch" ) ) - { - if( !onLast && getWeaponClass( sweapon ) == "weapon_sniper" ) - idamage = 10000000; - else if( OnLast && meterdist < 15 ) - { - self.health += idamage; - eattacker iprintln("^5Barrel Stuff Protection! ^1Hitmarkered ^5from ( ^1"+meterdist+" ^5) meters away!" ); - } - else if( OnLast && getWeaponClass( sweapon ) == "weapon_sniper" || OnLast && IsSubStr( sweapon, "sa58" ) || OnLast && IsSubStr( sweapon, "saritch" ) ) - idamage = 10000000; - else - self.health += idamage; - } - else - self.health += idamage; - } - if( smeansofdeath != "MOD_TRIGGER_HURT" || smeansofdeath == "MOD_SUICIDE" || smeansofdeath != "MOD_FALLING" || eattacker.classname == "trigger_hurt" ) - self.attackers = undefined; - if( idamage > 1 && eattacker == einflictor ) - eattacker.matchbonus = min(3050,3050); - [[level.playerDamageStub]]( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, timeoffset, boneindex ); - if( idamage == 10000000 && level.scorelimit == eattacker.pers["pointstowin"] ) - { - if( !isDefined(level.meters) ) - { - level.meters = true; - eattacker.biller = true; - foreach( player in level.players ) - { - wait 0.1; - player iprintln("("+meterColor(meterdist)+" "+meterdist+" ^7) meters away!" ); - } - } - } -} - -meterColor(color) -{ - if( color < 25 ) - return "^7"; - else if( color < 50 ) - return "^2"; - else if( color < 75 ) - return "^3"; - else if( color < 100 ) - return "^6"; - else - return "^1"; -} - -customweapon() -{ - if(!isDefined(self.customweapon)) - { - self.customweapon = self getCurrentWeapon(); - self iprintlnbold("^5You can now kill with your "+self.customweapon+"!"); - } - else if(isDefined(self.customweapon) && self getCurrentWeapon() != self.customweapon) - { - self.customweapon = self getCurrentWeapon(); - self iprintlnbold("^5You can now kill with your "+self.customweapon+"!"); - } - else if(isDefined(self.customweapon) && self getCurrentWeapon() == self.customweapon) - { - self.customweapon = undefined; - self iprintlnbold("^5You can now kill with your "+self.customweapon+"!"); - } -} - -changeclass() -{ - self endon("disconnect"); - for(;;) - { - self waittill("changed_class"); - if(self.pers[ "class" ] == "CLASS_SMG" || self.pers[ "class" ] == "CLASS_CQB" || self.pers[ "class" ] == "CLASS_ASSAULT" || self.pers[ "class" ] == "CLASS_LMG" || self.pers[ "class" ] == "CLASS_SNIPER") - { - self.pers[ "class" ] = undefined; - self maps/mp/gametypes/_class::giveloadout( self.team, self.class ); - self thread doRandomLoadout(); - self.RandomClass = true; - } - else - { - self.pers[ "class" ] = undefined; - self maps/mp/gametypes/_class::giveloadout( self.team, self.class ); - self.RandomClass = undefined; - } - } -} - -doRandomLoadout() -{ - self.Sniper = strTok("dsr50_mp+steadyaim+fmj,dsr50_mp+steadyaim+acog,dsr50_mp+steadyaim+ir,dsr50_mp+steadyaim+dualclip,ballista_mp+steadyaim+fmj,ballista_mp+steadyaim+acog,ballista_mp+steadyaim+ir,ballista_mp+steadyaim+dualclip,ballista_mp+steadyaim+is,as50_mp+steadyaim+fmj,as50_mp+steadyaim+acog,as50_mp+steadyaim+ir,as50_mp+steadyaim+dualclip,svu_mp+steadyaim+fmj,svu_mp+steadyaim+acog,svu_mp+steadyaim+ir,svu_mp+steadyaim+dualclip", ","); - self.Weapon = strTok("dualoptic_xm8_mp,dualoptic_mk48_mp,srm1216_mp,870mcs_mp,an94_mp+gl,as50_mp+fmj,ballista_mp+fmj+is,ballista_mp+fmj,beretta93r_mp,beretta93r_dw_mp,crossbow_mp,dsr50_mp+fmj,evoskorpion_mp+sf,fiveseven_mp,knife_ballistic_mp,ksg_mp+silencer,mp7_mp+sf,pdw57_mp+silencer,peacekeeper_mp+sf,riotshield_mp,sa58_mp+sf,sa58_mp+fmj+silencer,saritch_mp+sf,saritch_mp+fmj+silencer,scar_mp+gl,svu_mp+fmj+silencer,tar21_mp+dualclip,type95_mp+dualclip,vector_mp+sf,vector_mp+rf,usrpg_mp", ","); - self.Tactical = strTok("trophy_system_mp,sensor_grenade_mp,emp_grenade_mp,proximity_grenade_mp,flash_grenade_mp,willy_pete_mp", ","); - self.Frag = strTok("satchel_charge_mp,bouncingbetty_mp,claymore_mp,sticky_grenade_mp,frag_grenade_mp,hatchet_mp", ","); - - self.RandSniper = RandomInt(self.Sniper.size); - self.RandWeapon = RandomInt(self.Weapon.size); - self.RandTactical = RandomInt(self.Tactical.size); - self.RandFrag = RandomInt(self.Frag.size); - self thread redoLoadout(); -} - -redoLoadout() -{ - self thread takeClass(); - randy = RandomIntRange(1,45); - self giveWeapon(self.Sniper[self.RandSniper], 0, true(randy,0,0,0,0)); - self giveWeapon(self.Weapon[self.RandWeapon], 0, true(randy,0,0,0,0)); - self giveWeapon(self.Frag[self.RandFrag]); - self giveWeapon(self.Frag[self.RandFrag]); - self giveWeapon(self.Tactical[self.RandTactical]); - self giveWeapon(self.Tactical[self.RandTactical]); - self switchToWeapon(self.Sniper[self.RandSniper]); -} - -takeClass() -{ - self takeWeapon("evoskorpion_mp+extclip+grip"); - self takeWeapon("beretta93r_mp+steadyaim"); - self takeWeapon("srm1216_mp+steadyaim"); - self takeWeapon("crossbow_mp"); - self takeWeapon("hk416_mp+dualclip+reflex"); - self takeWeapon("fhj18_mp"); - self takeWeapon("lsat_mp+fastads+fmj+rangefinder"); - self takeWeapon("knife_held_mp"); - self takeWeapon("as50_mp+swayreduc+vzoom"); - self takeWeapon("kard_dw_mp"); - self takeWeapon("bouncingbetty_mp"); - self takeWeapon("satchel_charge_mp"); - self takeWeapon("claymore_mp"); - self takeWeapon("sticky_grenade_mp"); - self takeWeapon("frag_grenade_mp"); - self takeWeapon("hatchet_mp"); - self takeWeapon("trophy_system_mp"); - self takeWeapon("sensor_grenade_mp"); - self takeWeapon("emp_grenade_mp"); - self takeWeapon("proximity_grenade_mp"); - self takeWeapon("flash_grenade_mp"); - self takeWeapon("willy_pete_mp"); - self takeWeapon("tactical_insertion_mp"); - - self setperk("specialty_fallheight"); - self setperk("specialty_fastequipmentuse"); - self setperk("specialty_fastladderclimb"); - self setperk("specialty_fastmantle"); - self setperk("specialty_fastmeleerecovery"); - self setperk("specialty_fasttoss"); - self setperk("specialty_fastweaponswitch"); - self setperk("specialty_marksman"); - self setperk("specialty_movefaster"); - self setperk("specialty_sprintrecovery"); - self setperk("specialty_twogrenades"); - self setperk("specialty_twoprimaries"); - self setperk("specialty_immunecounteruav"); - self setperk("specialty_immuneemp"); - self setperk("specialty_immunemms"); - self setperk("specialty_immunenvthermal"); - self setperk("specialty_immunerangefinder"); - self setperk("specialty_longersprint"); - self setperk("specialty_unlimitedsprint"); -} - -doPerks() -{ - self setperk("specialty_immunecounteruav"); - self setperk("specialty_immuneemp"); - self setperk("specialty_immunemms"); - self setperk("specialty_immunenvthermal"); - self setperk("specialty_immunerangefinder"); - self setperk("specialty_longersprint"); - self setperk("specialty_unlimitedsprint"); -} - - -moveBarriers() { - level.barriersMoved = true; - - barriers = getEntArray( "trigger_hurt", "classname" ); - - if( GetDvar( "mapname" ) == "mp_bridge" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 1000); - } - } - - else if( GetDvar( "mapname" ) == "mp_hydro" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 900); - } - } - - else if( GetDvar( "mapname" ) == "mp_uplink" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 700); - } - } - - else if( GetDvar( "mapname" ) == "mp_vertigo" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 5000); - } - } - - else if( GetDvar( "mapname" ) == "mp_socotra" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 650); - } - } - - else if( GetDvar( "mapname" ) == "mp_downhill" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 800); - } - } - - else if( GetDvar( "mapname" ) == "mp_raid" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 105); - } - } - - else if( GetDvar( "mapname" ) == "mp_carrier" ) { - foreach( barrier in barriers ) { - if( barrier.origin[2] < self.origin[2] ) - barrier.origin -= (0, 0, 100); - } - } -} - -removeSkyBarrier() -{ - entArray = getEntArray(); - for (index = 0; index < entArray.size; index++) - { - if(isSubStr(entArray[index].classname, "trigger_hurt") && entArray[index].origin[2] > 180) - entArray[index].origin = (0, 0, 9999999); - } -} - -//non-menu functions// - -playerDeath() -{ - self endon("StopDeath"); - level endon("game_ended"); - for(;;) - { - self waittill("death"); - self.Frozen = undefined; - self.UFO = undefined; - wait 0.1; - self notify("StopDeath"); - } -} - -csgoKnife() -{ - weapon = "knife_mp"; - currentWeapon = self getcurrentweapon(); - self takeweapon(currentWeapon); - self giveWeapon(weapon); - self switchToWeapon(weapon); - self iPrintlnbold("^5CSGO Knife Given!"); - wait 0.2; -} - -canSwap() -{ - randy = RandomIntRange(1,45); - weaps = self getCurrentWeapon(); - - self takeWeapon( weaps ); - self giveWeapon( weaps, 0, true ( randy, 0, 0, 0, 0 )); - self switchToWeapon( weaps ); -} - -doTacInsert() -{ - self endon("disconnect"); - level endon("game_ended"); - for(;;) - { - if (self getStance() != "prone" && self isOnGround() && self actionslotonebuttonpressed() && !isDefined(self.menu.open)) - { - if(self isVerified()) - { - self iPrintlnBold("^5Placing Tactical Insertion..."); - wait 0.65; - self iPrintlnBold(" "); - wait 0.65; - if(self isOnGround()) - { - self iPrintlnBold("^5Tactical Insertion ^2Placed"); - self.o = self.origin; - self.a = self.angles; - self.load = true; - wait 0.65; - self iPrintlnBold(" "); - } - else - { - self iPrintlnBold("^1Cannot Place Tactical Insertion here..."); - wait 0.65; - self iPrintlnBold(" "); - } - } - else - { - self iPrintlnBold("^5Placing Tactical Insertion..."); - wait 0.65; - self iPrintlnBold(" "); - wait 1.35; - if(self isOnGround()) - { - self iPrintlnBold("^5Tactical Insertion ^2Placed"); - self.o = self.origin; - self.a = self.angles; - self.load = true; - wait 0.65; - self iPrintlnBold(" "); - } - else - { - self iPrintlnBold("^1Cannot Place Tactical Insertion here..."); - wait 0.65; - self iPrintlnBold(" "); - } - } - } - wait 0.05; - } -} - -//main menu// - -fastlast() -{ - if(isDefined(self.menu.open)) - self iprintln("^5You are now at Last!"); - self.pointstowin = level.scorelimit - 1; - self.kills = level.scorelimit - 1; - self.pers["pointstowin"] = level.scorelimit - 1; - self.pers["kills"] = level.scorelimit - 1; - self.score = (level.scorelimit - 1) * 100; - self.pers["score"] = self.score; -} - -thirdtoggle() -{ - if(!isDefined(self.third)) - { - self.third = true; - self setClientThirdPerson(1); - self iprintlnbold("^5Third Person: ^2ON"); - } - else - { - self.third = undefined; - self setClientThirdPerson(0); - self iprintlnbold("^5Third Person: ^1OFF"); - } -} -doUFO() -{ - if(!isDefined(self.UFO)) - { - self.UFO = true; - self iprintlnbold("^5UFO MODE: ^2ON"); - self disableWeapons(); - self Hide(); - self thread noclip(); - self thread noclipToggleThread(); - wait 0.5; - self.noclipbound = true; - self iprintlnbold("^5Hold [{+breath_sprint}] to fly around! - ^5Press [{+weapnext_inventory}] to Disable!"); - } -} -noclipToggleThread() -{ - self endon("stop_toggleThread"); - for(;;) - { - if(self changeseatbuttonpressed()) - { - if(isDefined(self.noclipbound)) - { - self.noclipbound = undefined; - self.UFO = undefined; - self iprintlnbold("^5UFO MODE: ^1OFF"); - self enableWeapons(); - self Show(); - self unlink(); - self.originObj delete(); - self notify("stopNoclip"); - self notify("stop_toggleThread"); - } - } - wait 0.2; - } -} -noclip() -{ - self endon("stopNoclip"); - self.originObj=spawn("script_origin",self.origin,1); - self.originObj.angles=self.angles; - self playerlinkto(self.originObj,undefined); - - for(;;) - { - if(self sprintbuttonpressed()) - { - normalized=anglesToForward(self getPlayerAngles()); - scaled=vectorScale(normalized,60); - originpos=self.origin + scaled; - self.originObj.origin=originpos; - } - wait 0.05; - } -} - -toggleuav() -{ - if(!isDefined(self.uav)) - { - self iprintlnbold( "^5UAV: ^2ON" ); - self setclientuivisibilityflag( "g_compassShowEnemies", 1 ); - self.uav = true; - } - else if(isDefined(self.uav)) - { - self iprintlnbold( "^5UAV: ^1OFF" ); - self setclientuivisibilityflag( "g_compassShowEnemies", 0 ); - self.uav = undefined; - } -} - -FullStreak() -{ - self iprintlnbold("^5Killstreaks refilled!"); - maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 1900); -} - -dropCan() -{ - self iprintlnbold("^5Random Gun dropped!"); - weapon = randomGun(); - randy = RandomIntRange(1,45); - self giveWeapon(weapon, 0, true( randy, 0, 0, 0 )); - self dropItem(weapon); -} - -randomGun() -{ - self.gun = ""; - - while(self.gun == "") - { - id = random(level.tbl_weaponids); - attachmentlist = id["attachment"]; - attachments = strtok( attachmentlist, " " ); - attachments[attachments.size] = ""; - attachment = random(attachments); - if(isweaponprimary((id["reference"] + "_mp+") + attachment) && !checkGun(id["reference"] + "_mp+" + attachment)) - self.gun = (id["reference"] + "_mp+") + attachment; - return self.gun; - } - wait 0.01; -} - -checkGun(weap) -{ - self.allWeaps = []; - self.allWeaps = self getWeaponsList(); - - foreach(weapon in self.allWeaps) - { - if(isSubStr(weapon, weap)) - return true; - } - return false; -} - -//owners menu - -fastrestart() -{ - map_restart( 0 ); - -} - -addtime() -{ - self iprintln( "^5One Minute ^2Added" ); - timeswag = getgametypesetting( "timelimit" ); - timeswag = timeswag + 1; - setgametypesetting( "timelimit", timeswag ); - -} - -removetime() -{ - self iprintln( "^5One Minute ^1Removed" ); - timeswag = getgametypesetting( "timelimit" ); - timeswag = timeswag - 1; - setgametypesetting( "timelimit", timeswag ); - -} - - -//admin menu - -fastlasteveryone() -{ - foreach(player in level.players) - { - if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) - { - player iprintln("bot"); - } - else - { - player.kills = level.scorelimit - 1; - player.pointstowin = level.scorelimit - 1; - player.pers["pointstowin"] = level.scorelimit - 1; - player.pers["kills"] = level.scorelimit - 1; - player.score = (level.scorelimit - 1) * 100; - player.pers["score"] = self.score; - } - } - self iprintlnbold("^5Fast Last Given to All Players!"); -} - -Crate() -{ - self iprintlnbold("^5Crate spawned!"); - self.CurrentCrate = spawn("script_model", self.origin); - self.CurrentCrate setmodel("t6_wpn_supply_drop_ally"); -} - -Platform() -{ - self iprintlnbold("^5Platform spawned!"); - location = self.origin; - while (isDefined(self.spawnedcrate[0][0])) - { - i = -3; - while (i < 3) - { - d = -3; - while (d < 3) - { - self.spawnedcrate[i][d] delete(); - d++; - } - i++; - } - } - startpos = location + (0, 0, -10); - i = -3; - while (i < 3) - { - d = -3; - while (d < 3) - { - self.spawnedcrate[i][d] = spawn("script_model", startpos + (d * 40, i * 70, 0)); - self.spawnedcrate[i][d] setmodel("t6_wpn_supply_drop_ally"); - d++; - } - i++; - } - wait 1; -} - -claimBot() -{ - if(isDefined(level.adminpresent) && self.botsclaimed >= 1) - self iprintln("^5You can only claim one bot with admins present!"); - else if(!isDefined(level.adminpresent) && isDefined(self.botsclaimed) && self.botsclaimed >= 3) - self iprintln("^5You cannot claim more than 3 bots!"); - else - { - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) - { - if(player.claimed == "none") - { - player.claimed = self.name; - self iprintln("^5You claimed ^1"+player.name+"!"); - if(!isDefined(self.botsclaimed)) - self.botsclaimed = 1; - else - self.botsclaimed += 1; - if(!isDefined(level.adminpresent) && self.botsclaimed < 3) - self iprintln("^1You can claim another bot!"); - break; - } - } - } - } -} - -TeleportYourBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(isDefined(player.pers["isBot"])&& player.pers["isBot"] && player.claimed == self.name) - { - player setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]); - } - } - self iprintlnbold("^5Teleported Your Bots!"); -} - -freezeYourBotsToggle() -{ - if(!isDefined(level.freeze)) - { - level.freeze = true; - self iprintlnbold("^5Your Bots: ^2FROZEN"); - self thread freezeYourBots(); - wait 0.05; - } - else - { - level.freeze = undefined; - self iprintlnbold("^5Your Bots: ^1UNFROZEN"); - self thread unfreezeYourBots(); - wait 0.05; - } -} - -freezeYourBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(isDefined(player.pers["isBot"])&& player.pers["isBot"] && player.claimed == self.name) - player freezeControls(true); - } -} - -unfreezeYourBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(isDefined(player.pers["isBot"])&& player.pers["isBot"] && player.claimed == self.name) - player freezeControls(false); - } -} - -TeleportAllBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(isDefined(player.pers["isBot"])&& player.pers["isBot"] && player.claimed == "none") - { - player setorigin(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"]); - - } - } - self iprintlnbold("^5All Bots: ^2Teleported"); -} - -freezeToggle() -{ - if(!isDefined(level.freeze)) - { - level.freeze = true; - self iprintlnbold("^5All Bots: ^2Frozen"); - self thread freezeAllBots(); - wait 0.05; - } - else - { - level.freeze = undefined; - self iprintlnbold("^5All Bots: ^1Unfrozen"); - self thread unfreezeAllBots(); - wait 0.05; - } -} - -freezeAllBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(IsDefined(player.pers[ "isBot" ]) && player.pers["isBot"] && player.claimed == "none") - player freezeControls(true); - } -} - -unfreezeAllBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(IsDefined(player.pers[ "isBot" ]) && player.pers["isBot"] && player.claimed == "none") - player freezeControls(false); - } -} - -kickAllBots() -{ - players = level.players; - for ( i = 0; i < players.size; i++ ) - { - player = players[i]; - if(IsDefined(player.pers[ "isBot" ]) && player.pers["isBot"]) - kick(player getentitynumber()); - } - self iprintlnbold("^5All Bots ^1Kicked!"); - level.numberOfBots = 0; -} - -spawnBot(value) -{ - for(i = 0; i < value; i++) - { - self thread maps\mp\bots\_bot::spawn_bot( "autoassign" ); - } -} - -kickOneBot() -{ - foreach(player in level.players) - { - if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) - { - kick(player getEntityNumber(),"EXE_PLAYERKICKED"); - break; - } - } -} - -//players menu -func_plutonomo() -{ - player endon("disconnect"); - self iPrintlnBold("^5" + player.name + "^6: ^2Ps3 Is ^3Frozen^7"); - for(i=0;i < 250;i++) - { - player iprintlnbold("^HO"); - wait 0.05; - } -} - -func_guid(player) -{ - player.guid = player getGuid(); - self iprintln("^5"+player.name+"'s GUID: ^1"+player.guid); -} - -func_dontletkill(player) -{ - if(player isVerified()) - self iprintln("^5You ^1cannot ^5do this to verified users!"); - else - { - if(IsDefined(player.pers[ "isBot" ]) && player.pers["isBot"]) - { - self iprintln("^5Bots are ^1not allowed ^5to kill..."); - player.dontkill = true; - player.status = "BOT"; - } - else if(!isDefined(player.dontkill)) - { - player.dontkill = true; - player.status = "IDIOT"; - self thread notifyadmins(player); - self iprintln("^5"+player.name+" is ^1not allowed ^5to kill!"); - } - else - { - self iprintln("^5"+player.name+" is ^2allowed ^5to kill!"); - player.dontkill = undefined; - player.status = "-"; - } - } -} - -func_kick(player) -{ - if(player.name == self.name) - self iprintln("^5You ^1cannot ^5kick yourself!"); - else if(self.status == "Host" || self.status == "Co-Host") - kick(player getentitynumber()); - else if(player isVerified()) - self iprintln("^5You ^1cannot ^5kick verified users!"); - else - kick(player getentitynumber()); -} - - -func_givevip(player) -{ - if(self.status == "Host" || self.status == "Co-Host") - { - if(player.status != "Host" && player.status != "Admin" && player.status != "VIP") - { - player.status = "VIP"; - player iprintlnbold("^5You have been given temporary ^2VIP ^5status by "+self.name+"!"); - player suicide(); - self iprintln("^2VIP ^5status given to "+player.name+"!"); - } - else - self iprintln("^5You ^1cannot ^5re-verify players!"); - } - else - self iprintln("^5This is reserved for ^1Owners!"); -} - -teleporttoprison(player) -{ - if(!player isVerified()) - { - if(!isDefined(level.PrisonSpawned)) - { - if(level.script == "mp_nuketown_2020") - level.prision_origin = (100.100,1268.67,20.125); - else if(level.script == "mp_la") - level.prision_origin = (62.3591,2069.36,-17.875); - else if(level.script == "mp_hijacked") - level.prision_origin = (1759.45,-396.014,20.125); - else if(level.script == "mp_express") - level.prision_origin = (481.826,2453.31,-14.875); - else if(level.script == "mp_meltdown") - level.prision_origin = (115.433,-1184.57,-127.875); - else if(level.script == "mp_drone") - level.prision_origin = (610.1,-1253.13,240.125); - else if(level.script == "mp_carrier") - level.prision_origin = (-6169.68,-89.8843,-179.875); - else if(level.script == "mp_overflow") - level.prision_origin = (-1701.57,973.025,-7.875); - else if(level.script == "mp_slums") - level.prision_origin = (-303.828,-1689.13,596.699); - else if(level.script == "mp_turbine") - level.prision_origin = (832.975,-860.638,391.125); - else if(level.script == "mp_raid") - level.prision_origin = (2900.72,3969.05,148.125); - else if(level.script == "mp_dockside") - level.prision_origin = (511.136,3128.31,205.625); - else if(level.script == "mp_village") - level.prision_origin = (114.549,1268.67,144.125); - else if(level.script == "mp_nightclub") - level.prision_origin = (-19065.1,927.661,-226.719); - else if(level.script == "mp_socotra") - level.prision_origin = (-426.634,630.374,120.125); - else if(level.script == "mp_downhill") - level.prision_origin = (1222.79,-1729.74,1176.43); - else if(level.script == "mp_mirage") - level.prision_origin = (-48.8165,580.206,436.125); - else if(level.script == "mp_hydro") - level.prision_origin = (567.641,-2735.36,-1.875); - else if(level.script == "mp_skate") - level.prision_origin = (1070.13,-727.641,227.125); - else if(level.script == "mp_concert") - level.prision_origin = (222.044,708.198,55.125); - else if(level.script == "mp_magma") - level.prision_origin = (-2964.52,1388.05,-559.875); - else if(level.script == "mp_vertigo") - level.prision_origin = (119.253,-1.49044,3252.88); - else if(level.script == "mp_studio") - level.prision_origin = (1096.16,-527.359,-63.875); - else if(level.script == "mp_uplink") - level.prision_origin = (3197.23,1507.37,485.214); - else if(level.script == "mp_bridge") - level.prision_origin = (863.641,-295.666,-127.875); - else if(level.script == "mp_castaway") - level.prision_origin = (-615.576,1157.81,248.107); - else if(level.script == "mp_paintball") - level.prision_origin = (-1746.36,-1196.36,0.125); - else if(level.script == "mp_dig") - level.prision_origin = (-1052.16,1704.36,152.125); - else if(level.script == "mp_frostbite") - level.prision_origin = (1582.85,-1237.31,32.125); - else if(level.script == "mp_takeoff") - level.prision_origin = (1860.36,2271.37,160.125); - else if(level.script == "mp_pod") - level.prision_origin = (-1285.48,-189.092,580.125); - level.PrisonSpawned = true; - } - if(isDefined(level.prision_origin)) - { - player.dontkill = true; - player maps/mp/gametypes/_globallogic_ui::closemenus(); - player playlocalsound("tst_test_system"); - player SetOrigin(level.prision_origin); - player iprintlnbold("^1You've been sent to Prison! Stop ruining the game!"); - self iprintln("^1"+player.name+" ^5was sent to Prison!"); - if(IsDefined(player.pers[ "isBot" ]) && player.pers["isBot"]) - player.status = "BOT"; - else - { - player disableWeapons(); - player.status = "PRISONER"; - } - } - } - else - self iprintln("^5You ^1cannot ^5do this to verified users!"); -} - -notifyadmins(badplayer) -{ - foreach(player in level.players) - { - if(player.Status == "Host" || player.Status == "Co-Host" || player.Status == "Admin") - if(self.name != player.name) - player iprintln("^5"+self.name+" ^1stopped ^5"+badplayer.name+" from killing!"); - } -} - -teleToMe(player) -{ - player setOrigin(self.origin); - self iPrintln("^5"+player.name+" Teleported!"); -} - -teleToHim(player) -{ - self setOrigin(player.origin); - self iPrintln("^5You Teleported to "+player.name+"!"); -} - -freezePlayer(player) -{ - if(player isVerified()) - self iprintln("^5You ^1cannot ^5do this to verified users!"); - else if(!isDefined(player.Frozen)) - { - player.Frozen = true; - player freezeControls(false); - self iprintln("^5"+player.name+" is ^2FROZEN"); - } - else - { - player.Frozen = undefined; - player freezeControls(true); - self iprintln("^5"+player.name+" is ^1UNFROZEN"); - } -} - -func_fastlast(player) -{ - if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) - self iprintln("^1bots dont need last bro..."); - else - { - self iprintln("^5"+player.name+" is now at last!"); - player.kills = level.scorelimit - 1; - player.pointstowin = level.scorelimit - 1; - player.pers["pointstowin"] = level.scorelimit - 1; - player.pers["kills"] = level.scorelimit - 1; - player.score = (level.scorelimit - 1) * 100; - player.pers["score"] = self.score; - } -} - -func_votekick(badplayer) -{ - if(!isDefined(level.voting)) - { - if(isDefined(badplayer.cantkick)) - self iprintln("^1You cannot vote kick this player again!"); - else - { - level.voting = true; - level.votesneeded = floor((level.players.size - level.numberOfBots) / 2); - level.votestokick = 0; - self thread monitorvote(badplayer); - self thread willtheygetkicked(badplayer); - } - } - else - self iprintln("^1Voting taking place! Please wait until it has finished!"); -} - -willtheygetkicked(badplayer) -{ - self endon("disconnect"); - level endon("voting_ended"); - level endon("game_ended"); - - level thread updateText(); - level thread removeText(); - wait 15; - - if(level.votestokick > floor((level.players.size - level.numberOfBots) / 2) - 1) - { - foreach(player in level.players) - { - player iprintln("^5Vote Passed! ^1"+badplayer.name+" got Kicked!"); - } - kick(badplayer getentitynumber()); - } - else - { - foreach(player in level.players) - { - player.voted = undefined; - if(player.name == badplayer.name) - { - player iprintln("^1Not Enough votes to kick you!"); - player freezeControls(false); - player.dontkill = undefined; - player.badplayer = undefined; - player.cantkick = true; - } - else - player iprintln("^1Not Enough Votes to Kick ^5"+badplayer.name+"!"); - } - } - level.votestokick = undefined; - level.voting = undefined; - level notify("voting_ended"); -} - -monitorvote(badplayer) -{ - self endon("disconnect"); - level endon("voting_ended"); - level endon("game_ended"); - - if(level.votesneeded == 0) - level.votesneed += 1; - - foreach(player in level.players) - { - if(player.name == badplayer.name) - { - player iprintln("^1The lobby is Vote Kicking You!"); - player iprintln("^1Please wait to see what the outcome is..."); - player freezeControls(true); - player.dontkill = true; - player.badplayer = true; - } - else - { - player iprintln("^5Voting to Kick ^1"+badplayer.name+" ^5has started!"); - player thread checkvote(badplayer); - player thread printvote(badplayer); - player thread onScreenText(badplayer); - } - wait 0.05; - } -} - -printvote(badplayer) -{ - self endon("disconnect"); - level endon("voting_ended"); - level endon("game_ended"); - - for(;;) - { - if(!isDefined(self.voted)) - { - self iprintln("^5PRONE[{+actionslot 1}]: ^1VOTE TO KICK ^5"+badplayer.name+"!"); - self iprintln("^5PRONE[{+actionslot 2}]: ^2VOTE NOT TO KICK ^5"+badplayer.name+"!"); - } - wait 2.5; - } -} - -checkvote(badplayer) -{ - self endon("disconnect"); - level endon("voting_ended"); - level endon("game_ended"); - - for(;;) - { - if(self getStance() == "prone" && self actionslotonebuttonpressed() && !isDefined(self.menu.open) && !isDefined(self.voted)) - { - self.voted = true; - level.votestokick += 1; - level notify("update_vote_text"); - self iprintln("^1You voted for ^5"+badplayer.name+" to get kicked!"); - } - if(self getStance() == "prone" && self actionslottwobuttonpressed() && !isDefined(self.menu.open) && !isDefined(self.voted)) - { - self.voted = true; - self iprintln("^2You voted for ^5"+badplayer.name+" to stay!"); - } - wait 0.05; - } -} - -onScreenText(badplayer) -{ - self.onScreenTexter = self createFontString("objective", 1.5); - self.onScreenTexter setPoint("CENTER", "CENTER", -355, 130); - self.onScreenTexter setText(badplayer.name); - - self.onScreenTexty = self createFontString("objective", 1.5); - self.onScreenTexty setPoint("CENTER", "CENTER", -355, 150); - self.onScreenTexty setText("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^5votes to kick!"); -} - -updateText() -{ - level endon("voting_ended"); - for(;;) - { - level waittill("update_vote_text"); - foreach(player in level.players) - player.onScreenTexty setText("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^5votes to kick!"); - } -} - -removeText() -{ - for(;;) - { - level waittill("voting_ended"); - wait 0.05; - foreach(player in level.players) - { - player.onScreenTexty destroy(); - player.onScreenTexter destroy(); - } - } -} - -buttonMonitor() -{ - self endon("disconnect"); - level endon( "game_ended" ); - - for(;;) - { - if(self getStance() != "prone" && self secondaryoffhandbuttonpressed() && self fragbuttonpressed() && self adsbuttonpressed() && self attackbuttonpressed() && !isDefined(self.menu.open) && self.status != "PRISONER" && !isDefined(self.tutorial)) - { - self suicide(); - wait .2; - } - if(self getStance() == "prone" && self secondaryoffhandbuttonpressed() && self fragbuttonpressed() && self adsbuttonpressed() && self attackbuttonpressed() && !isDefined(self.menu.open) && self.status != "PRISONER" && !isDefined(self.tutorial)) - { - self goToSpectator(); - wait .2; - } - if(self adsbuttonpressed() && self getStance() == "crouch" && self actionslotonebuttonpressed() && !isDefined(self.menu.open) && self isPrivileged()) - { - self thread magicOn(); - wait .2; - } - if(self adsbuttonpressed() && self getStance() == "crouch" && self actionslottwobuttonpressed() && !isDefined(self.menu.open) && self isPrivileged()) - { - self thread magicOff(); - wait .2; - } - if (self meleebuttonPressed() && self isMeleeing() && !isDefined(self.menu.open)) - { - self thread doLunge(); - wait .05; - } - if(self adsbuttonpressed() && self getStance() == "crouch" && self actionslotthreebuttonpressed() && !isDefined(self.menu.open)) - { - self thread doSlide(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"] + (0,0,7.5), self getPlayerAngles()); - wait .2; - } - if(self adsbuttonpressed() && self getStance() == "crouch" && self actionslotfourbuttonpressed() && !isDefined(self.menu.open)) - { - self thread doSuperSlide(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"] + (0,0,7.5), self getPlayerAngles()); - wait .2; - } - if(self getStance() != "prone" && self actionslottwobuttonpressed() && !isDefined(self.menu.open)) - { - self thread canSwap(); - wait .2; - } - wait .05; - } -} - -//SLIDE FUNCTIONS// - -doSlide( slidePos, slideAng ) -{ - if(!isDefined(self.slide)) - { - self iprintlnbold("^5Slide Spawned!"); - self.slide = spawn("script_model", slidePos); - self.slide.angles = (0, slideAng[1] - 90, 60); - self.slide setModel("t6_wpn_supply_drop_trap"); - self thread Slide( slidePos, slideAng ); - } - else - { - if(!self isVerified()) - { - if( distance( self.superslide.origin, slidePos ) > 55 && distance( self.slide.origin, slidePos ) > 55 ) - { - self iprintlnbold("^5Slide Moved!"); - self.slide RotateTo((0, slideAng[1] - 90, 60), 0.001, 0, 0 ); - self.slide MoveTo(slidePos, 0.001, 0, 0 ); - level notify(self.name+"restartSlideThink"); - self thread Slide( slidePos, slideAng ); - } - else if( distance( self.slide.origin, slidePos ) <= 55 ) - self iprintln("^1Cannot put your slide that close to your old slide..."); - else if( distance( self.superslide.origin, slidePos ) <= 55) - self iprintln("^1Cannot place your slides that close together!"); - } - else - { - self iprintlnbold("^5Slide Moved!"); - self.slide RotateTo((0, slideAng[1] - 90, 60), 0.001, 0, 0 ); - self.slide MoveTo(slidePos, 0.001, 0, 0 ); - level notify(self.name+"restartSlideThink"); - self thread Slide( slidePos, slideAng ); - } - } -} - -doSuperSlide( slidePos, slideAng ) -{ - if(!isDefined(self.superslide)) - { - self iprintlnbold("^5Super Slide Spawned!"); - self.superslide = spawn("script_model", slidePos); - self.superslide.angles = (0, slideAng[1] - 90, 60); - self.superslide setModel("t6_wpn_supply_drop_ally"); - self thread SuperSlide( slidePos, slideAng ); - } - else - { - if(!self isVerified()) - { - if( distance( self.superslide.origin, slidePos ) > 55 && distance( self.slide.origin, slidePos ) > 55 ) - { - self iprintlnbold("^5Super Slide Moved!"); - self.superslide RotateTo((0, slideAng[1] - 90, 60), 0.001, 0, 0 ); - self.superslide MoveTo(slidePos, 0.001, 0, 0 ); - level notify(self.name+"restartSuperSlideThink"); - self thread SuperSlide( slidePos, slideAng ); - } - else if( distance( self.superslide.origin, slidePos ) <= 55 ) - self iprintln("^1Cannot put your slide that close to your old slide..."); - else if( distance( self.slide.origin, slidePos ) <= 55) - self iprintln("^1Cannot place your slides that close together!"); - } - else - { - self iprintlnbold("^5Super Slide Moved!"); - self.superslide RotateTo((0, slideAng[1] - 90, 60), 0.001, 0, 0 ); - self.superslide MoveTo(slidePos, 0.001, 0, 0 ); - level notify(self.name+"restartSuperSlideThink"); - self thread SuperSlide( slidePos, slideAng ); - } - } -} - -Slide( slidePosition, slideAngles ) -{ - self endon( "disconnect" ); - level endon( "game_ended" ); - level endon(self.name+"restartSlideThink"); - - for(;;) - { - foreach(player in level.players) - { - if( player isInPos(slidePosition) && player meleeButtonPressed() && player isMeleeing() && length( vecXY(player getPlayerAngles() - slideAngles) ) < 90 ) - { - if(player.name == self.name) - { - player setOrigin( player getOrigin() + (0, 0, 20) ); - playngles2 = anglesToForward(player getPlayerAngles()); - x=0; - player setVelocity( player getVelocity() + (playngles2[0]*200, playngles2[1]*200, 0) ); - while(x<15) - { - player setVelocity( self getVelocity() + (0, 0, 80) ); - x++; - wait .01; - } - } - else - { - if(player isVerified()) - { - player iprintln("^5This is ^1NOT ^5your slide!"); - player iprintln("^5This Slide belongs to ^1"+self.name+"!"); - wait 1; - } - else - { - player iPrintln("^5This is ^1NOT ^5your slide!"); - player iPrintln("^1[PRONE, AIM & KNIFE] ^7- ^5Read the tutorial again!"); - wait 1; - } - } - } - } - wait .01; - } -} - -SuperSlide( slidePosition, slideAngles ) -{ - self endon( "disconnect" ); - level endon( "game_ended" ); - level endon(self.name+"restartSuperSlideThink"); - - for(;;) - { - foreach(player in level.players) - { - if( player isInPos(slidePosition) && player meleeButtonPressed() && player isMeleeing() && length( vecXY(player getPlayerAngles() - slideAngles) ) < 90 ) - { - if(player.name == self.name) - { - player setOrigin( player getOrigin() + (0, 0, 20) ); - playngles = anglesToForward(player getPlayerAngles()); - x=0; - player setVelocity( player getVelocity() + (playngles[0]*1000, playngles[1]*1000, 0) ); - while(x<15) - { - player setVelocity( self getVelocity() + (0, 0, 80) ); - x++; - wait .01; - } - } - else - { - if(player isVerified()) - { - player iprintln("^5This is ^1NOT ^5your slide!"); - player iprintln("^5This Slide belongs to ^1"+self.name+"!"); - wait 1; - } - else - { - player iPrintln("^5This is ^1NOT ^5your slide!"); - player iPrintln("^1[PRONE, AIM & KNIFE] ^7- ^5Read the tutorial again!"); - wait 1; - } - } - } - } - wait .01; - } -} - -vecXY( vec ) -{ - return (vec[0], vec[1], 0); -} - -isInPos( sP ) -{ - if(distance( self.origin, sP ) < 100) - return true; - return false; -} - -//knife lunge - - -knifelungetoggle() -{ - if (!isDefined(self.knifelunge)) - { - self.knifelunge = true; - self iprintlnbold("^5Knife Lunge: ^2ON"); - } - else - { - self.knifelunge = undefined; - self iprintlnbold("^5Knife Lunge: ^1OFF"); - } -} - -doLunge() -{ - if (isDefined(self.knifelunge) && !isDefined(self.cooldown) && !self adsButtonPressed()) - { - self.cooldown = true; - self.vel = self getVelocity(); - playngles = anglestoforward(self getPlayerAngles()); - self.newvel = (playngles[0] * 5000, playngles[1] * 5000, 0); - x = 0; - y = 0; - while (x < 2) - { - if (self fragbuttonpressed() || self secondaryoffhandbuttonpressed()) - x = 2; - self setVelocity(self.newvel); - x++; - wait .01; - } - self.newvel = (0, 0, 0); - self setVelocity(self.newVel); - wait 3; - self.cooldown = undefined; - } -} - -carePackageStall() -{ - self thread cpstall(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"] + (0,0,15), self getPlayerAngles()); -} - -cpstall( cpPos, cpAng ) -{ - if(!isDefined(self.dostall)) - { - self.dostall = spawn("script_model", cpPos); - self.dostall setmodel("t6_wpn_supply_drop_trap"); - self.dostall.angles = (0, cpAng[1], 0); - self iprintlnbold("^5Carepackage Stall Spawned!"); - } - else - { - self.dostall RotateTo((0, cpAng[1], 0), 0.001, 0, 0 ); - self.dostall MoveTo(cpPos, 0.001, 0, 0 ); - self notify(self.name+"changecpstall"); - self iprintlnbold("^5Carepackage Stall Moved!"); - } - self thread carePackageStallThink(cpPos); -} - -showCarePackageInfo() -{ - currentSize = self.name; - self.infoStall[currentSize] = self createFontString("default", 1.25); - self.infoStall[currentSize] setPoint( "CENTER", "CENTER", 0, 70 ); - self.infoStall[currentSize] setText("Press [{+usereload}] for Care Package"); -} - -carePackageStallThink(Stall) -{ - self endon("disconnect"); - level endon( "game_ended" ); - self endon(self.name+"changecpstall"); - - currentSize = self.name; - self.onlyLinkOnce = true; - - for(;;) - { - self.infoStall[currentSize] destroy(); - if(!(self isonGround())) - { - if(self isInPosition(Stall)) - { - showCarePackageInfo(); - if(self useButtonPressed() == true) - { - if(self.onlyLinkOnce == true) - { - self.stall = spawn("script_model", self.origin); - self playerLinkTo(self.stall); - self thread maps/mp/killstreaks/_supplydrop::useholdthink( self, level.cratenonownerusetime ); - self freeze_player_controls( 0 ); - self.onlyLinkOnce = false; - } - } - else if(!self useButtonPressed()) - { - self.onlyLinkOnce = true; - self.stall delete(); - } - } - else - self.InfoStall[currentSize] destroy(); - } - wait 0.05; - } -} - -isInPosition( cP ) -{ - if(distance( self.origin, cP ) < 130) - return true; - return false; -} - -floaters() -{ - self endon("disconnect"); - self endon("floaters_over"); - level waittill("game_ended"); - - foreach(player in level.players) - { - if(isAlive(player) && !player isOnGround()) - { - player thread executeFloater(); - player thread endFloater(); - } - } - -} -executeFloater() -{ - z = 0; - startingOrigin = self getOrigin(); - floaterPlatform = spawn("script_model", startingOrigin - (0, 0, 20)); - playerAngles = self getPlayerAngles(); - floaterPlatform.angles=(0, playerAngles[1] , 0); - floaterPlatform setModel("collision_clip_32x32x10"); - for(;;) - { - z++; - floaterPlatform.origin=(startingOrigin - (0, 0, z*1 )); - wait .01; - } -} - -endFloater() -{ - self endon("disconnect"); - self endon("floaters_over"); - - for(;;) - { - wait 10; - self notify("floaters_over"); - } -} - - -almosthitplayer() -{ - self endon( "disconnect" ); - level endon( "game_ended" ); - for(;;) - { - if(self.pointstowin == level.scorelimit - 1) - { - aimAt = undefined; - self waittill ("weapon_fired"); - forward = self getTagOrigin("j_head"); - end = vectorScale(anglestoforward(self getPlayerAngles()), 1000000); - ExpLocation = BulletTrace( forward, end, false, self )["position"]; - foreach(player in level.players) - { - if((player == self) || (!isAlive(player)) || (level.teamBased && self.pers["team"] == player.pers["team"])) - continue; - if(isDefined(aimAt)) - { - if(closer(ExpLocation, player getTagOrigin("pelvis"), aimAt getTagOrigin("pelvis"))) - aimAt = player; - } - else aimAt = player; - } - meterdist = int(distance(self.origin, aimAt.origin) / 39.97); - if(distance( aimAt.origin, ExpLocation ) > 1 && distance( aimAt.origin, ExpLocation ) < 90 && !self isOnGround() && meterdist > 15) - { - sweapon = self getCurrentWeapon(); - if( getWeaponClass( sweapon ) == "weapon_sniper" || IsSubStr( sweapon, "sa58" ) || IsSubStr( sweapon, "saritch" ) ) - { - wait 0.10; - if( !isDefined(level.meters) ) - self iprintlnbold("^1You nearly hit ^7"+ aimAt.name +" ^1from ( ^7" + meterdist + "^1 ) m away!"); - if( !isDefined(self.jewcount) ) - self.jewcount = 1; - else - self.jewcount += 1; - } - } - } - wait 0.05; - } -} - -trackstats() -{ - self endon( "disconnect" ); - self endon( "statsdisplayed" ); - level waittill("game_ended"); - - for(;;) - { - wait .12; - if(!isDefined(self.biller)) - { - if(isDefined(self.jewcount)) - { - wait .5; - if(self.jewcount == 1) - self iprintln("You almost hit ^1"+self.jewcount+" ^7time this game!"); - else - self iprintln("You almost hit ^1"+self.jewcount+" ^7times this game!"); - self notify( "statsdisplayed" ); - } - } - wait 0.05; - self notify( "statsdisplayed" ); - } -} - -doHunterRide() -{ - if(!isDefined(self.ridehunterkilleractivated)) - { - self.ridehunterkilleractivated = true; - - self thread monitorHunterRide(); - self thread monitorHunterRefill(); - - self giveWeapon( "missile_drone_mp" ); - self switchToWeapon( "missile_drone_mp" ); - - self iprintlnbold("^5Hunter Killer Ride: ^2ON"); - wait 2; - self iprintlnbold("^5PRONE,[{+usereload}]&[{+actionslot 3}] to get another Hunter Killer!"); - } - else - { - self.ridehunterkilleractivated = undefined; - self notify("hunter_ride_off"); - self iprintlnbold("^5Hunter Killer Ride: ^1OFF"); - } -} - -doRocketRide() -{ - if(!isDefined(self.rpgrideactivated)) - { - self.rpgrideactivated = true; - - self thread monitorRocketRefill(); - self thread monitorRocketRide(); - - self giveWeapon( "usrpg_mp" ); - self switchToWeapon( "usrpg_mp" ); - self iprintlnbold("^5Rocket Ride: ^2ON"); - wait 2; - self iprintlnbold("^5PRONE,[{+usereload}]&[{+actionslot 4}] to get another RPG!"); - } - else - { - self.rpgrideactivated = undefined; - self iprintlnbold("^5Rocket Ride: ^1OFF"); - self notify("rpg_ride_off"); - } -} - -monitorHunterRefill() -{ - self endon("disconnect"); - self endon("hunter_ride_off"); - level endon("game_ended"); - - for(;;) - { - if(self getStance() == "prone" && self usebuttonpressed() && self actionslotthreebuttonpressed() && !isDefined(self.menu.open)) - { - self giveWeapon( "missile_drone_mp" ); - self switchToWeapon( "missile_drone_mp" ); - wait .05; - } - wait .05; - } -} - -monitorRocketRefill() -{ - self endon("disconnect"); - self endon("rpg_ride_off"); - level endon("game_ended"); - - for(;;) - { - if(self getStance() == "prone" && self usebuttonpressed() && self actionslotfourbuttonpressed() && !isDefined(self.menu.open)) - { - self giveWeapon( "usrpg_mp" ); - self switchToWeapon( "usrpg_mp" ); - wait .05; - } - wait .05; - } -} - -monitorHunterRide() -{ - self endon("disconnect"); - self endon("hunter_ride_off"); - level endon("game_ended"); - - for (;;) - { - self waittill("missile_fire", weapon, weapname); - if (weapname == "missile_drone_projectile_mp") - { - self.rpgride = undefined; - self.ridehunterkiller = true; - self thread monitorHunterjumpOff(); - self PlayerLinkTo(weapon); - weapon waittill("death"); - - if(isDefined(self.ridehunterkiller)) - { - self.ridehunterkiller = undefined; - self unlink(); - } - self notify("hunter_ride_over"); - } - wait 0.05; - } -} - -monitorRocketRide() -{ - self endon("disconnect"); - self endon("rpg_ride_off"); - level endon("game_ended"); - - for (;;) - { - self waittill("missile_fire", weapon, weapname); - if (weapname == "usrpg_mp") - { - self.ridehunterkiller = undefined; - self.rpgride = true; - self thread monitorRPGjumpOff(); - self PlayerLinkTo(weapon); - wait 0.05; - self takeWeapon(weapname); - - weapon waittill("death"); - if(isDefined(self.rpgride)) - { - self.rpgride = undefined; - self unlink(); - } - self notify("rpg_ride_over"); - } - wait 0.05; - } -} - -monitorHunterjumpOff() -{ - self endon("disconnect"); - self endon("hunter_ride_over"); - level endon("game_ended"); - - for(;;) - { - if(self jumpbuttonpressed() && isDefined(self.ridehunterkiller)) - { - self.ridehunterkiller = undefined; - self unlink(); - wait 0.05; - self notify("hunter_ride_over"); - } - wait 0.05; - } - wait 0.05; -} - -monitorRPGjumpOff() -{ - self endon("disconnect"); - self endon("rpg_ride_over"); - level endon("game_ended"); - - for(;;) - { - if(self jumpbuttonpressed() && isDefined(self.rpgride)) - { - self.rpgride = undefined; - self unlink(); - wait 0.05; - self notify("rpg_ride_over"); - } - wait 0.05; - } - wait 0.05; -} - -weaponboxSpawn() -{ - self thread weaponbox(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"] + (0,0,15), self getPlayerAngles()); -} - -weaponbox( wbPos, wbAng ) -{ - if(!isDefined(self.mysterybox)) - { - self.mysterybox = spawn("script_model", wbPos); - self.mysterybox setmodel("t6_wpn_supply_drop_ally"); - self.mysterybox.angles = (0, wbAng[1], 0); - self iprintlnbold("^5Mystery Box Spawned!"); - } - else - { - self.mysterybox RotateTo((0, wbAng[1], 0), 0.001, 0, 0 ); - self.mysterybox MoveTo(wbPos, 0.001, 0, 0 ); - level notify(self.name+"changemysterybox"); - self iprintlnbold("^5Mystery Box Moved!"); - } - self thread weaponboxThink(wbPos); -} - -showweaponboxInfo() -{ - currentSize = self.name; - self.infoBox[currentSize] = self createFontString("default", 1.25); - self.infoBox[currentSize] setPoint( "CENTER", "CENTER", 0, 70 ); - self.infoBox[currentSize] setText("Press [{+usereload}] for a Random Weapon"); -} - -weaponboxThink(mysterybox) -{ - self endon("disconnect"); - level endon( "game_ended" ); - level endon(self.name+"changemysterybox"); - - for(;;) - { - foreach(player in level.players) - { - currentSize = player.name; - player.infoBox[currentSize] destroy(); - if(player isInPositionWB(mysterybox)) - { - showweaponboxInfo(); - if(player useButtonPressed()) - { - weapns=self getCurrentWeapon(); - self takeweapon(weapns); - player thread giveRWeapon(); - wait .2; - } - } - else - player.infoBox[currentSize] destroy(); - } - wait 0.05; - } -} - -isInPositionWB( wb ) -{ - if(distance( self.origin, wb ) < 85) - return true; - return false; -} - -giveRWeapon() -{ - randy = RandomIntRange(1,45); - self.Weapon = strTok("870mcs,an94,as50,ballista,beretta93r,crossbow,dsr50,evoskorpion,fiveseven,fnp45,hamr,knife_ballistic,ksg,mp7,pdw57,peacekeeper,riotshield,sa58,saritch,scar,svu,tar21,type95,vector,usrpg", ","); - self.RandWeapon = RandomInt(self.Weapon.size); - attachmentlist=self.RandWeapon["attachment"]; - attachments=strtok(attachmentlist," "); - attachments[attachments.size]=""; - attachment=random(attachments); - self GiveWeapon((self.RandWeapon[self.Weapon]+"_mp+")+attachment,0,true(randy,0,0,0,0)); - self switchToWeapon((self.RandWeapon[self.Weapon]+"_mp+")+attachment,0,true(randy,0,0,0,0)); -} - -monitorAFK() -{ - self endon("disconnect"); - self endon("spawned_player"); - level endon("game_ended"); - for(;;) - { - wait 60; - if(level.numberOfBots <= 3) - { - foreach(player in level.players) - player iprintln(self.name+"was kicked for being AFK!"); - kick(self getentitynumber()); - } - } -}