!!!! По данному уроку не рекомендую создавать ваш ресурс !!!! Вот создан новый урок по созданию данного ресурса! Там всё легче, и проще!!http://mta-lua.do.am/forum/7-29-1 Возможно вы видели на некоторых гоночных серверах(DDC например) движущуюся объекты? Так в этом уроке, мы создадим именно это, а тоесть анимацию движения объекта по заданной траектории! Сперва разберёмся в "meta.xml":
1) Создаём папку с названием "m_obj". 2) Заходим в Map Editor, и создаём свою карту(важно запомнить названия, или какие номера тех объектов, что мы будем передвигать). 3) Заходим в папку "resources"(Данная папка находится по следующиме адресу: \server\mods\deathmatch\resources), и ищем свою карту. 4) Открываем файл "meta.xml" простым текстовым документом. 5) Ищем тег "<meta>", и после него(просто после "<meta>" жмем enter) вставим следующий код:
Code
<script src="server.lua" type="server" />
5) Сохраняем наш "meta.xml", и закрываем! 6) Копируем файлы: m_obj.map, meta.xml, и вставляем их в нашу созданную папку с названием "m_obj"!
Теперь нам надо создать "server.lua" И далее делаем: 1) Открываем "m_obj"(там должно быть пусто) 2) Вставляем в него следующий код:
Code
function start ()
3) Ниже вставляем:
Code
setTimer(objectm, 5000, 0)
* 5000 - это время через сколько объект будет перемещён в указанную нами точку! 5000 - это как 0! Например мы сделаем 10000, объект будет стоять 5 секунд, сделаем 15000, объект будет стоять 10 секунд. 1000 - это 1 секунда! * 0 - это количество повторных движений объекта. 0 - это будет - бесконечно!
4) Ниже добавим код:
Code
status = 1
5) Теперь нам нужно создать объект на карте, который мы собираемся двигать. Для этого на следующей строке мы напишем этот код:
* 1337 - ID объекта, который мы собираемся двигать. * X-Позиция - Положение объекта на оси X * Y-Позиция - Положение объекта на оси Y * Z-Позиция - Положение объекта на оси Z B rotX, rotY, rotY - ничего не надо изменять!!
Для того чтоб вставить свои координаты, откроем файл "m_obj.map", и найдём именно тот объект, который будем двигать! Вот я сделал скрин, и обвёл красным кругом где именно те координаты, и ID объекта! * Ссылка: http://savepic.su/948508.gif . Первый объект у меня, это - тот объект, который я двигал. И так смотрим что там есть: * 1337 - это ID объекта! * 2472.6999511719 - это координат X * -1659.1999511719 - это координат Y * 13 - это координат Z - У вас также у вас должно быть(разумеется другие, ваши координаты)! Ну и оттуда копируем, и вставляем в тот код, который мы написали(см пункт 5)! _______________________________________________________________________________________
6) После того, как вы сделали все координаты(в спойлире), ниже вставим:
Code
end
И так, первая переменная готова!
Делаем дальше:
1) Теперь пропустим одну строку, и вставим следующий код:
Code
function objectm () if status == 1 then
2) Далее нам нужно заставить нужный нам объект двигаться! Вставляем ниже следующий код:
Code
moveObject (objectone, 5000, movX, movY, movZ)
Вместо movX, movY, movZ ставим теже самые координаты, что мы ставили в "objectone = createObject", только тут видно, что после каждого координата, есть запятая. При копировании того координата, обязательно добавьте тут запятые!!!
3) Ниже "moveObject" ставим код:
Code
status = 2 elseif status == 2 then
4) Теперь нам надо создать объект, к которму мы будем двигать наш объект! Ставим код:
Code
moveObject (objectone, 5000, movX, movY, movZ)
* 5000 - это время которое объект будет двигаться! * 5000 - это 5 секунд. Сделаем 10000 - объект будет двигаться 10 секунд(не так как в первом что 5000 значит - 0!!)!
Вместо movX, movY, movZ ставим координаты того объекта, к которому мы будем двигать наш объект. Возможно вы смотрели мой скриншот под спойлером, возможно и нет. Вот вам еще раз дам ссылку http://savepic.su/948508.gif - там четко видно какие координаты надо копировать!
function start () setTimer(objectm, 10000, 0) status = 1 objectone = createObject(1337,2472.6999511719,-1659.1999511719,13,rotX,rotY,rotZ) end
function objectm () if status == 1 then moveObject (objectone, 5000, 2472.6999511719, -1659.1999511719, 13) status = 2 elseif status == 2 then moveObject (objectone, 5000, 2442.5, -1655.5999755859, 27.89999961853) status = 1 end end
Координаты конечно ваши должны быть, а то в коде мои. Если всё нормально у вас, сохраняем наш файл. Не забываем его назвать "server.lua!! И так, что у вас должно быть в папке "m_obj": * meta.xml * server.lua * m_obj.map Если всё это есть, значит вы правильно всё сделали!! И да, что хотел напомнить. При запуске данного скрипта на сервере, если объект некоторое время не двигается, вы не пугайтесь. Это просто идет проверка скрипта! Подождите немного, и объект станет нормально двигаться, как вы указали в настройках!!
Вот и всё! Готово Всё очень просто!
Если что-то не ясно по данному уроку, задавайте вопросы, и я постараюсь на них ответить!
Вот вам еще и видео сделал:
У меня там настройки выбраны, чтоб объект быстро двигался У себя делаете как хотите
При копировании данного материала, ссылка на сайт Автора обязательна!!