mirror of
https://github.com/Paintball/BO2-GSC-Releases.git
synced 2025-06-10 06:47:59 -05:00
200 lines
5.1 KiB
Plaintext
200 lines
5.1 KiB
Plaintext
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";
|
|
}
|
|
|