Handle g_hWeaponCookie, g_hOnOffCookie;
char g_sWeapon[MAXPLAYERS+1][32];
bool g_bWeaponOnOff[MAXPLAYERS+1];
public void OnPluginStart()
{
for (int i; ++i <= MaxClients;)
{
if (!IsClientInGame(i) || IsFakeClient(i) || !AreClientCookiesCached(i))
continue;
OnClientCookiesCached(i);
}
}
public void OnClientCookiesCached(int iClient)
{
char sBuffer[32];
GetClientCookie(iClient, g_hOnOffCookie, sBuffer, sizeof(sBuffer));
if(sBuffer[0]) g_bWeaponOnOff[iClient] = view_as<bool>(StringToInt(sBuffer, sizeof(sBuffer)));
else g_bWeaponOnOff[iClient] = false;
GetClientCookie(iClient, g_hWeaponCookie, sBuffer, sizeof(sBuffer));
if(sBuffer[0]) g_sWeapon[iClient] = sBuffer; //не знаю зачем, но пробовал FormatEx(g_sWeapon[iClient], 32, sBuffer); и в строке ниже - та же самая ошибка
else g_sWeapon[iClient] = "weapon_ak47";
//так то же самое
//GetClientCookie(iClient, g_hWeaponCookie, g_sWeapon[iClient], 32);
// if(!g_sWeapon[iClient][0]) g_sWeapon[iClient] = "weapon_ak47";
}
public void OnClientDisconnect(int iClient)
{
if(!IsFakeClient(iClient))
{
char sBuffer[8];
IntToString(view_as<int>(g_bWeaponOnOff[iClient]), sBuffer, sizeof(sBuffer));
SetClientCookie(iClient, g_hOnOffCookie, sBuffer);
SetClientCookie(iClient, g_hWeaponCookie, g_sWeapon[iClient]);
}
}