04.08.2012, 05:39
(
Последний раз редактировалось Nicholas.; 04.08.2012 в 05:52.
Причина: posted the wrong code
)
pawn Код:
/* OnGameModeInit */
SetTimer("CheckPlayerSlots", 1000, true);
forward CheckPlayerSlots(playerid, slotid1, slotid2, slotid3);
public CheckPlayerSlots(playerid, slotid1, slotid2, slotid3)
{
for(new p = 0; p < MAX_PLAYERS; p ++)
{
if(p == INVALID_PLAYER_ID || IsPlayerNPC(p))
continue;
WeaponSlotsForPlayer(p, slotid1, slotid2, slotid3);
}
return 1;
}
stock IsValidWeaponID(weaponid)
{
if((weaponid > 0 && weaponid < 19) || (weaponid > 21 && weaponid < 47))
return 1;
return 0;
}
stock WeaponSlotsForPlayer(playerid, slotid1, slotid2, slotid3)
{
new Weaponid[13], ammo[13];
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, Weaponid[i], ammo[i]);
if(IsValidWeaponID(Weaponid[i]) == 1 && (i != slotid1 && i != slotid2 && i != slotid3))
{
RemovePlayerWeapon(playerid, Weaponid[i]);
}
SendClientMessage(playerid, COLOR_LIGHTBLUE, "INFO: You are not allowed to carry more than 3 weapons");
}
return 1;
}
stock RemovePlayerWeapon(playerid, weaponid)
{
new pWeapon[13], pAmmo[13];
for(new i = 0; i < 13; i ++)
{
new Weapon, Ammo;
GetPlayerWeaponData(playerid, i, Weapon, Ammo);
if(Weapon != weaponid)
{
GetPlayerWeaponData(playerid, i, pWeapon[i], pAmmo[i]);
}
}
ResetPlayerWeapons(playerid);
for(new s = 0; s < 13; s ++)
{
GivePlayerWeapon(playerid, pWeapon[s], pAmmo[s]);
}
return 1;
}