public void CR_OnPlayerSpawn(int iClient, KeyValues Kv)
{
SDKUnhook(iClient, SDKHook_WeaponCanUse, OnWeaponCanUse);
if(Kv)
{
if((g_bUse && g_bClear) || g_bClearKey) ClearWeapons(iClient, 2);
if(g_bUse)
{
char sBuffer[32];
int w, iSize = g_hWeapons.Length, iTeam = GetClientTeam(iClient), iType;
SetEntData(iClient, g_iTeam, 1, 4, false);
for(; w < iSize; w+=2) if((iType = g_hWeapons.Get(w)) != 2)
{
//g_hWeapons.GetString(w+1, sBuffer, sizeof(sBuffer));
CS_WeaponIDToAlias(g_hWeapons.Get(w+1), sBuffer, sizeof(sBuffer));
Format(sBuffer, sizeof(sBuffer), "weapon_%s", sBuffer);
if(!iType)
{
//g_hWeapons.GetString(w+1, sBuffer, sizeof(sBuffer));
GivePlayerItem(iClient, sBuffer);
}
else
{
//g_hWeapons.GetString(w+1, sBuffer, sizeof(sBuffer));
EquipPlayerWeapon(iClient, GivePlayerItem(iClient, sBuffer));
}
}
SetEntData(iClient, g_iTeam, iTeam, 4, false);
SDKHook(iClient, SDKHook_WeaponCanUse, OnWeaponCanUse);
}
}
else if(g_bSave && g_hSave[iClient])
{
ClearWeapons(iClient, 3);
char sBuffer[32];
int iTeam = GetClientTeam(iClient);
SetEntData(iClient, g_iTeam, 1, 4, false);
for(int i, iLen = g_hSave[iClient].Length; i < iLen; i++)
{
g_hSave[iClient].GetString(i, sBuffer, sizeof(sBuffer));
if(g_iEngine == Engine_CSGO)
{
if( !strcmp(sBuffer, "fists") || !strcmp(sBuffer, "axe")
|| !strcmp(sBuffer, "spanner") || !strcmp(sBuffer, "hammer"))
{
EquipPlayerWeapon(iClient, GivePlayerItem(iClient, sBuffer));
}
else
{
GivePlayerItem(iClient, sBuffer);
}
}
else GivePlayerItem(iClient, sBuffer);
GivePlayerItem(iClient, "weapon_usp_silencer");
}
delete g_hSave[iClient];
SetEntData(iClient, g_iTeam, iTeam, 4, false);
}
}