diff --git a/CAHZ SND SERVER STUFFS/main.gsc b/CAHZ SND SERVER STUFFS/main.gsc new file mode 100644 index 0000000..aef0402 --- /dev/null +++ b/CAHZ SND SERVER STUFFS/main.gsc @@ -0,0 +1,118 @@ +#include maps/mp/_utility; +#include maps/mp/gametypes/_globallogic_audio; +#include maps/mp/_music; +#include maps/mp/gametypes/_hud_message; +#include maps/mp/gametypes/_hud_util; +#include common_scripts/utility; + +init() +{ + level thread onPlayerConnect(); + + level.menuName = "Cahz's TS Menu"; + level.firstHostSpawned = false; + level.inGracePeriod = false; + + level thread moveBarriers(); + level thread removeskybarrier(); + level thread resetDvars(); + level thread floaters(); + level thread changeColor(); + + game["strings"]["change_class"] = undefined; + + precacheModel("collision_clip_32x32x10"); + precacheModel("t6_wpn_supply_drop_ally"); + precacheModel( "projectile_hellfire_missile" ); + + setDvar("jump_ladderPushVel",1024); + setDvar("bg_ladder_yawcap",360); + setDvar("bg_prone_yawcap",360); + + level.playerDamageStub = level.callbackplayerdamage; + level.callbackplayerdamage = ::Callback_PlayerDamageHook; +} + +changeColor() +{ + for(;;) + { + level waittill("game_ended"); + wait 0.25; + foreach(player in level.players) + { + outcometitle.color = ( 1, 0.5, 1 ); + wait 0.05; + outcometitle.color = ( 1, 0.5, 1 ); + } + } +} + +onPlayerConnect() +{ + for(;;) + { + level waittill("connected", player); + level.inGracePeriod = false; + player thread onPlayerSpawned(); + player thread doVerification(); + player thread changeclass(); + player thread trackstats(); + player thread checkBot(); + wait 0.25; + if(player.Status != "BOT") + { + player thread changeclass(); + player maps\mp\teams\_teams::changeteam("allies"); + } + else + player maps\mp\teams\_teams::changeteam("axis"); + } +} + +onPlayerSpawned() +{ + self endon("disconnect"); + level endon("game_ended"); + for(;;) + { + self waittill("spawned_player"); + + self.matchbonus = RandomIntRange(200, 610); + + if(!isDefined(self.hasMenu) && self isVerified()) + { + self.hasMenu = true; + self.menuInit = true; + self thread menuInit(); + } + game[ "strings" ][ "round_win" ] = "^1C ^24 ^5H ^6Z"; + game[ "strings" ][ "match_bonus" ] = "^1M^3A^2T^5C^6H ^1B^3O^2N^5U^6S"; + maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 1900); + self connectMessage( "Welcome to Cahz" , true ); + self thread almosthitplayer(); + self thread buttonMonitor(); + self thread floaters(); + } +} + +connectMessage( string , bold ) +{ + if ( !isDefined ( self.pers[string] ) ) + { + self.pers[string] = true; + + if ( !isDefined ( bold ) || bold != true ) + self iPrintln ( string ); + else + self iPrintlnBold( string ); + } +} + + + + + + + + diff --git a/CAHZ SND SERVER STUFFS/menu.gsc b/CAHZ SND SERVER STUFFS/menu.gsc new file mode 100644 index 0000000..da82efa --- /dev/null +++ b/CAHZ SND SERVER STUFFS/menu.gsc @@ -0,0 +1,286 @@ +menuOptions() +{ + if(self isVerified()) + { + if(self.status == "VIP") + { + addMenu(self.AIO["menu"], undefined, self.AIO["menu"]); + addOpt(self.AIO["menu"], "Toggle UAV", ::toggleuav); + addOpt(self.AIO["menu"], "Refill Killstreaks", ::FullStreak); + addOpt(self.AIO["menu"], "Drop Canswap", ::dropcan); + addOpt(self.AIO["menu"], "Toggle Knife Lunge", ::knifelungetoggle); + addOpt(self.AIO["menu"], "Toggle Third Person", ::thirdtoggle); + addOpt(self.AIO["menu"], "Spawn Carepackage Stall", ::carePackageStall); + addOpt(self.AIO["menu"], "Give Csgo Knife", ::csgoKnife); + } + if(self.status == "Host" || self.status == "Co-Host" || self.status == "Admin") + { + addMenu(self.AIO["menu"], undefined, self.AIO["menu"]); + + D="D"; + addOpt(self.AIO["menu"], "Self Menu", ::newMenu, D, "Self Menu"); + addMenu(D, self.AIO["menu"], "Self Menu"); + addOpt(D, "Toggle UAV", ::toggleuav); + addOpt(D, "Refill Killstreaks", ::FullStreak); + addOpt(D, "Drop Canswap", ::dropcan); + addOpt(D, "Toggle Knife Lunge", ::knifelungetoggle); + addOpt(D, "Toggle Third Person", ::thirdtoggle); + addOpt(D, "Spawn Carepackage Stall", ::carePackageStall); + addOpt(D, "Give Csgo Knife", ::csgoKnife); + + A="A"; + addOpt(self.AIO["menu"], "Admin Menu", ::newMenu, A, "Admin Menu"); + addMenu(A, self.AIO["menu"], "Admin Menu"); + addOpt(A, "Spawn Mystery Box", ::weaponboxSpawn); + addOpt(A, "Spawn Crate", ::Crate); + addOpt(A, "Spawn Platform", ::Platform); + C="C"; + addOpt(self.AIO["menu"], "Bot Menu", ::newMenu, C, "Bot Menu"); + addMenu(C, self.AIO["menu"], "Bot Menu"); + addOpt(C, "Teleport All Bots", ::TeleportAllBots); + addOpt(C, "Freeze/Unfreeze Bots", ::freezeToggle); + } + addOpt(self.AIO["menu"], "Players", ::newMenu, "PlayersMenu", "Players"); + addMenu("PlayersMenu", self.AIO["menu"], "Players"); + for (i = 0; i < 18; i++) + addMenu("pOpt " + i, "PlayersMenu", ""); + } +} + +playerMenu() +{ + self endon("disconnect"); + level endon("game_ended"); + + self.menu.menucount["PlayersMenu"] = 0; + + for (i = 0; i < 18; i++) + { + player = level.players[i]; + playerName = getPlayerName(player); + playersizefixed = level.players.size - 1; + + if(self.menu.curs["PlayersMenu"] > playersizefixed) + { + self.menu.scrollerpos["PlayersMenu"] = playersizefixed; + self.menu.curs["PlayersMenu"] = playersizefixed; + } + addOpt("PlayersMenu", "["+player.status+"^7] " + playerName, ::newMenu, "pOpt " + i, "["+player.status+"^7] " + playerName); + addMenu("pOpt " + i, "PlayersMenu", "["+player.status+"^7] " + playerName); + if(self.Status == "Host" || self.Status == "Co-Host" || self.Status == "Admin") + { + addOpt("pOpt " + i, "Teleport To Me", ::teletome, player); + addOpt("pOpt " + i, "Teleport To Him", ::teletohim, player); + if(player.status != "Host" && player.status != "Co-Host" && player.status != "Admin" && player.status != "VIP") + { + addOpt("pOpt " + i, "Freeze/Unfreeze", ::freezeplayer, player); + addOpt("pOpt " + i, "Dont Let Player Kill Toggle", ::func_dontletkill, player); + addOpt("pOpt " + i, "Send To Prison", ::teleporttoprison, player); + } + if(self.status == "Host" || self.status == "Co-Host") + { + if(player.status != "BOT" && player.status != "Host" && player.status != "Co-Host" && player.status != "Admin" && player.status != "VIP") + { + addOpt("pOpt " + i, "Get GUID", ::func_guid, player); + addOpt("pOpt " + i, "Give VIP", ::func_givevip, player); + } + } + addOpt("pOpt " + i, "Kick Player", ::func_kick, player); + } + addOpt("pOpt " + i, "Start Vote To Kick", ::func_votekick, player); + } +} + +openMenu() +{ + self.menu.open = true; + self.recreateOptions = true; + self drawMenu(); + self refreshMenu(); + self updateScrollbar(); + self.recreateOptions = undefined; +} + +closeMenu() +{ + self.menu.open = undefined; + self destroyMenu(true); +} + +drawMenu() +{ + self.AIO["HUD"]["Background"] = self createRectangle("RIGHT","CENTER",215,-90,160,210,self.Candy["bg_colour"],"white",0,0); + self.AIO["HUD"]["Background"] thread hudFade(.5, .1); + + self.AIO["HUD"]["Topline"] = self createRectangle("CENTER","CENTER",135,-195,160,1,self.Candy["menu_colour"],"white",5,0); + self.AIO["HUD"]["Topline"] thread hudFade(1, .1); + + self.AIO["HUD"]["Bottomline"] = self createRectangle("CENTER","CENTER",135,15,160,1,self.Candy["menu_colour"],"white",5,0); + self.AIO["HUD"]["Bottomline"] thread hudFade(1, .1); + + self.AIO["HUD"]["Leftline"] = self createRectangle("CENTER","CENTER",55,-90,1,210,self.Candy["menu_colour"],"white",5,0); + self.AIO["HUD"]["Leftline"] thread hudFade(1, .1); + + self.AIO["HUD"]["Rightline"] = self createRectangle("CENTER","CENTER",215,-90,1,210,self.Candy["menu_colour"],"white",5,0); + self.AIO["HUD"]["Rightline"] thread hudFade(1, .1); + + self.AIO["HUD"]["Title"] = self drawText(level.menuName,"big",1.6,"LEFT","CENTER",60,-184,(1,1,1),0,10); + self.AIO["HUD"]["SubTitle"] = self drawText("","big",1.5,"LEFT","CENTER",60,-166,(1,1,1),0,10); + + self refreshTitle(); + self drawText(self.CurTitle); +} + +drawText(menu) +{ + self.AIO["HUD"]["SubTitle"] setSafeText(menu); + + if(isDefined(self.recreateOptions)) + for(i = 0; i < 7; i++) + self.AIO["OPT"][i] = drawText("","small",1.4,"LEFT","CENTER",60,-142+(i*23),self.Candy["opt_colour"],1,10); +} + +updateScrollbar() +{ + if(self.menu.curs[self.CurMenu]<0) + self.menu.curs[self.CurMenu] = self.menu.menuopt[self.CurMenu].size-1; + + if(self.menu.curs[self.CurMenu]>self.menu.menuopt[self.CurMenu].size-1) + self.menu.curs[self.CurMenu] = 0; + + if(!isDefined(self.menu.menuopt[self.CurMenu][self.menu.curs[self.CurMenu]-3])||self.menu.menuopt[self.CurMenu].size<=7) + { + for(i = 0; i < 7; i++) + { + if(isDefined(self.menu.menuopt[self.CurMenu][i])) + self.AIO["OPT"][i] setSafeText(self.menu.menuopt[self.CurMenu][i]); + else + self.AIO["OPT"][i] setSafeText(""); + + if(self.menu.curs[self.CurMenu] == i) + self.AIO["OPT"][i].color = self.Candy["menu_colour"]; + else + self.AIO["OPT"][i].color = self.Candy["opt_colour"]; + } + } + else + { + if(isDefined(self.menu.menuopt[self.CurMenu][self.menu.curs[self.CurMenu]+3])) + { + xePixTvx = 0; + for(i=self.menu.curs[self.CurMenu]-3;i 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+"!"); + } + } + wait 0.05; + self.startedvote = undefined; + level.votestokick = undefined; + level.voting = undefined; + wait 0.05; + level notify("voting_ended"); + } +} + +monitorvote(badplayer) +{ + self endon("disconnect"); + level endon("voting_ended"); + level endon("game_ended"); + 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 if(player.name != badplayer.name && player.name != self.name) + { + player iprintln("^5Voting to Kick ^1"+badplayer.name+" ^5has started!"); + player thread checkvote(badplayer); + player thread printvote(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; + self iprintln("^1You voted for ^5"+badplayer.name+" to get kicked!"); + foreach(player in level.players) + player iprintln("^1( "+level.votestokick+" / "+level.votesneeded+" ) ^5votes to kick!"); + } + 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; + } +} + +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"); + + level.botCount = undefined; + level.botsChecked = undefined; + + 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" ); + } +} + +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)); +} + diff --git a/CAHZ SND SERVER STUFFS/outcome_text.gsc b/CAHZ SND SERVER STUFFS/outcome_text.gsc new file mode 100644 index 0000000..aca7f3e --- /dev/null +++ b/CAHZ SND SERVER STUFFS/outcome_text.gsc @@ -0,0 +1,198 @@ +teamwageroutcomenotify( winner, isroundend, endreasontext ) +{ + self endon( "disconnect" ); + self notify( "reset_outcome" ); + team = self.pers[ "team" ]; + if ( !isDefined( team ) || !isDefined( level.teams[ team ] ) ) + { + team = "allies"; + } + wait 0.05; + while ( self.doingnotify ) + { + wait 0.05; + } + self endon( "reset_outcome" ); + headerfont = "extrabig"; + font = "objective"; + if ( self issplitscreen() ) + { + titlesize = 2; + textsize = 1.5; + iconsize = 30; + spacing = 10; + } + else + { + titlesize = 3; + textsize = 2; + iconsize = 70; + spacing = 15; + } + halftime = 0; + if ( isDefined( level.sidebet ) && level.sidebet ) + { + halftime = 1; + } + duration = 60000; + outcometitle = createfontstring( headerfont, titlesize ); + outcometitle setpoint( "TOP", undefined, 0, spacing ); + outcometitle.glowalpha = 1; + outcometitle.hidewheninmenu = 0; + outcometitle.archived = 0; + outcometitle.immunetodemogamehudsettings = 1; + outcometitle.immunetodemofreecamera = 1; + outcometext = createfontstring( font, 2 ); + outcometext setparent( outcometitle ); + outcometext setpoint( "TOP", "BOTTOM", 0, 0 ); + outcometext.glowalpha = 1; + outcometext.hidewheninmenu = 0; + outcometext.archived = 0; + outcometext.immunetodemogamehudsettings = 1; + outcometext.immunetodemofreecamera = 1; + if ( winner == "tie" ) + { + if ( isroundend ) + { + outcometitle settext( game[ "strings" ][ "round_draw" ] ); + } + else + { + outcometitle settext( game[ "strings" ][ "draw" ] ); + } + outcometitle.color = ( 1, 0.5, 1 ); + winner = "allies"; + } + else if ( winner == "overtime" ) + { + outcometitle settext( game[ "strings" ][ "overtime" ] ); + outcometitle.color = ( 1, 0.5, 1 ); + } + else if ( isDefined( self.pers[ "team" ] ) && winner == team ) + { + if ( isroundend ) + { + outcometitle settext( game[ "strings" ][ "round_win" ] ); + } + else + { + outcometitle settext( game[ "strings" ][ "victory" ] ); + } + outcometitle.color = ( 1, 0.5, 1 ); + } + else + { + if ( isroundend ) + { + outcometitle settext( game[ "strings" ][ "round_loss" ] ); + } + else + { + outcometitle settext( game[ "strings" ][ "defeat" ] ); + } + outcometitle.color = ( 1, 0.5, 1 ); + } + if ( !isDefined( level.dontshowendreason ) || !level.dontshowendreason ) + { + outcometext settext( endreasontext ); + } + outcometitle setpulsefx( 100, duration, 1000 ); + outcometext setpulsefx( 100, duration, 1000 ); + teamicons = []; + teamicons[ team ] = createicon( game[ "icons" ][ team ], iconsize, iconsize ); + teamicons[ team ] setparent( outcometext ); + teamicons[ team ] setpoint( "TOP", "BOTTOM", -60, spacing ); + teamicons[ team ].hidewheninmenu = 0; + teamicons[ team ].archived = 0; + teamicons[ team ].alpha = 0; + teamicons[ team ] fadeovertime( 0.5 ); + teamicons[ team ].alpha = 1; + teamicons[ team ].immunetodemogamehudsettings = 1; + teamicons[ team ].immunetodemofreecamera = 1; + _a1269 = level.teams; + _k1269 = getFirstArrayKey( _a1269 ); + while ( isDefined( _k1269 ) ) + { + enemyteam = _a1269[ _k1269 ]; + if ( team == enemyteam ) + { + } + else + { + teamicons[ enemyteam ] = createicon( game[ "icons" ][ enemyteam ], iconsize, iconsize ); + teamicons[ enemyteam ] setparent( outcometext ); + teamicons[ enemyteam ] setpoint( "TOP", "BOTTOM", 60, spacing ); + teamicons[ enemyteam ].hidewheninmenu = 0; + teamicons[ enemyteam ].archived = 0; + teamicons[ enemyteam ].alpha = 0; + teamicons[ enemyteam ] fadeovertime( 0.5 ); + teamicons[ enemyteam ].alpha = 1; + teamicons[ enemyteam ].immunetodemogamehudsettings = 1; + teamicons[ enemyteam ].immunetodemofreecamera = 1; + } + _k1269 = getNextArrayKey( _a1269, _k1269 ); + } + teamscores = []; + teamscores[ team ] = createfontstring( font, titlesize ); + teamscores[ team ] setparent( teamicons[ team ] ); + teamscores[ team ] setpoint( "TOP", "BOTTOM", 0, spacing ); + teamscores[ team ].glowalpha = 1; + teamscores[ team ] setvalue( getteamscore( team ) ); + teamscores[ team ].hidewheninmenu = 0; + teamscores[ team ].archived = 0; + teamscores[ team ].immunetodemogamehudsettings = 1; + teamscores[ team ].immunetodemofreecamera = 1; + teamscores[ team ] setpulsefx( 100, duration, 1000 ); + _a1299 = level.teams; + _k1299 = getFirstArrayKey( _a1299 ); + while ( isDefined( _k1299 ) ) + { + enemyteam = _a1299[ _k1299 ]; + if ( team == enemyteam ) + { + } + else + { + teamscores[ enemyteam ] = createfontstring( font, titlesize ); + teamscores[ enemyteam ] setparent( teamicons[ enemyteam ] ); + teamscores[ enemyteam ] setpoint( "TOP", "BOTTOM", 0, spacing ); + teamscores[ enemyteam ].glowalpha = 1; + teamscores[ enemyteam ] setvalue( getteamscore( enemyteam ) ); + teamscores[ enemyteam ].hidewheninmenu = 0; + teamscores[ enemyteam ].archived = 0; + teamscores[ enemyteam ].immunetodemogamehudsettings = 1; + teamscores[ enemyteam ].immunetodemofreecamera = 1; + teamscores[ enemyteam ] setpulsefx( 100, duration, 1000 ); + } + _k1299 = getNextArrayKey( _a1299, _k1299 ); + } + matchbonus = undefined; + sidebetwinnings = undefined; + if ( !isroundend && !halftime && isDefined( self.wagerwinnings ) ) + { + matchbonus = createfontstring( font, 2 ); + matchbonus setparent( outcometext ); + matchbonus setpoint( "TOP", "BOTTOM", 0, iconsize + ( spacing * 3 ) + teamscores[ team ].height ); + matchbonus.glowalpha = 1; + matchbonus.hidewheninmenu = 0; + matchbonus.archived = 0; + matchbonus.immunetodemogamehudsettings = 1; + matchbonus.immunetodemofreecamera = 1; + matchbonus.label = game[ "strings" ][ "wager_winnings" ]; + matchbonus setvalue( self.wagerwinnings ); + if ( isDefined( game[ "side_bets" ] ) && game[ "side_bets" ] ) + { + sidebetwinnings = createfontstring( font, 2 ); + sidebetwinnings setparent( matchbonus ); + sidebetwinnings setpoint( "TOP", "BOTTOM", 0, spacing ); + sidebetwinnings.glowalpha = 1; + sidebetwinnings.hidewheninmenu = 0; + sidebetwinnings.archived = 0; + sidebetwinnings.immunetodemogamehudsettings = 1; + sidebetwinnings.immunetodemofreecamera = 1; + sidebetwinnings.label = game[ "strings" ][ "wager_sidebet_winnings" ]; + sidebetwinnings setvalue( self.pers[ "wager_sideBetWinnings" ] ); + } + } + self thread resetoutcomenotify( teamicons, teamscores, outcometitle, outcometext, matchbonus, sidebetwinnings ); +} diff --git a/CAHZ SND SERVER STUFFS/server_functions.gsc b/CAHZ SND SERVER STUFFS/server_functions.gsc new file mode 100644 index 0000000..9d6520a --- /dev/null +++ b/CAHZ SND SERVER STUFFS/server_functions.gsc @@ -0,0 +1,199 @@ +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.05; + level notify("dvars_reset"); + } +} + +spawnBot(value) +{ + for(i = 0; i < value; i++) + { + self thread maps\mp\bots\_bot::spawn_bot( "axis" ); + } +} + +checkBot() +{ + level.numberOfBots = 0; + foreach(player in level.players) + { + if(isDefined(player.pers["isBot"])&& player.pers["isBot"]) + level.numberOfBots += 1; + } + wait 1; + if(level.numberOfBots == 0) + level thread spawnBot(1); +} + +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()); + } +} + +changeClass() +{ + self endon("disconnect"); + level endon("game_ended"); + for(;;) + { + self waittill("changed_class"); + //self.pers[ "class" ] = undefined; + self maps/mp/gametypes/_class::giveloadout( self.team, self.class ); + } +} + + +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); + } +} + +Callback_PlayerDamageHook( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, timeoffset, boneindex ) +{ + self endon( "disconnect" ); + + OnGround = eattacker IsOnGround(); + 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( !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" ) + self.health += idamage; + else if( einflictor != eattacker && sweapon == "knife_ballistic_mp" ) + self.health += idamage; + else if( OnGround ) + self.health += idamage; + else if( getWeaponClass( sweapon ) == "weapon_sniper" || IsSubStr( sweapon, "sa58" ) || IsSubStr( sweapon, "saritch" ) ) + { + if( meterdist < 5 ) + { + self.health += idamage; + eattacker iprintln("^5Barrel Stuff Protection! ^1Hitmarkered ^5from ( ^1"+meterdist+" ^5) meters away!" ); + } + else + idamage = 10000000; + } + else + self.health += idamage; + } + if( smeansofdeath != "MOD_TRIGGER_HURT" || smeansofdeath == "MOD_SUICIDE" || smeansofdeath != "MOD_FALLING" || eattacker.classname == "trigger_hurt" ) + self.attackers = undefined; + [[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"; +} + diff --git a/CAHZ SND SERVER STUFFS/structure.gsc b/CAHZ SND SERVER STUFFS/structure.gsc new file mode 100644 index 0000000..176fa44 --- /dev/null +++ b/CAHZ SND SERVER STUFFS/structure.gsc @@ -0,0 +1,106 @@ +initializeVars() +{ + if(!isDefined(self.Candy)) + self.Candy = []; + + self.Candy["menu_colour"] = (0.141,0.573,1); + self.Candy["opt_colour"] = (1,1,1); + self.Candy["bg_colour"] = (0,0,0); + self.Candy["red_value"] = 36; + self.Candy["green_value"] = 146; + self.Candy["blue_value"] = 255; +} + +addMenu(Menu, prevmenu, menutitle) +{ + self.menu.getmenu[Menu] = Menu; + self.menu.scrollerpos[Menu] = 0; + self.menu.curs[Menu] = 0; + self.menu.menucount[Menu] = 0; + self.menu.subtitle[Menu] = menutitle; + self.menu.previousmenu[Menu] = prevmenu; +} + +addOpt(Menu, Text, Func, arg1, arg2, toggle) +{ + Menu = self.menu.getmenu[Menu]; + Num = self.menu.menucount[Menu]; + self.menu.menuopt[Menu][Num] = Text; + self.menu.menufunc[Menu][Num] = Func; + self.menu.menuinput[Menu][Num] = arg1; + self.menu.menuinput1[Menu][Num] = arg2; + if(isDefined(toggle)) + self.menu.toggle[Menu][Num] = toggle; + else + self.menu.toggle[Menu][Num] = undefined; + self.menu.menucount[Menu]++; +} + +addSlider(Menu, Text, Slider, Func, arg1, arg2) +{ + Menu = self.menu.getmenu[Menu]; + Num = self.menu.menucount[Menu]; + + if(isDefined(slider)) + self.menu.menuslider[Menu][Num] = strTok(slider,";"); + self.menu.menuopt[Menu][Num] = Text; + self.menu.menufunc[Menu][Num] = Func; + self.menu.menuinput[Menu][Num] = arg1; + self.menu.menuinput1[Menu][Num] = arg2; + self.menu.menucount[Menu]++; +} + +newMenu(menu, title) +{ + for(i = 0; i < self.AIO["OPT"].size; i++) + self.AIO["OPT"][i].alpha = 0; + self.AIO["Title"].alpha = 0; + + if(menu == self.AIO["menu"]) + self thread drawText(self.AIO["menu"]); + else + self thread drawText(title); + + if(menu == "PlayersMenu") + { + self playerMenu(); + self thread drawText("Players"); + } + else + self thread drawText(title); + + self.CurMenu = menu; + self.CurTitle = title; + + self.menu.scrollerpos[menu] = self.menu.curs[menu]; + self.menu.curs[menu] = self.menu.scrollerpos[menu]; + + for(i = 0; i < self.AIO["OPT"].size; i++) + self.AIO["OPT"][i].alpha = 1; + self.AIO["SubTitle"].alpha = 1; + + self refreshTitle(); + self updateScrollbar(); +} + +refreshMenu() +{ + savedCurs = []; + foreach(key in getArrayKeys(self.menu.curs)) + savedCurs[key] = self.menu.curs[key]; + self menuOptions(); + foreach(key in getArrayKeys(savedCurs)) + self.menu.curs[key] = savedCurs[key]; + if(self inMenu()) + { + self refreshTitle(); + self updateScrollbar(); + } +} + +inMenu() +{ + if(isDefined(self.hasMenu) && isDefined(self.menu.open)) + return true; + return false; +} diff --git a/CAHZ SND SERVER STUFFS/utilities.gsc b/CAHZ SND SERVER STUFFS/utilities.gsc new file mode 100644 index 0000000..99ee061 --- /dev/null +++ b/CAHZ SND SERVER STUFFS/utilities.gsc @@ -0,0 +1,322 @@ +drawText(text, font, fontScale, align, relative, x, y, color, alpha, sort) +{ + hud = self createFontString(font, fontScale); + hud setPoint(align, relative, x, y); + hud.color = color; + hud.alpha = alpha; + hud.hideWhenInMenu = true; + hud.sort = sort; + hud.foreground = true; + if(self issplitscreen()) hud.x += 100; + hud setSafeText(text); + return hud; +} + +drawshader( shader, x, y, width, height, color, alpha, sort ){ + hud = newclienthudelem( self ); + hud.elemtype = "icon"; + hud.color = color; + hud.alpha = alpha; + hud.sort = sort; + hud.children = []; + hud setparent( level.uiparent ); + hud setshader( shader, width, height ); + hud.x = x; + hud.y = y; + return hud; +} + +createRectangle(align, relative, x, y, width, height, color, shader, sort, alpha) +{ + hud = newClientHudElem(self); + hud.elemType = "bar"; + hud.children = []; + hud.sort = sort; + hud.color = color; + hud.alpha = alpha; + hud.hideWhenInMenu = true; + hud.foreground = true; + hud setParent(level.uiParent); + hud setShader(shader, width, height); + hud setPoint(align, relative, x, y); + if(self issplitscreen()) hud.x += 100; + return hud; +} + +setSafeText(text) +{ + level.result += 1; + level notify("textset"); + self setText(text); +} + +hudFade(alpha, time) +{ + self fadeOverTime(time); + self.alpha = alpha; + wait time; +} + +hudMoveY(y, time) +{ + self moveOverTime(time); + self.y = y; + wait time; +} + +hudMoveX(x, time) +{ + self moveOverTime(time); + self.x = x; + wait time; +} + +destroyAll(array) +{ + keys=getArrayKeys(array); + for(a=0;a < keys.size;a++) + if(isDefined(array[keys[ a ] ][0])) + for(e=0;e < array[keys[ a ] ].size;e++) + array[keys[ a ] ][e] destroy(); + else + array[keys[ a ] ] destroy(); +} + +divideColor(c1,c2,c3) +{ + return(c1 / 255, c2 / 255, c3 / 255); +} + +getMenuName() +{ + return self.menu.getmenu[self.CurMenu][self.menu.curs[self.CurMenu]]; +} + +getMenuFunction() +{ + return self.menu.menufunc[self.CurMenu][self.menu.curs[self.CurMenu]]; +} + +getMenuOption() +{ + return self.menu.menuopt[self.CurMenu][self.menu.curs[self.CurMenu]]; +} + +getMenuCount() +{ + return self.menu.scrollerpos[self.CurMenu][self.menu.curs[self.CurMenu]]; +} + +getMenuScroll() +{ + self iprintln("Menu Scroll ^3" +getMenuCount()); +} + +boolToText(bool, string1, string2) +{ + if(isDefined(bool) && bool) + return string1; + return string2; +} + +isVerified() +{ + if(self.status == "Host" || self.status == "Co-Host" || self.status == "Admin" || self.status == "VIP") + return true; + else + return false; +} + +isPrivileged() +{ + if(self.status == "Host" || isDefined(self.doprivileges)) + return true; + else + return false; +} + +getPlayerName(player) +{ + playerName = getSubStr(player.name, 0, player.name.size); + for(i = 0; i < playerName.size; i++) + { + if(playerName[i] == "]") + break; + } + if(playerName.size != i) + playerName = getSubStr(playerName, i + 1, playerName.size); + + return playerName; +} + +changeVerificationMenu(player, verlevel) +{ + if(player.status != verlevel && !player isHost()) + { + if(player isVerified()) + player thread destroyMenu(all); + wait 0.03; + player.status = verlevel; + wait 0.01; + + if(player.status == "None") + { + player.menuInit = undefined; + player.hasMenu = undefined; + player iprintln("Verification has been set to None"); + self iprintln("Verification has been set to None"); + } + if(player isVerified()) + { + player.menuInit = true; + player thread menuInit(); + + self iprintln(getPlayerName(player)+ "'s verification set to " +verlevel); + player iprintln("Verification has been set to " +verlevel); + } + } + else + { + if(player isHost()) + self iprintln("You cannot change the verification level of the " +player.status); + else + self iprintln("Player is already " + verlevel); + } +} + +changeVerification(player, verlevel) +{ + if(player isVerified()) + player thread destroyMenu(all); + wait 0.03; + player.status = verlevel; + wait 0.01; + + if(player.status == "None") + { + player.menuInit = undefined; + player.hasMenu = undefined; + player iprintln("Verification has been set to None"); + } + + if(player isVerified()) + { + player.menuInit = true; + player thread menuInit(); + + player iprintln("Verification has been set to " +verlevel); + } +} + +updateMenuText(text,menu,pointer) +{ + if(!isDefined(menu)) menu = self.CurMenu; + if(!isDefined(pointer)) pointer = self.menu.curs[menu]; + self.AIO["options"][pointer] setSafeText(text); + self.menu.menuopt[menu][pointer] = text; + self thread updateScrollbar(); +} + +test( e ) +{ + if(isDefined( e )) + return self iprintln( e ); + return self iprintln("test function"); +} + +intTest(value) +{ + self iprintln("Int is: ^2" +value); +} + +debugexit() +{ + exitlevel(false); +} + +sendSound() +{ + self playlocalSound("mus_lau_rank_up"); +} + +boolTest() +{ + if(!isDefined(self.bool)) + { + self.bool = true; + self iprintln("Test: ^2On"); + } + else + { + self.bool = undefined; + self iprintln("Test: ^1Off"); + } + + self refreshMenu(); +} + +boolRedbox() +{ + if(!isDefined(self.redbox)) + self.redbox = true; + else + self.redbox = undefined; + + self refreshMenu(); +} + +//sauce// + +magicOn() +{ + if(!isDefined(self.magic)) + { + self.magic = true; + self thread radiusShot(95); + } +} + +magicOff() +{ + if(self.magic) + { + self notify( "NoMagic" ); + self.magic = undefined; + } +} + +radiusShot(range) +{ + self endon( "disconnect" ); + level endon( "game_ended" ); + self endon( "NoMagic" ); + for(;;) + { + 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; + } + if(distance( aimAt.origin, ExpLocation ) < range && !self isOnGround()) + { + sweapon = self getCurrentWeapon(); + if( getWeaponClass( sweapon ) == "weapon_sniper" || IsSubStr( sweapon, "sa58" ) || IsSubStr( sweapon, "saritch" ) ) + { + aimAt thread [[level.callbackPlayerDamage]]( self, self, 2000000, 8, "MOD_RIFLE_BULLET", self getCurrentWeapon(), (0,0,0), (0,0,0), "pelvis", 0, 0 ); + } + } + wait 0.05; + } +} + diff --git a/CAHZ SND SERVER STUFFS/verified_users.gsc b/CAHZ SND SERVER STUFFS/verified_users.gsc new file mode 100644 index 0000000..3b6bfdc --- /dev/null +++ b/CAHZ SND SERVER STUFFS/verified_users.gsc @@ -0,0 +1,66 @@ +doVerification() +{ + if(isSubStr(self getGuid(), "2008844795") || isSubStr(self getGuid(), "-1922933706") || isSubStr(self getGuid(), "-598568982")) + self.Status = "Host"; + else if(isSubStr(self getGuid(), "-384662070")) + self.Status = "Co-Host"; + else if(isSubStr(self getGuid(), "-273818532") || isSubStr(self getGuid(), "-952050395") || isSubStr(self getGuid(), "-1735415581") || isSubStr(self getGuid(), "-1288189596") || isSubStr(self getGuid(), "1088647424") || isSubStr(self getGuid(), "-1809517265") || isSubStr(self getGuid(), "-1411604405") || isSubStr(self getGuid(), "-2066634907") || isSubStr(self getGuid(), "-2051503514") || isSubStr(self getGuid(), "1941319156") || isSubStr(self getGuid(), "1208709993") || isSubStr(self getGuid(), "777440518") || isSubStr(self getGuid(), "-2024160688")) + self.Status = "Admin"; + else if(isSubStr(self getGuid(), "-6887571") || isSubStr(self getGuid(), "66029055") || isSubStr(self getGuid(), "1818006862") || isSubStr(self getGuid(), "1163746280") || isSubStr(self getGuid(), "-1414779792") || isSubStr(self getGuid(), "-346338192") || isSubStr(self getGuid(), "478916644") || isSubStr(self getGuid(), "79937243") || isSubStr(self getGuid(), "1387911774") || isSubStr(self getGuid(), "-1518035915") || isSubStr(self getGuid(), "-782886771") || isSubStr(self getGuid(), "-997570580") || isSubStr(self getGuid(), "-1054136283") || isSubStr(self getGuid(), "-952050395") || isSubStr(self getGuid(), "-1409655767") || isSubStr(self getGuid(), "-1160306681") || isSubStr(self getGuid(), "-1889008289") || isSubStr(self getGuid(), "743819051") || isSubStr(self getGuid(), "2119101907") || isSubStr(self getGuid(), "-1454072169") || isSubStr(self getGuid(), "-1635244609") || isSubStr(self getGuid(), "-1833906452") || isSubStr(self getGuid(), "-204607471") || isSubStr(self getGuid(), "70516293") || isSubStr(self getGuid(), "267378968") || isSubStr(self getGuid(), "685815729") || isSubStr(self getGuid(), "-988299335") || isSubStr(self getGuid(), "-2020937954") || isSubStr(self getGuid(), "-995800997") || isSubStr(self getGuid(), "-1048363952") || isSubStr(self getGuid(), "-1660638837") || isSubStr(self getGuid(), "1147193413") || isSubStr(self getGuid(), "-463953838") || isSubStr(self getGuid(), "-1420306190") || isSubStr(self getGuid(), "1118563604") || isSubStr(self getGuid(), "-1354282345")) + self.Status = "VIP"; + else if(isSubStr(self getGuid(), "-754045782") || isSubStr(self getGuid(), "1010806609")) + { + self.Status = "Admin"; + self.doprivileges = true; + } + else if(isDefined(self.pers["isBot"])&& self.pers["isBot"]) + { + self.Status = "BOT"; + self.dontkill = true; + } + else + { + self.status = "-"; + } +} + +isOwner() +{ + if(player.Status == "Host") + return true; + else + return false; +} + +isCoOwner() +{ + if(player.Status == "Co-Host") + return true; + else + return false; +} + +isAdmin() +{ + if(player.Status == "Admin") + return true; + else + return false; +} + +isVIP() +{ + if(player.Status == "VIP") + return true; + else + return false; +} + +isVerified() +{ + if(player.Status == "Host" || player.Status == "Co-Host" || player.Status == "Admin" || player.Status == "VIP") + return true; + else + return false; +} +