Ну сделай логирование и смотри какие данные приходят в функцию
PHP код:
if(!ispassenger)
{
printf("\n\n%d) %d | %d\n\n", vehicleid, VehInfo[vehicleid][vFraction], PI[playerid][pMember])
if(IsVehicleOccupiedEx(vehicleid))
{
GameTextForPlayer(playerid, "~r~~h~CAR IS USED", 2000, 4);
ClearAnimations(playerid, true);
return 1;
}
if(VehInfo[vehicleid][vFraction] != PI[playerid][pMember] && VehInfo[vehicleid][vFraction] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Этот транспорт вам недоступен!");
GetPlayerPos(playerid,slx,sly,slz);
SetPlayerPos(playerid,slx,sly,slz+0.1);
}
}
Хотя я уже, скорее всего, вижу проблему. Она заключается в том, что данные в vFraction загружаются не по ID автомобиля, а по номеру итерации в цикле, из-за чего в коде выше ты обращаешься не к тому автомобилю