Ну а если вот этот вариант?
Вpublic OnPlayerStateChange(playerid, newstate, oldstate)
Вставляем:
PHP код:
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)//если стостояние игрока водитель или пассажир
{
if(InCar[playerid] != 1)//если переменная InCar не ровно 1, то.....
{
format(string, sizeof(string), "AdmCmd: {FFFFFF}%s[%d]{FF0000} was kicked, reason: {FFFFFF}Car Hack", PlayerName(playerid),playerid);
new lH, lM, lS; gettime(lH,lM,lS);
format(string, sizeof(string), "[%d:%02d:%02d] %s", lH,lM,lS, string);
SendClientMessageToAll(COLOR_RED, string);//говорит что он чит, даём кик.
Kick(playerid);
}
}
Обьявим переменную, которая будет следить за нашим состояние игрока в машине и не в машине
PHP код:
new InCar[MAX_PLAYERS];
В OnPlayerConnect
PHP код:
InCar[playerid]=0;//обнуляем её
Теперь в находим или создаём if(newstate == PLAYER_STATE_ONFOOT) и туда вставляемP.S. Это находиться в public OnPlayerStateChange(playerid, newstate, oldstate):
PHP код:
InCar[playerid] = 0;
И чтобы не было проблем в сток PutPlayerInVehicle ну вы уже наверно поняли:
PHP код:
InCar[playerid] = 1;
И сор ещё это:
В public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) всавляем:
PHP код:
InCar[playerid] = 1;//для античита
public OnPlayerExitVehicle(playerid, vehicleid) вот это:
PHP код:
InCar[playerid] = 0;
Вроде должно работать.