Главная | Форум | Статьи | Фaйлы| Картинки WoW | Профиль | Регистрация | Вход

[ Новые сообщения · Правила форума · Поиск · RSS ]

WoW-Info — информационный World of Warcraft портал

Пособие для создания скриптов ядра Trinity(spells,creature, - Форум

  • Сторінка 1 з 1
  • 1
Пособие для создания скриптов ядра Trinity(spells,creature,
pro[100]DeadlyДата: Неділя, 05.12.2010, 19:51 | Сообщение # 1



pro[100]Deadly
Группа: Видалені

Замечания:






Хочу обратить ваше внимание!
Создатели данного пособия предполагают, что люди которые его будут читать уже знакомы с основами языка с/с++. Если вы как минимум не знаете что такое типы данных, условные операторы, константы, функции, мы рекомендуем вам сначала ознакомится с основами языка, прежде чем читать.

И так, для начала нам нужно понять что такое скрипт в ядре тринити. Для облегчения создания скриптов в ядре создан специальный класс. Этот класс называется ScriptedAI. Объекты, свойства и поля этого класса используются в каждом скрипте.
Теперь перейдем к созданию скриптов с эскортом. Что означает словосочетание "скрипт с эскортом"? Это означает, что существо, которое будет использовать данный скрипт будет идти/бежать по заданному маршруту, выполняя определенные действия в зависимости от ситуации. Для создания скриптов с эскортом используются объекты подкласса класса ScriptedAI, который называется npc_escortAI. Так как основная задача скрипта - заставить существо путешествовать по заданному маршруту, то в первую очередь рассмотрим как создать этот маршрут и попробуем понять как именно происходит процесс путешествия существа по миру игры. Возможно вы знаете что игровой мир это своеобразная трехмерная карта. Каждая точка мира имеет свои координаты. Эти координаты - x,y,z отвечают так же за текущее положение существа в мире. Что бы создать путь для существа, нужно сначала найти точки с координатами x,y,z, по которым это существо будет идти. После чего существо будет идти по прямой линии от первой точки пути до второй и так до самого конца. После того как мы нашли нужные нам точки нам следует привязать их к скрипту существа. Для этого существует несколько способов. Наиболее распространенный и рациональный - заполнение таблицы script_waypoint в базе данных World. Существует вики, где есть подробное описание полей этой таблицы. Тем не менее я приведу описание таблицы в этом пособии.
script_waypoint.bmp
На рисунке вы можете увидеть структуру таблицы. Она имеет 7 полей:
entry
pointid
location_x
location_y
location_z
waittime
point_comment
Первое поле entry - в этом нам нужно занести entry существа, для которого создается маршрут. entry должно совпадать с entry этого существа в таблице creature_template.
Второе поле pointid - это номер точки на карте в которую будет идти существо. Обычно нумерация точек идет от 0 или 1.
Далее следуют поля location_x, location_y, location_z. В эти поля нам нужно занести координаты каждой точки маршрута существа.
Шестое поле waittime. В этом поле можно записать время в миллисекундах (1000 = 1 секунде). Это время паузы, которую существо сделает, прежде чем снова идти, по достижению определенной точки пути.
Седьмое поле использует для описания/расшифровки. В нем программист может написать подсказку. Например, что по достижению определенной точки будет выполнено определенное действие (например существо что-то скажет).
Рассмотрим пример:
Код:

Code
DELETE FROM `script_waypoint` WHERE `entry`=18760;
INSERT INTO `script_waypoint` VALUES
    (18760 ,0,-2265.21,3091.14,13.91,0, ''),
    (18760 ,1,-2266.80,3091.33,13.82,1000, ''),
    (18760 ,2,-2268.20,3091.14,13.82,7000, 'progress1');

Если существо с entry = 18760 будет использовать скрипт эскорта, то во время старта эскорта, существо с места спавна сначала пойдет в точку 0 с координатами -2265.21,3091.14,13.91, после чего существо начнет идти в точку 1 с координатами -2266.80,3091.33,13.82. Когда существо достигнет точки 1, оно сделает паузу в 1 секунду, после чего пойдет в точку 2. Так как точка 2 является последней точкой то по достижение этой точки существо выждет 7 секунд, после чего прекратит идти.
В следующем урывке мы рассмотрим случаи, когда средств базы недостаточно для создания маршрута существу.

 
InuyashaДата: Понеділок, 06.12.2010, 19:50 | Сообщение # 2



Inuyasha
Капрал
Группа: Пользователи
Сообщений: 76

Замечания:

Оффлайн
pro[100]Deadly,
Есть копипастишь, копипасти со скринами ... dry dry


 
pro[100]DeadlyДата: П`ятниця, 17.12.2010, 19:26 | Сообщение # 3



pro[100]Deadly
Группа: Видалені

Замечания:






Inuyasha да я не отрицаю что я копипаст для данного раздела но там на ткрк нету скринов где я это брал!
 
  • Сторінка 1 з 1
  • 1
Пошук:

Новые сообщения в темах
Сдам в аренду сервер и хостинг · (Хост Предложения)
Автор: redlaine
Последнее сообщение в 23:53
хаха :D · (Приколы)
Автор: [N1ke]Medved
Последнее сообщение в 18:40
Autobattle - новый боевой бот ... · (Боты для WoW)
Автор: terrikon
Последнее сообщение в 18:39
PvE руководство для Чернокнижн... · (Чернокнижник)
Автор: Darkensand
Последнее сообщение в 18:38
Пустой свиток (Часть 11) · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:37
Друиды в Катаклизме: Официальн... · (Друид)
Автор: Darkensand
Последнее сообщение в 18:37
[Баг 3.3.5] Фарм ледяных бадже... · (Читы для WoW)
Автор: Darkensand
Последнее сообщение в 18:35
FarmBot (Бот для фарма руды и ... · (Боты для WoW)
Автор: homma
Последнее сообщение в 18:34
Почему мы сражаемся: ролевая и... · (Воин)
Автор: Darkensand
Последнее сообщение в 18:34
Книги по Wold of Warcraft · (Истории WoW)
Автор: R_a_Z_o_R
Последнее сообщение в 18:33
Маг огня в Cataclysm · (Маг)
Автор: Darkensand
Последнее сообщение в 18:33
Как начать играть в World of W... · (Полезно знать)
Автор: Belkmondesh
Последнее сообщение в 18:32
Характеризация профессий · (Профессии)
Автор: Darkensand
Последнее сообщение в 18:31
Что значит для арканов бета те... · (Маг)
Автор: Darkensand
Последнее сообщение в 18:31

Контакты Контакты Copyright WoW-Info — World of Warcraft портал © 2025 | Условия и правила использования ресурса | Реклама / Услуги
WoW-Info портал.World of Warcraft портал — готовые сервера, сайты, картинки, аддоны, патчи, читы, баги, mangos, ArcEmu, TrinityCore, Warcraft 3, новости, Cataclysm...
Яндекс.Метрика Хостинг від uCoz