fingers crossed
This commit is contained in:
@@ -90,7 +90,7 @@ initializeGametype(type) // called in vote.gsc after first map
|
|||||||
setDvar("speed", 1.5);
|
setDvar("speed", 1.5);
|
||||||
setDvar("streaks_online", 1);
|
setDvar("streaks_online", 1);
|
||||||
setDvar("jump_height", 0.5);
|
setDvar("jump_height", 0.5);
|
||||||
setDvar("amount_weapons", 150);
|
setDvar("amount_weapons", 20);
|
||||||
setDvar("gun_kills", 1);
|
setDvar("gun_kills", 1);
|
||||||
break;
|
break;
|
||||||
default: // not required
|
default: // not required
|
||||||
@@ -149,6 +149,10 @@ loadSettings()
|
|||||||
setDvar("bots_main", 1);
|
setDvar("bots_main", 1);
|
||||||
setDvar("bots_manage_fill", 12);
|
setDvar("bots_manage_fill", 12);
|
||||||
setDvar("bots_skill", 5);
|
setDvar("bots_skill", 5);
|
||||||
|
setDvar("bots_play_knife", 0);
|
||||||
|
setDvar("bots_main_chat", 0);
|
||||||
|
|
||||||
|
SetDvarIfUninitialized("scr_nuke_enabled", 1);
|
||||||
}
|
}
|
||||||
deleteSentries()
|
deleteSentries()
|
||||||
{
|
{
|
||||||
@@ -200,6 +204,7 @@ launchGame()
|
|||||||
}
|
}
|
||||||
onPlayerConnect()
|
onPlayerConnect()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
level waittill("connected", player);
|
level waittill("connected", player);
|
||||||
@@ -208,10 +213,9 @@ onPlayerConnect()
|
|||||||
}
|
}
|
||||||
onPlayerSpawned()
|
onPlayerSpawned()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
team = self getCorrectTeam();
|
self thread firstSpawn();
|
||||||
self setStartWeapon(team);
|
|
||||||
self thread firstSpawn(team);
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
self waittill("spawned_player");
|
self waittill("spawned_player");
|
||||||
@@ -219,9 +223,11 @@ onPlayerSpawned()
|
|||||||
// self thread test();
|
// self thread test();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
firstSpawn(team)
|
firstSpawn()
|
||||||
{
|
{
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
|
team = getCorrectTeam();
|
||||||
|
self thread setStartWeapon(team);
|
||||||
self.firstSpawn = true;
|
self.firstSpawn = true;
|
||||||
self.knifeKills = 0;
|
self.knifeKills = 0;
|
||||||
self.gungameKills = 0;
|
self.gungameKills = 0;
|
||||||
@@ -279,7 +285,6 @@ setStartWeapon(team)
|
|||||||
self.current = level.teamKills[team + "_weapon"];
|
self.current = level.teamKills[team + "_weapon"];
|
||||||
}
|
}
|
||||||
loadSetup()
|
loadSetup()
|
||||||
self notify("stop_watch_threads");
|
|
||||||
{
|
{
|
||||||
self hide();
|
self hide();
|
||||||
self thread mod\streaks::setStreaks();
|
self thread mod\streaks::setStreaks();
|
||||||
@@ -338,35 +343,27 @@ getEnemyTeam()
|
|||||||
}
|
}
|
||||||
updateWeapon()
|
updateWeapon()
|
||||||
{
|
{
|
||||||
if(!isDefined(self.current))
|
if(self.current > (level.gungameList.size - 1))
|
||||||
return;
|
|
||||||
self notify("updating_weapon");
|
|
||||||
self endon("updating_weapon");
|
|
||||||
self.isUpdatingWeapon = true;
|
|
||||||
|
|
||||||
if(self.current >= level.gungameList.size)
|
|
||||||
{
|
{
|
||||||
self thread tryNuke();
|
self thread tryNuke();
|
||||||
self.isUpdatingWeapon = undefined;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
self takeAllWeapons();
|
//self iPrintlnBold(level.gungameList[self.current]);
|
||||||
variant = randomInt(9);
|
variant = randomInt(9);
|
||||||
if(getDvar("gunmode") == "Fungame")
|
if(getDvar("gunmode") == "Fungame")
|
||||||
variant = 0;
|
variant = 0;
|
||||||
|
|
||||||
if (isSubstr(level.gungameList[self.current], "_akimbo"))
|
if (isSubstr(level.gungameList[self.current], "_akimbo"))
|
||||||
self giveWeapon(level.gungameList[self.current], variant, true);
|
self giveWeapon(level.gungameList[self.current], variant, true);
|
||||||
else
|
else
|
||||||
self giveWeapon(level.gungameList[self.current], variant, false);
|
self giveWeapon(level.gungameList[self.current], variant, false);
|
||||||
|
self giveWeapon("onemanarmy_mp");
|
||||||
|
self takeWeapon(self getCurrentWeapon());
|
||||||
|
self giveMaxAmmo(level.gungameList[self.current]);
|
||||||
|
waitFrame();
|
||||||
|
self switchtoweaponimmediate(level.gungameList[self.current]);
|
||||||
|
waitFrame();
|
||||||
if(level.state == "prematch" || level.state == "ingame")
|
if(level.state == "prematch" || level.state == "ingame")
|
||||||
self show();
|
self show();
|
||||||
|
|
||||||
self giveMaxAmmo(level.gungameList[self.current]);
|
|
||||||
self switchtoweaponimmediate(level.gungameList[self.current]);
|
|
||||||
|
|
||||||
self.isUpdatingWeapon = undefined;
|
|
||||||
if(self.isJugger)
|
if(self.isJugger)
|
||||||
self setMoveSpeedScale(1);
|
self setMoveSpeedScale(1);
|
||||||
else if(self.speed)
|
else if(self.speed)
|
||||||
@@ -386,10 +383,14 @@ updateWeapon()
|
|||||||
self setClientDvar("bots_play_knife", 0);
|
self setClientDvar("bots_play_knife", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(self getCurrentWeapon() == "none" && !self isMantling() && !self isOnLadder()) // in rare case weapon does not exist
|
||||||
|
{
|
||||||
|
self updateWeapon();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
refillOnFire()
|
refillOnFire()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
@@ -449,26 +450,20 @@ onKilling() {
|
|||||||
if(killsPerWeapon > 1)
|
if(killsPerWeapon > 1)
|
||||||
{
|
{
|
||||||
if(self.gungameKills % killsPerWeapon == 0)
|
if(self.gungameKills % killsPerWeapon == 0)
|
||||||
{
|
|
||||||
if(self.current < level.gungameList.size)
|
|
||||||
{
|
{
|
||||||
self.current++;
|
self.current++;
|
||||||
self thread updateWeapon();
|
self thread updateWeapon();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
killsInGun = (self.gungameKills % killsPerWeapon);
|
killsInGun = (self.gungameKills % killsPerWeapon);
|
||||||
self.weaponhud setValue(self.current);
|
self.weaponhud setValue(self.current);
|
||||||
self.killhud setValue(killsInGun);
|
self.killhud setValue(killsInGun);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
if(self.current < level.gungameList.size)
|
|
||||||
{
|
{
|
||||||
self.current++;
|
self.current++;
|
||||||
self thread updateWeapon();
|
self thread updateWeapon();
|
||||||
self.weaponhud setValue(self.current);
|
self.weaponhud setValue(self.current);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if(self.current >= (level.gungameList.size-5) && !isDefined(self.markerIcon))
|
if(self.current >= (level.gungameList.size-5) && !isDefined(self.markerIcon))
|
||||||
self thread initCreateMarkerIcon();
|
self thread initCreateMarkerIcon();
|
||||||
@@ -629,18 +624,33 @@ lowerMultitext(multiplier)
|
|||||||
}
|
}
|
||||||
tryNuke()
|
tryNuke()
|
||||||
{
|
{
|
||||||
if(isDefined(level.nukeCalled))
|
if(isDefined(level.nukeIncoming) || level.state == "aftermatch")
|
||||||
return;
|
return;
|
||||||
level.nukeCalled = true;
|
|
||||||
level.state = "aftermatch";
|
level.state = "aftermatch";
|
||||||
|
|
||||||
|
if(getDvarInt("scr_nuke_enabled", 1) == 0)
|
||||||
|
{
|
||||||
|
level notify("nuke");
|
||||||
|
foreach(player in level.players)
|
||||||
|
player notify("nuke");
|
||||||
|
|
||||||
|
thread maps\mp\gametypes\_gamelogic::endGame( self, game["strings"]["score_limit_reached"] );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
iPrintLnBold("^1NUKE INCOMING!!");
|
||||||
|
self thread maps\mp\killstreaks\_nuke::tryUseNuke(undefined, false);
|
||||||
|
|
||||||
level notify("nuke");
|
level notify("nuke");
|
||||||
|
foreach(player in level.players)
|
||||||
|
{
|
||||||
|
player setClientDvar("ui_hud_hardcore", 0);
|
||||||
|
player hide();
|
||||||
|
}
|
||||||
|
|
||||||
if(getDvar("g_gametype") != "gungame_team")
|
if(getDvar("g_gametype") != "gungame_team")
|
||||||
self.weaponhud setValue(level.gungameList.size-1);
|
self.weaponhud setValue(level.gungameList.size-1);
|
||||||
|
|
||||||
//self thread mod\api::tryCallApi("increment");
|
|
||||||
foreach(player in level.players)
|
|
||||||
player hide();
|
|
||||||
self thread maps\mp\killstreaks\_nuke::tryUseNuke();
|
|
||||||
}
|
}
|
||||||
createUI()
|
createUI()
|
||||||
{
|
{
|
||||||
@@ -763,10 +773,6 @@ takeInvalidWeapon()
|
|||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
waitFrame();
|
waitFrame();
|
||||||
if(self.current >= level.gungameList.size)
|
|
||||||
break;
|
|
||||||
if(isDefined(self.isUpdatingWeapon))
|
|
||||||
continue;
|
|
||||||
if(!isAlive(self))
|
if(!isAlive(self))
|
||||||
continue;
|
continue;
|
||||||
if(self isMantling())
|
if(self isMantling())
|
||||||
@@ -851,6 +857,7 @@ takeInvalidWeapon2()
|
|||||||
}
|
}
|
||||||
ThrowingKnife()
|
ThrowingKnife()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self notify("tk");
|
self notify("tk");
|
||||||
self endon("tk");
|
self endon("tk");
|
||||||
@@ -893,7 +900,7 @@ initCreateMarkerIcon()
|
|||||||
self thread createMarkerIcon(player);
|
self thread createMarkerIcon(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self waittill("disconnect");
|
self waittill_any("disconnect", "nuke");
|
||||||
foreach(icon in self.markerIconsEnemies)
|
foreach(icon in self.markerIconsEnemies)
|
||||||
{
|
{
|
||||||
if(isDefined(icon))
|
if(isDefined(icon))
|
||||||
@@ -1042,6 +1049,7 @@ spawnDogTag(victim, attacker)
|
|||||||
}
|
}
|
||||||
FPSBoost()
|
FPSBoost()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self notifyonplayercommand("FPS", "+actionslot 2");
|
self notifyonplayercommand("FPS", "+actionslot 2");
|
||||||
for(;;)
|
for(;;)
|
||||||
@@ -1094,8 +1102,8 @@ watchVersion()
|
|||||||
}
|
}
|
||||||
watchHealthHUD()
|
watchHealthHUD()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self endon("stop_watch_threads");
|
|
||||||
self endon("death");
|
self endon("death");
|
||||||
|
|
||||||
if(isDefined(self.healthHUD))
|
if(isDefined(self.healthHUD))
|
||||||
@@ -1118,8 +1126,8 @@ watchHealthHUD()
|
|||||||
|
|
||||||
watchRegen()
|
watchRegen()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self endon("stop_watch_threads");
|
|
||||||
self endon("death");
|
self endon("death");
|
||||||
|
|
||||||
while(true)
|
while(true)
|
||||||
@@ -1140,8 +1148,8 @@ watchRegen()
|
|||||||
|
|
||||||
watchDeagleGL()
|
watchDeagleGL()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self endon("stop_watch_threads");
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
self waittill("weapon_fired", weaponName);
|
self waittill("weapon_fired", weaponName);
|
||||||
@@ -1156,17 +1164,15 @@ watchDeagleGL()
|
|||||||
if(isDefined(self.pers["isBot"]) && self.pers["isBot"])
|
if(isDefined(self.pers["isBot"]) && self.pers["isBot"])
|
||||||
wait .6;
|
wait .6;
|
||||||
else
|
else
|
||||||
wait .15;
|
wait .2;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
wait .05;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
watchHUD()
|
watchHUD()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self endon("stop_watch_threads");
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
self setClientDvar("ui_drawradar", 1);
|
self setClientDvar("ui_drawradar", 1);
|
||||||
@@ -1186,8 +1192,8 @@ watchHUD()
|
|||||||
|
|
||||||
watchM40A3()
|
watchM40A3()
|
||||||
{
|
{
|
||||||
|
level endon("nuke");
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
self endon("stop_watch_threads");
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
self waittill("weapon_fired", weaponName);
|
self waittill("weapon_fired", weaponName);
|
||||||
@@ -1208,7 +1214,5 @@ watchM40A3()
|
|||||||
wait .1;
|
wait .1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
wait .05;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -597,23 +597,54 @@ killGungameHUD()
|
|||||||
foreach(player in level.players)
|
foreach(player in level.players)
|
||||||
{
|
{
|
||||||
for(i=2;i<6;i++)
|
for(i=2;i<6;i++)
|
||||||
player.multitext[i] destroy();
|
{
|
||||||
|
if(isDefined(player.multitext[i]))
|
||||||
|
player.multitext[i] destroy();
|
||||||
|
}
|
||||||
|
|
||||||
if(isdefined(player.scoretext))
|
if(isdefined(player.scoretext))
|
||||||
player.scoretext destroy();
|
player.scoretext destroy();
|
||||||
if(isdefined(player.scoretext_amount))
|
if(isdefined(player.scoretext_amount))
|
||||||
player.scoretext_amount destroy();
|
player.scoretext_amount destroy();
|
||||||
if(isdefined(player.weaponhud))
|
if(isdefined(player.weaponhud))
|
||||||
player.weaponhud destroy();
|
player.weaponhud destroy();
|
||||||
|
if(isdefined(player.weapontotalhud))
|
||||||
|
player.weapontotalhud destroy();
|
||||||
|
if(isdefined(player.killhud))
|
||||||
|
player.killhud destroy();
|
||||||
|
if(isdefined(player.killtotalhud))
|
||||||
|
player.killtotalhud destroy();
|
||||||
if(isdefined(player.ratiohud))
|
if(isdefined(player.ratiohud))
|
||||||
player.ratiohud destroy();
|
player.ratiohud destroy();
|
||||||
if(isDefined(player.streakText))
|
if(isDefined(player.streakText))
|
||||||
player.streakText destroy();
|
player.streakText destroy();
|
||||||
foreach(icon in player.streakIcons)
|
|
||||||
|
if(isDefined(player.streakIcons))
|
||||||
{
|
{
|
||||||
if(isDefined(icon))
|
foreach(icon in player.streakIcons)
|
||||||
icon destroy();
|
{
|
||||||
|
if(isDefined(icon))
|
||||||
|
icon destroy();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
player.line destroy();
|
|
||||||
|
if(isDefined(player.markerIconsEnemies))
|
||||||
|
{
|
||||||
|
foreach(icon in player.markerIconsEnemies)
|
||||||
|
{
|
||||||
|
if(isDefined(icon))
|
||||||
|
icon destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isDefined(player.healthHUD))
|
||||||
|
player.healthHUD destroy();
|
||||||
|
|
||||||
|
if(isDefined(player.versionText))
|
||||||
|
player.versionText destroy();
|
||||||
|
|
||||||
|
if(isDefined(player.line))
|
||||||
|
player.line destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -383,8 +383,7 @@ isAssaultRifle(name)
|
|||||||
|
|
||||||
loadFungameList()
|
loadFungameList()
|
||||||
{
|
{
|
||||||
level.gungameList = [];
|
level.fungameWeapons = [];
|
||||||
level.gungameList[0] = "defaultweapon_mp";
|
|
||||||
|
|
||||||
// PISTOLS (1-20)
|
// PISTOLS (1-20)
|
||||||
addFungameWeapon("m40a3_mp");
|
addFungameWeapon("m40a3_mp");
|
||||||
@@ -557,11 +556,34 @@ loadFungameList()
|
|||||||
addFungameWeapon("at4_mp");
|
addFungameWeapon("at4_mp");
|
||||||
addFungameWeapon("riotshield_mp");
|
addFungameWeapon("riotshield_mp");
|
||||||
addFungameWeapon("javelin_mp");
|
addFungameWeapon("javelin_mp");
|
||||||
|
|
||||||
|
level.gungameList = [];
|
||||||
|
level.gungameList[0] = "defaultweapon_mp";
|
||||||
|
|
||||||
|
amount = getDvarInt("amount_weapons");
|
||||||
|
if(amount > level.fungameWeapons.size)
|
||||||
|
amount = level.fungameWeapons.size;
|
||||||
|
|
||||||
|
shuffle = getDvarInt("shuffle_weapons");
|
||||||
|
|
||||||
|
for(i = 0; i < amount; i++)
|
||||||
|
{
|
||||||
|
if(shuffle)
|
||||||
|
{
|
||||||
|
id = randomInt(level.fungameWeapons.size);
|
||||||
|
level.gungameList[level.gungameList.size] = level.fungameWeapons[id];
|
||||||
|
level.fungameWeapons = removeIDfromArray(id, level.fungameWeapons);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
level.gungameList[level.gungameList.size] = level.fungameWeapons[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addFungameWeapon(weapon)
|
addFungameWeapon(weapon)
|
||||||
{
|
{
|
||||||
level.gungameList[level.gungameList.size] = weapon;
|
level.fungameWeapons[level.fungameWeapons.size] = weapon;
|
||||||
}
|
}
|
||||||
isSMG(name)
|
isSMG(name)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user