Hi
I have made some code to store all players weapons and be able to load these weapons at a later time, however this is not working. It prints out the weapon_name as the same ID (not weapon_m4a1 for example) for primary and secondary and it gives me an m4a4 instead of an m4a1-s as a primary - it doesn't even give me a weapon for secondary.
Thanks!
Code:
saveItems()
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && (GetClientTeam(i) == 2 || GetClientTeam(i) == 3))
{
priWeap[i] = ""; //reset weapon items
secWeap[i] = "";
new weapon = GetPlayerWeaponSlot(i, CS_SLOT_PRIMARY);
if(weapon != -1)
{
if (IsValidEntity(weapon))
{
decl String:weapon_name[32];
GetEntityClassname(weapon, weapon_name, 32);
priWeap[i] = weapon_name;
PrintToChatAll("%d", weapon_name);
}
}
weapon = GetPlayerWeaponSlot(i, CS_SLOT_SECONDARY);
if(weapon != -1)
{
if (IsValidEntity(weapon))
{
decl String:weapon_name[32];
GetEntityClassname(weapon, weapon_name, 32);
secWeap[i] = weapon_name;
PrintToChatAll("%d", weapon_name);
}
}
}
}
}
loadItems()
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && (GetClientTeam(i) == 2 || GetClientTeam(i) == 3))
{
if(GetPlayerWeaponSlot(i, CS_SLOT_PRIMARY) != -1)
{
RemovePlayerItem(i, CS_SLOT_PRIMARY);
}
if(GetPlayerWeaponSlot(i, CS_SLOT_SECONDARY) != -1)
{
RemovePlayerItem(i, CS_SLOT_SECONDARY);
}
if(!StrEqual(priWeap[i], "", false))
{
GivePlayerItem(i, priWeap[i]);
}
if(!StrEqual(secWeap[i], "", false))
{
GivePlayerItem(i, secWeap[i]);
}
}
}
}