- 588
- 699
Описание: Возвращает координаты точки, параллельно вектору скорости, на заданном расстоянии от автомобиля.
Код:
Пример использования:
Код:
Lua:
function getPointInFrontOfCar(carHandle, distance)
distance = -distance
local carSpeedVector = {getCarSpeedVector(carHandle)}
local carPos = {getCarCoordinates(carHandle)}
local pointInFront = {carPos[1] + carSpeedVector[1], carPos[2] + carSpeedVector[2], carPos[3] + carSpeedVector[3]}
local speedLength = math.sqrt(carSpeedVector[1] * carSpeedVector[1] + carSpeedVector[2] * carSpeedVector[2] + carSpeedVector[3] * carSpeedVector[3])
local normalizedSpeedVector = {carSpeedVector[1] / speedLength, carSpeedVector[2] / speedLength, carSpeedVector[3] / speedLength}
local scaledVector = {normalizedSpeedVector[1] * distance, normalizedSpeedVector[2] * distance, normalizedSpeedVector[3] * distance}
return {pointInFront[1] - scaledVector[1], pointInFront[2] - scaledVector[2], pointInFront[3] - scaledVector[3]}
end
Пример использования:
Lua:
function main()
repeat wait(100) until isSampAvailable()
while true do
wait(0)
if isCharSittingInAnyCar(PLAYER_PED) then
local carHandle = storeCarCharIsInNoSave(PLAYER_PED)
if getCarSpeed(carHandle) ~= 0 then
local pointInFront = getPointInFrontOfCar(carHandle, 5)
local carSpeedVector = {getCarSpeedVector(carHandle)}
local carPos = {getCarCoordinates(carHandle)}
local screenCarPos = {convert3DCoordsToScreen(carPos[1], carPos[2], carPos[3])}
local screenPointInFront = {convert3DCoordsToScreen(pointInFront[1] - carSpeedVector[1], pointInFront[2] - carSpeedVector[2], pointInFront[3] - carSpeedVector[3])}
renderDrawLine(screenCarPos[1], screenCarPos[2], screenPointInFront[1], screenPointInFront[2], 2, 0xFFffffff)
end
end
end
end


