#include <a_samp>
new i;
new driver_status[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
if (IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid)!=0)
{
driver_status[playerid]=false;
for (i=0;i<=MAX_PLAYERS;i++)
{
if (IsPlayerConnected(i) && i!=playerid && IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i)==GetPlayerVehicleID(playerid) && GetPlayerVehicleSeat(i)==0)
{
driver_status[playerid]=true;
break;
}
}
if(!driver_status[playerid])
{
new Float:h;
GetPlayerHealth(playerid, h);
SetPlayerHealth(playerid, h-1);
}
}
return 1;
} Примечание: скрипт проверял только на себе. когда сажусь в транспорт водителем, ничего не происходит, если сажусь пассажиром то хп отнимается с нормальной скоростью(с авто можно выбраться)
Не проверял если сесть пассажиром и в авто будет водитель, но в теории скрипт должен работать без ошибок.