Так что нам нужно. Нам нужно 6 объектов фонтана, которые мы должны спрятать под мойку, то есть мы не будем видеть объекты, только фонтан.
Сценарий: Когда игрок в транспорте и транспорт находится от мойки не больше чем 7 метров, тогда нам нужно создать 6 объектов фонтана, когда игрок находить от мойки не больше чем 3 метра нужно почистить авто функцией: setVehicleDirtLevel (жалко сейчас эта функция не работает и думаю когда уже выйдет 1.04 мой скрипт полностью заработает). И когда авто находится от мойки больше чем на 7 метров удалить все объекты. Всё. Так теперь мы это всё напишем на языке LUA и этот скрипт будет на стороне клиента:
Code
wash = 0 -- Это значить что сейчас мойка отключена.
addEventHandler("onClientVehicleEnter", getRootElement(), -- Когда игрок входит в авто:
function()
theVehicle = getPedOccupiedVehicle(getLocalPlayer()) -- Берём ID авто в котором находится игрок.
washTimer = setTimer(washCar, 1000, 0) -- И начинаем проверять
end
)
addEventHandler("OnClientVehicleExit", getRootElement(), -- когда игрок выходит с авто нужно остановить проверку.
function()
killTimer(washTimer)
end
)
function washCar() -- Сама проверка
x,y,z = getElementPosition(theVehicle) -- Координаты Автомобиля
if (getDistanceBetweenPoints3D ( x,y,z, 1910.2652587891, -1778.4959716797 , 10.22808265686 ) < 7 ) then --Когда дистанция между авто и мойкой ((getDistanceBetweenPoints3D ( x,y,z, 1910.2652587891, -1778.4959716797 , 10.22808265686 ))) менше 7 метров
if (wash == 0) then --и если мойка отключена тогда:
wash=1 --сообщить что мойка включена
fon1 = createObject(3515, 1910.2652587891, -1778.4959716797 , 10.22808265686 , 0, 0, 0) -- Создаём 6 фонтанов
fon2 = createObject(3515, 1911.2348632813, -1778.3140869141 , 10.15308380127 , 0, 0, 0)
fon3 = createObject(3515, 1912.2159423828, -1778.2467041016 , 10.578077316284 , 0, 0, 0)
fon4 = createObject(6965, 1910.0944824219, -1775.525390625 , 7.5952796936035 , 0, 0, 0)
fon5 = createObject(6965, 1911.1834716797, -1774.7622070313 , 7.2452754974365 , 0, 0, 0)
fon6 = createObject(6965, 1912.15625, -1775.201171875 , 7.7452754974365 , 0, 0, 0)
setTimer(setVehicleDirtLevel, 2000, 1, theVehicle, 1) -- Чистим авто ( жалко сейчас эта функция не работает.....)
end
else --Если дистанция между авто и мойкой больше 7 тогда
wash=0 -- сообщаем что мойка отключена
destroyElement ( fon1 ) -- Удаляем 6 фонтанов.
destroyElement ( fon2 )
destroyElement ( fon3 )
destroyElement ( fon4 )
destroyElement ( fon5 )
destroyElement ( fon6 )
end
end
Смотрим что у нас получилось :
Когда игрок знаходится от мойки больше чем на 7 метров мойка не работает:
А если нет то:
А тут отключаем:
Так же можете скачать готовый скрипт!
СКАЧАТЬ