[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: volk, WhiteDZ  
Форум » Статии и Уроки МТА » Скриптинг (Scripting) » WashCar Script!
WashCar Script!
IvanWhite
77 Оффлайн
Суббота, 11.12.2010, 12:12:29 | 1
Группа: Пользователи
Репутация:

Так что нам нужно. Нам нужно 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 метров мойка не работает:

А если нет то:

А тут отключаем:

Так же можете скачать готовый скрипт!

СКАЧАТЬ

 
Fanor
14 Оффлайн
Суббота, 11.12.2010, 15:47:26 | 2
Группа: Администратор
Репутация:

smile smile smile smile smile smile smile круто!


 
intelboy
35 Оффлайн
Понедельник, 10.01.2011, 14:12:33 | 3
Группа: Пользователи
Репутация:

biggrin прикольчик
 
Форум » Статии и Уроки МТА » Скриптинг (Scripting) » WashCar Script!
  • Страница 1 из 1
  • 1
Поиск: