updating a bunch of stupid things
This commit is contained in:
parent
caf674479c
commit
c68128200a
@ -81,6 +81,9 @@ bool g_bClientProtection[g_dIndexes];
|
|||||||
|
|
||||||
Handle g_hClientZMCookie;
|
Handle g_hClientZMCookie;
|
||||||
Handle g_hClientHumanCookie;
|
Handle g_hClientHumanCookie;
|
||||||
|
Handle g_hCheckBotStuck = null;
|
||||||
|
Handle g_hZombieSounds = null;
|
||||||
|
Handle g_hFixKNife = null;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
// Purpose:
|
// Purpose:
|
||||||
@ -143,6 +146,10 @@ public void OnPluginStart()
|
|||||||
RegAdminCmd("sm_human", Cmd_Humanize, ADMFLAG_BAN);
|
RegAdminCmd("sm_human", Cmd_Humanize, ADMFLAG_BAN);
|
||||||
RegAdminCmd("sm_infect", Cmd_Zombienize, ADMFLAG_BAN);
|
RegAdminCmd("sm_infect", Cmd_Zombienize, ADMFLAG_BAN);
|
||||||
|
|
||||||
|
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_hFixKNife = CreateTimer(2.0, Timer_FixKNife, INVALID_HANDLE, TIMER_REPEAT);
|
||||||
|
|
||||||
for (int i = 1; i < MaxClients; i++)
|
for (int i = 1; i < MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsValidClient(i))
|
if (IsValidClient(i))
|
||||||
@ -152,6 +159,16 @@ public void OnPluginStart()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnPluginEnd()
|
||||||
|
{
|
||||||
|
if (g_hCheckBotStuck != null)
|
||||||
|
delete g_hCheckBotStuck;
|
||||||
|
if (g_hZombieSounds != null)
|
||||||
|
delete g_hZombieSounds;
|
||||||
|
if (g_hFixKNife != null)
|
||||||
|
delete g_hFixKNife;
|
||||||
|
}
|
||||||
|
|
||||||
public Action CheckPlayerTeam(Handle timer, any userid)
|
public Action CheckPlayerTeam(Handle timer, any userid)
|
||||||
{
|
{
|
||||||
int client = GetClientOfUserId(userid);
|
int client = GetClientOfUserId(userid);
|
||||||
@ -352,8 +369,10 @@ public Action Cmd_Say(int client, int args)
|
|||||||
getclientteam might be checked unnecesarily this way because its also checking in ZmarketGetWeapon
|
getclientteam might be checked unnecesarily this way because its also checking in ZmarketGetWeapon
|
||||||
but this way most can be stopped to interferre from triggering cmd_say
|
but this way most can be stopped to interferre from triggering cmd_say
|
||||||
*/
|
*/
|
||||||
if (client < 1)
|
if (!IsValidClient(client))
|
||||||
|
{
|
||||||
return Plugin_Continue;
|
return Plugin_Continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (GetClientTeam(client) != CS_TEAM_CT || !IsPlayerAlive(client))
|
if (GetClientTeam(client) != CS_TEAM_CT || !IsPlayerAlive(client))
|
||||||
return Plugin_Continue;
|
return Plugin_Continue;
|
||||||
@ -833,6 +852,7 @@ public void loadWeapons()
|
|||||||
{
|
{
|
||||||
CreateBackUpWeapons();
|
CreateBackUpWeapons();
|
||||||
}
|
}
|
||||||
|
g_iWeaponIndex = 0; //ofc this has to be reset, otherwise it ends up going out of bounds dx
|
||||||
kv.ImportFromFile(g_cPathsWeapons);
|
kv.ImportFromFile(g_cPathsWeapons);
|
||||||
kv.GotoFirstSubKey();
|
kv.GotoFirstSubKey();
|
||||||
kv.GetString("weaponentity", g_cWeaponEntity[g_iWeaponIndex][g_iLength], sizeof(g_cWeaponEntity));
|
kv.GetString("weaponentity", g_cWeaponEntity[g_iWeaponIndex][g_iLength], sizeof(g_cWeaponEntity));
|
||||||
@ -885,6 +905,8 @@ public Action LoadClasses()
|
|||||||
delete l_hFileZM;
|
delete l_hFileZM;
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//first indexes go to human classes, all afterfollowing to zms
|
//first indexes go to human classes, all afterfollowing to zms
|
||||||
while (!IsEndOfFile(l_hFile) && ReadFileLine(l_hFile, l_cLine, sizeof(l_cLine)))
|
while (!IsEndOfFile(l_hFile) && ReadFileLine(l_hFile, l_cLine, sizeof(l_cLine)))
|
||||||
{
|
{
|
||||||
@ -911,9 +933,6 @@ public void OnMapStart()
|
|||||||
LoadClasses();
|
LoadClasses();
|
||||||
LoadExtraSettings();
|
LoadExtraSettings();
|
||||||
loadWeapons();
|
loadWeapons();
|
||||||
CreateTimer(2.0, Timer_CheckIfBotsStuck, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
||||||
CreateTimer(g_fZMSounds, Timer_zombieSounds, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
||||||
CreateTimer(2.0, Timer_FixKNife, INVALID_HANDLE, TIMER_REPEAT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//just checking the knife when they spawn is appereantly not good enough. this is just repeating what Timer_StopProtection does.
|
//just checking the knife when they spawn is appereantly not good enough. this is just repeating what Timer_StopProtection does.
|
||||||
@ -923,6 +942,15 @@ public Action Timer_FixKNife(Handle timer, any userid)
|
|||||||
{
|
{
|
||||||
if (IsValidClient(client) && IsPlayerAlive(client))
|
if (IsValidClient(client) && IsPlayerAlive(client))
|
||||||
{
|
{
|
||||||
|
//the fucking forwards wont give the bots the client tags. it should obviously work. cause it works on ze.
|
||||||
|
//too bad!
|
||||||
|
if (IsFakeClient(client))
|
||||||
|
{
|
||||||
|
char tag[64];
|
||||||
|
Format(tag, sizeof(tag), "UNLOZE ");
|
||||||
|
CS_SetClientClanTag(client, tag);
|
||||||
|
}
|
||||||
|
|
||||||
if (GetPlayerWeaponSlot(client, CS_SLOT_KNIFE) == -1) //just making sure everybody has a knife. otherwise giving them one
|
if (GetPlayerWeaponSlot(client, CS_SLOT_KNIFE) == -1) //just making sure everybody has a knife. otherwise giving them one
|
||||||
{
|
{
|
||||||
GivePlayerItem(client, "weapon_knife");
|
GivePlayerItem(client, "weapon_knife");
|
||||||
@ -1042,6 +1070,12 @@ public Action RetrieveWaveSettings(int wave)
|
|||||||
delete l_hWave;
|
delete l_hWave;
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char hostname[512];
|
||||||
|
Format(hostname, sizeof(hostname), "UNLOZE | FASTDL | Ranking | Day %i: %s", wave, g_cDaysTitles[wave - 1]);
|
||||||
|
ServerCommand("hostname \"%s\"", hostname);
|
||||||
|
|
||||||
|
|
||||||
PrintToChatAll("Day %i: %s", wave, g_cDaysTitles[wave - 1]);
|
PrintToChatAll("Day %i: %s", wave, g_cDaysTitles[wave - 1]);
|
||||||
LoadWave(wave);
|
LoadWave(wave);
|
||||||
delete l_hWave;
|
delete l_hWave;
|
||||||
@ -1846,8 +1880,24 @@ public Action UpdateWaveCount(int client)
|
|||||||
}
|
}
|
||||||
else if (GetClientTeam(client) == CS_TEAM_T)
|
else if (GetClientTeam(client) == CS_TEAM_T)
|
||||||
{
|
{
|
||||||
|
int zombieCount = 0;
|
||||||
|
int humanCount = 0;
|
||||||
|
for (int i = 1; i <= MaxClients; i++)
|
||||||
|
{
|
||||||
|
if (IsValidClient(i))
|
||||||
|
{
|
||||||
|
if (GetClientTeam(i) == CS_TEAM_CT)
|
||||||
|
{
|
||||||
|
humanCount++;
|
||||||
|
}
|
||||||
|
else if (GetClientTeam(i) == CS_TEAM_T)
|
||||||
|
{
|
||||||
|
zombieCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
g_iZMCount--;
|
g_iZMCount--;
|
||||||
PrintHintTextToAll("Day %i: %s\nRemaining Zombies: %i", g_iWave, g_cDaysTitles[g_iWave - 1], g_iZMCount);
|
PrintHintTextToAll("Day %i: %s\nRemaining Zombies: %i\nHumans: %i\nZombies: %i", g_iWave, g_cDaysTitles[g_iWave - 1], g_iZMCount, humanCount, zombieCount);
|
||||||
}
|
}
|
||||||
if (g_iZMCount == 0 && g_bRoundInProgress)
|
if (g_iZMCount == 0 && g_bRoundInProgress)
|
||||||
{
|
{
|
||||||
@ -1855,6 +1905,19 @@ public Action UpdateWaveCount(int client)
|
|||||||
CS_TerminateRound(4.0, CSRoundEnd_CTWin, true);
|
CS_TerminateRound(4.0, CSRoundEnd_CTWin, true);
|
||||||
g_iWave++;
|
g_iWave++;
|
||||||
g_bRoundInProgress = false;
|
g_bRoundInProgress = false;
|
||||||
|
|
||||||
|
|
||||||
|
if (g_iWave > 90)
|
||||||
|
{
|
||||||
|
PrintToChatAll("debug: Reseting to Wave 1.");
|
||||||
|
g_iWave = 1;
|
||||||
|
}
|
||||||
|
/* i dont fucking know how g_iWave got out of bounds...
|
||||||
|
L 01/31/2024 - 10:53:07: [SM] Exception reported: Array index out-of-bounds (index 111, limit 100)
|
||||||
|
L 01/31/2024 - 10:53:07: [SM] Blaming: unloze_zr.smx
|
||||||
|
L 01/31/2024 - 10:53:07: [SM] Call stack trace:
|
||||||
|
L 01/31/2024 - 10:53:07: [SM] [1] Line 1040, unloze_zr.sp::RetrieveWaveSettings
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
return Plugin_Continue;
|
return Plugin_Continue;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user