Fixed error in zmarket caused by disconnection twice before the client was put in game (rapid map changing), fixed sky not disabling properly.

This commit is contained in:
Greyscale 2009-06-15 20:57:40 -07:00
parent 1530d20308
commit f403485b38
2 changed files with 14 additions and 4 deletions

View File

@ -35,9 +35,6 @@ new String:g_VAmbienceDefaultSky[PLATFORM_MAX_PATH];
*/ */
VAmbienceLoad() VAmbienceLoad()
{ {
// Apply all visual effects now
VAmbienceApplyAll();
// Find map's default sky. // Find map's default sky.
new Handle:hSkyname = FindConVar("sv_skyname"); new Handle:hSkyname = FindConVar("sv_skyname");
if (hSkyname != INVALID_HANDLE) if (hSkyname != INVALID_HANDLE)
@ -45,6 +42,13 @@ VAmbienceLoad()
// Store map's default sky before applying new one. // Store map's default sky before applying new one.
GetConVarString(hSkyname, g_VAmbienceDefaultSky, sizeof(g_VAmbienceDefaultSky)); GetConVarString(hSkyname, g_VAmbienceDefaultSky, sizeof(g_VAmbienceDefaultSky));
} }
else
{
LogEvent(false, LogType_Error, LOG_CORE_EVENTS, LogModule_VEffects, "Sky Caching", "Couldn't find handle to cvar: \"sv_skyname\"");
}
// Apply all visual effects now
VAmbienceApplyAll();
// If sky is disabled, then stop. // If sky is disabled, then stop.
new bool:sky = GetConVarBool(g_hCvarsList[CVAR_VEFFECTS_SKY]); new bool:sky = GetConVarBool(g_hCvarsList[CVAR_VEFFECTS_SKY]);
@ -246,6 +250,7 @@ VAmbienceApplySky(bool:disable = false)
// If default, then set to default sky. // If default, then set to default sky.
if (disable) if (disable)
{ {
PrintToServer("+===============+++++ %s", g_VAmbienceDefaultSky);
if (g_VAmbienceDefaultSky[0]) if (g_VAmbienceDefaultSky[0])
{ {
SetConVarString(hSkyname, g_VAmbienceDefaultSky, true); SetConVarString(hSkyname, g_VAmbienceDefaultSky, true);

View File

@ -114,7 +114,12 @@ ZMarketClientInit(client)
ZMarketOnClientDisconnect(client) ZMarketOnClientDisconnect(client)
{ {
// Destroy ZMarket array data for client. // Destroy ZMarket array data for client.
CloseHandle(g_hZMarketPurchaseCount[client]); if (g_hZMarketPurchaseCount[client] != INVALID_HANDLE)
{
CloseHandle(g_hZMarketPurchaseCount[client]);
}
// Reset handle.
g_hZMarketPurchaseCount[client] = INVALID_HANDLE; g_hZMarketPurchaseCount[client] = INVALID_HANDLE;
} }