Помогите , кто шарит. Значение getVehiclePointerById(pog) - возвращает указатель на транспорт по id игрока, как я понял. Проблема в том, что он указывает id ближайшего чела в машине (кто сидит ближе, на заднем сидении например.) Нужно, чтобы он указывал конкретно id того, кто за рулем. Помогите разобраться.
Код:
Numpad8::
SendMessage, 0x50,, 0x4190419,, A
pog:=getClosestPlayerIdCarNotCopFBI()
if(!checkHandles())
return
dwAddr := getVehiclePointerById(pog)
fSpeedX := readMem(hGTA, dwAddr + ADDR_VEHICLE_X, 4, "float")
fSpeedY := readMem(hGTA, dwAddr + ADDR_VEHICLE_Y, 4, "float")
fSpeedZ := readMem(hGTA, dwAddr + ADDR_VEHICLE_Z, 4, "float")
fVehicleSpeed := sqrt((fSpeedX * fSpeedX) + (fSpeedY * fSpeedY) + (fSpeedZ * fSpeedZ))
fVehicleSpeed := (fVehicleSpeed * 100) * 1
fVehicleSpeed := Round(fVehicleSpeed)
if (fSpeedY==0)
{
if (fSpeedX>0)
fVehicleAtan:="1.57"
else if (fSpeedX>0)
fVehicleAtan:="-1.57"
else if (fSpeedX==0)
{
AddMessageToChatWindow("Преступник не в машине или стоит на месте")
return
}
}
else
{
fVehicledelta := fSpeedY / fSpeedX
fVehicleAtan:=ATan(fVehicledelta)
}
if (fSpeedX>0)
{
if (fVehicleAtan<-1.1781)
naprav:="юг"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="юго-восток"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="восток"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="северо-восток"
if (fVehicleAtan>1.1781)
naprav:="север"
}
if (fSpeedX<0)
{
if (fVehicleAtan<-1.1781)
naprav:="север"
if (fVehicleAtan>-1.1781 and fVehicleAtan<-0.3927)
naprav:="северо-запад"
if (fVehicleAtan>-0.3927 and fVehicleAtan<0.3927)
naprav:="запад"
if (fVehicleAtan>0.3927 and fVehicleAtan<1.1781)
naprav:="юго-запад"
if (fVehicleAtan>1.1781)
naprav:="юг"
}
fVehicleid := getTargetVehicleModelIdById(pog)
if (fVehicleid>400 && fVehicleid<611)
fVehicleModel := ovehicleNamesImpad[fVehicleid-399]
else
fVehicleModel:="Автомобиль"
kv:=getPlayerCity()
SendChat("/r Требуется перехват, " fVehicleModel " с номерами x" pog "yz, едет в " kv " на " naprav ".")
return