added smokegrenade, added ambient sound, due to request will bot scaling 0 now use zombie count to decide how many bots to spawn
This commit is contained in:
parent
0cb6d1c977
commit
b4409d3a1b
@ -89,6 +89,7 @@ Handle g_hClientHumanCookie;
|
|||||||
Handle g_hCheckBotStuck = null;
|
Handle g_hCheckBotStuck = null;
|
||||||
Handle g_hZombieSounds = null;
|
Handle g_hZombieSounds = null;
|
||||||
Handle g_hFixKNife = null;
|
Handle g_hFixKNife = null;
|
||||||
|
Handle g_hAmbient = null;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
// Purpose:
|
// Purpose:
|
||||||
@ -155,6 +156,7 @@ public void OnPluginStart()
|
|||||||
g_hCheckBotStuck = CreateTimer(2.0, Timer_CheckIfBotsStuck, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
g_hCheckBotStuck = CreateTimer(2.0, Timer_CheckIfBotsStuck, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
||||||
g_hZombieSounds = CreateTimer(g_fZMSounds, Timer_zombieSounds, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
g_hZombieSounds = CreateTimer(g_fZMSounds, Timer_zombieSounds, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
||||||
g_hFixKNife = CreateTimer(2.0, Timer_FixKNife, INVALID_HANDLE, TIMER_REPEAT);
|
g_hFixKNife = CreateTimer(2.0, Timer_FixKNife, INVALID_HANDLE, TIMER_REPEAT);
|
||||||
|
g_hAmbient = CreateTimer(60.3, Timer_Ambient, INVALID_HANDLE, TIMER_REPEAT); // 0.3 seconds without sound
|
||||||
|
|
||||||
for (int i = 1; i < MaxClients; i++)
|
for (int i = 1; i < MaxClients; i++)
|
||||||
{
|
{
|
||||||
@ -173,6 +175,8 @@ public void OnPluginEnd()
|
|||||||
delete g_hZombieSounds;
|
delete g_hZombieSounds;
|
||||||
if (g_hFixKNife != null)
|
if (g_hFixKNife != null)
|
||||||
delete g_hFixKNife;
|
delete g_hFixKNife;
|
||||||
|
if (g_hAmbient != null)
|
||||||
|
delete g_hAmbient;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action CheckPlayerTeam(Handle timer, any userid)
|
public Action CheckPlayerTeam(Handle timer, any userid)
|
||||||
@ -1090,6 +1094,7 @@ public void OnClientDisconnect(int client)
|
|||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast)
|
public void Event_roundStart(Handle event, const char[] name, bool dontBroadcast)
|
||||||
{
|
{
|
||||||
|
EmitAmbience("ambient/zr/zr_ambience.mp3");
|
||||||
g_iHumanCount = 999;
|
g_iHumanCount = 999;
|
||||||
g_iZombieCount = 999;
|
g_iZombieCount = 999;
|
||||||
g_bRoundInProgress = false;
|
g_bRoundInProgress = false;
|
||||||
@ -1348,10 +1353,6 @@ public void LoadWave(int wave)
|
|||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
public void SettingBotQoute(int botscale)
|
public void SettingBotQoute(int botscale)
|
||||||
{
|
{
|
||||||
if (botscale < 1)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
int l_iPlayers;
|
int l_iPlayers;
|
||||||
for (int i = 1; i < MaxClients; i++)
|
for (int i = 1; i < MaxClients; i++)
|
||||||
{
|
{
|
||||||
@ -1360,7 +1361,15 @@ public void SettingBotQoute(int botscale)
|
|||||||
l_iPlayers++;
|
l_iPlayers++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (botscale > 0)
|
||||||
|
{
|
||||||
addBots(l_iPlayers * botscale);
|
addBots(l_iPlayers * botscale);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//bot_scaling 0 should imply we spawn zombie_count amount of bots instead of scaling bots to player amount.
|
||||||
|
addBots(g_iZMCount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
// Purpose:
|
// Purpose:
|
||||||
@ -2168,3 +2177,29 @@ stock void ReplaceStrings(char[] str, char[] strReplace)
|
|||||||
TrimString(l_cstrFix);
|
TrimString(l_cstrFix);
|
||||||
Format(str, sizeof(l_cstrFix), l_cstrFix);
|
Format(str, sizeof(l_cstrFix), l_cstrFix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//ambience
|
||||||
|
void EmitAmbience(const char[] sound)
|
||||||
|
{
|
||||||
|
PrecacheSound(sound);
|
||||||
|
StopAmbience(sound);
|
||||||
|
EmitSoundToAll(sound, SOUND_FROM_PLAYER, SNDCHAN_AUTO, SNDLEVEL_NORMAL, SND_NOFLAGS, 1.0, SNDPITCH_NORMAL, -1, NULL_VECTOR, NULL_VECTOR, true, 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void StopAmbience(const char []sound)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < MaxClients; i++)
|
||||||
|
{
|
||||||
|
if (!IsValidClient(i))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
StopSound(i, SNDCHAN_AUTO, sound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action Timer_Ambient(Handle timer, any userid)
|
||||||
|
{
|
||||||
|
EmitAmbience("ambient/zr/zr_ambience.mp3");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user