Приветствую Вас, Гость! Регистрация RSS

Мой сайт

Пятница, 03.05.2024
Главная страница форума
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » MTA | Multi Theft Auto » Lua скриптинг (Уроки, FAQ) » [Урок] Анимация движения объекта по заданной траектории
[Урок] Анимация движения объекта по заданной траектории
Nanotech_uaДата: Четверг, 08.12.2011, 06:24 | Сообщение # 1
Майор
Группа: Администраторы
Сообщений: 95
Репутация: 4
Статус: :-(


!!!! По данному уроку не рекомендую создавать ваш ресурс !!!!
Вот создан новый урок по созданию данного ресурса! Там всё легче, и проще!! 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) Теперь нам нужно создать объект на карте, который мы собираемся двигать. Для этого на следующей строке мы напишем этот код:
Code
objectone = createObject(1337,X-Позиция,Y-Позиция,Z-Позиция,rotX,rotY,rotZ)

* 1337 - ID объекта, который мы собираемся двигать.
* X-Позиция - Положение объекта на оси X
* Y-Позиция - Положение объекта на оси Y
* Z-Позиция - Положение объекта на оси Z
B rotX, rotY, rotY - ничего не надо изменять!!



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 - там четко видно какие координаты надо копировать!

5) Теперь ниже добавим код:

Code
status = 1
           end
end

addEventHandler ( "onResourceStart", getRootElement(), start )


У вас примерно должно было получиться вот так:

Code
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

addEventHandler ( "onResourceStart", getRootElement(), start )


Координаты конечно ваши должны быть, а то в коде мои. Если всё нормально у вас, сохраняем наш файл. Не забываем его назвать "server.lua!!
И так, что у вас должно быть в папке "m_obj":
* meta.xml
* server.lua
* m_obj.map
Если всё это есть, значит вы правильно всё сделали!! И да, что хотел напомнить. При запуске данного скрипта на сервере, если объект некоторое время не двигается, вы не пугайтесь. Это просто идет проверка скрипта! Подождите немного, и объект станет нормально двигаться, как вы указали в настройках!!

Вот и всё! Готово smile Всё очень просто!

Если что-то не ясно по данному уроку, задавайте вопросы, и я постараюсь на них ответить! smile

Вот вам еще и видео сделал:



У меня там настройки выбраны, чтоб объект быстро двигался smile У себя делаете как хотите smile

При копировании данного материала, ссылка на сайт Автора обязательна!!
 
Форум » MTA | Multi Theft Auto » Lua скриптинг (Уроки, FAQ) » [Урок] Анимация движения объекта по заданной траектории
  • Страница 1 из 1
  • 1
Поиск:

Последние сообщения:
Самые активные:
Лучшая репутация:
Новые пользователи:
1 | Какой жанр музыки вы любите больше всего слушаеть?[Alexandr]

2 | [Урок] Создание макрера[kryuchin_sasha]

3 | [MTA:SA] FAQ По скриптингу в MTA[nebolskaya]

4 | Считаем до 100[mryagotv]

5 | [Урок] Анимация движения объекта по заданной траектории[NEW][mryagotv]

6 | [MTA:SA] FAQ по ресурсам. Куда, и как их ставить/запускать[osnovik123]

7 | [Урок] Настройка voice чата на сервере[Dano_97_]

8 | [Урок] Картинка в левой части экрана[BISMARCK100]

9 | Помогите в создании сервера![Nick]

10 | Видео уроки по скриптингу в мта са.[Tommy]

1 Nanotech_ua (95|0)

2 Fast_C (17|0)

3 S4n_n1 (14|0)

4 Sucre (6|0)

5 eshka (6|0)

6 Onlines (4|0)

7 drako (3|0)

8 startsmart (3|0)

9 Leone1e (3|0)

10 Step_uP (2|0)

11 Nik (2|0)

12 Fani (2|0)

1 Nanotech_ua

2 S4n_n1

3 eshka

4 LM34

5 Nick

6 xYaroslavGTx

7 Tommy

8 мромг

9 убейте

10 Pavlik1505

11 ty4a

12 bwvsana1

1 faradejfeed

2 sackijvalentin5

3 Alexandr

4 guni3310

5 adilgereevarslanbek6

6 vpyti2020

7 stepaskhasid017

8 dobitnormalnoauf

9 faerpro135

10 boltyshev06

11 brawlstarstop1425

12 hambaryansergo