И так мой способ, как показала практика, оказался не рабочим. Так что я просто вам выложу готовую версию "Антифлуда на пикапах" вырезанную из мода Samp-RP(чей-то копии конечно). Этот способ гораздо легче. Ну вообщем вот:
Ко всем new добавим это:
Код
new Pic[MAX_PLAYERS];
new Float:PosPic[3][MAX_PLAYERS]; // хранит координаты подобранного пикапа
В начало паблика OnPlayerPickUpPickup добавляем это:
Код
if(Pic[playerid] == 1) return false; else Pic[playerid] = 1,GetPlayerPos(playerid,PosPic[0][playerid],PosPic[1][playerid],PosPic[2][playerid]);
Также в паблике OnGameModeInit создадим таймер:
Код
SetTimer("CustomPickups", 1, true);
И в свободное место мода вставим это:
Код
stock CustomPickups()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!IsPlayerInRangeOfPoint(i, 2.0, PosPic[0][i], PosPic[1][i], PosPic[2][i])) Pic[i] = 0; // проверка на наличие игрока в пикапе.
}
}
}
Ну вот и все =).