F.A.Q. По разработке собственных эвентов и событий World of Warcraft. (Актёры Театра). Часть 1 - Подготовка. Code До того как приступить к разработке собственного эвента, нам потребуется: 1. Редактор базы данных Quice. 2. Клиент MySQL - SQLyog или Navicat. 3. Заранее продуманный сценарий для нашего маленького театра и конечно же "MaNGOS Rev.4353+". Внимание: Система эвентов была обновленна и теперь время задаётся не в часаха, а в минутах. Часть 2 - Поиск & Подготовка актёра. Code Для
того что бы создать нашего первого актёра, нужно подобрать его внешний
вид. Заходим на (www.wowhead.com) выбираем класс нашего Npc "Browse
-> Npc -> #Класс например Giants". Ищём подходящего нам по
внешнему виду моба. Например "Cliff Thunderer",
(http://www.wowhead.com/?npc=6147). Запускаем заранее установленный
Quice, сверху переходим на вкладку "Creature". В поле "Entry" вводим
номер нашего Npc. Номер находится в конце адреса "?npc=6147" ,
(http://www.wowhead.com/?npc=6147). В данном случае номер "6147". Далее
нажимаем кнопку "Search". В окне поиска появляется наш моб который и
станет жертвой модификации под наш эвент. Открываем двойным щелчком
моба. Перед нами раскрывается подробная информация о его: "HP", "Мане",
"Имени", "Уроне", "Резистах" и о прочих свойствах. Чтобы наш актёр стал
уникальным, нужно изменить его оригинальное поле "Entry". Вписываем
туда свой желаемый номер, который ещё не существует в базе! Например
если самый последний моб в таблице "creature_template" находится под
номером "442152", то вы создаёте под номером "442153", а ещё лучше
вообще под таким "800001". Это поможет избавится от проблем и ошибок в
базе при обновлении\добавки новых креатур от официальных разработчиков
баз. Подсказка: Чтобы узнать какой номер
у самого последнего Npc в базе, достаточно просто запустить клиент
MySQL и пролистать страничку до конца в таблице "creature_template", не
забудьте отсортировать коллиум "Entry" по принципу алфавита "A-Z". Если
вы не умеете пользоваться клиентами MySQL, то читайте дополнительные
документации из соответственного раздела. Часть 3 - Создание актёра. Code И
так, актёр выбран, теперь приступаем к его модификации... Вводим новый
"Entry" нашему актёру, например "800001", как было сказанно в части #2
и задаём новые свойства Npc. Подсазка:
Описание всех параметров на русском языке, вы можете найти в базе
данных WiKi (http://mangos.ru/wiki/indexx.php?title=Creature_template). Часть 4 - Импортируем готового актёра в базу. Code После
того, как вы закончили редактировать параметры моба, можете смело
нажимать кнопку "Show Creature Template Script". После нажатия
программа выдаст вам ваши наработки в виде SQL кода. Скопируйте данный
код в блокнот, нажмите кнопку "Execute script" и вуоля! Мы
импортировали нашего маленького друга в базу. Сохраните тот блокнот в
который копировали код SQL в расширении "#Имя файла.sql". Часть 5 - Создание лута нашему актёру. Code Чтобы
создать лут нашему актёру, достаточно просто в Quice перейти на вкладку
"Creature Loot" и начать добавлять итемы. Итемы вы также можете искать
на (www.wowhead.com). Чтобы добавить тот или иной итем, достаточно
просто в поле "entry" ввести "lootid" "Заранее указанный параметр во
вкладке 'Creature Template', не забывайте читать информацию из базы
данных WiKi.". Это номер индекс по которому Ядро будет вычеслять что
падает с данного моба. В поле итем вводите номер нужной вещи, опять
таки взятый из конечных строк "?item=811" с
(http://www.wowhead.com/?item=811). Например 811 - Axe of the Deep
Woods. В поле "ChanceOrRef" задаёте шанс дропа данного итема, например
"25". Это значит что шанс дропа данной вещи составляет 25%. Поле
"QuestChanceOfGroup", сделано специально для шанса дропа квестовых
вещей. Можете поставить на "0". В полях "mincount" и "maxcount" вам
необходимо указать кол-во, которое упадёт с моба. Например 1 | 2 -
Минимальное кол-во 1, Максимальное кол-во 2. Поле "quest_freeforall"
указывает на то что квестовая вещь упадёт в группе на каждого по одной,
если указать "1" или на одна на всех, если указать "0". Можете ставить
на "0". Всё теперь жмём плюсик и делаем подобную операцию столько
сколько нам нужно. После того как добавите все итемы в лут данного
моба, нажмите кнопку "Show FULL Creature Loot Script". Опять таки
копируете сгенерированный код из окна в тот *.sql файлик, который мы
будем выкладывать на публику. Нажимаем "Execute script" и дело в шляпе.
Подсказка: Если вам всё же тяжело понять данный способ, попробуйте сделать лут SQL запросами Часть 6 - Расстановка Npc или подготовка театра. Code Мы
имеем готового актёра и подготовленный сценарий. Сворачиваем Quice,
запускаем наш сервер. Выбираем заранее подготовленное место где и будет
проводится наш эвент. Выбрали? Начинаем расставлять Npc. Чтобы добавить
нужного нам Npc вводим команду ".addspw #Номер нашего актёра (800001)".
Вот мы и поставили нашего первого моба. Чтобы задать время, через
которое моб будет респаунится используйте команду ".spawntime #Время в
секундах". Подсказка: Моб всегда при
спауне будет смотреть в ту сторону, в которую смотрите вы, т.е.
установленный моб будет выстраивается ориентируясь на ваше
местоположение. Подсказка: В корневой директории с
компилитом, всегда при модификации базы в игре, генерируется SQL код
"Дата-внесённого-именения.sql". Из данного файла можно выдрать полезный
код. Например: "creature_movement". В то время как в Quice мы извлекаем
самого моба, его вейпоинты извлечь не сможем, так как данная функция
там не предусмотрена. Придётся брать из сгенерированного *.sql файла.
Это необходимо чтобы поделится своим эвентом c другими людьми. Часть 7 - Связываем актёра с нашим эвентом. Code Именно
тут нам и понадобятся клиента MySQL чтобы всё обошлось без лишних
мучений и хлопот. Открываем наш клиент, раскрываем таблицу
"game_event". Вы увидите знакомую вам картину, если вы конечно хоть раз
заглядывали в *.sql файлики с эвентами. | entry (Номер нашего эвента.)
| start (Дата и время старта эвента.) | end (Дата окончания эвента.) |
occurence (Интервал времени в часах, через которое эвент повторится.) |
length (Продолжительность эвента в часах.) | description (Описание
эвента, или его ступеней.). Допустим мы создали новый эвент в таком
виде "250 | 2007-08-12 15:00:00 | 2010-12-10 00:00:00 | My First Event.
Это и есть, так сказать центр управления вашим эвентом. Эвент
заготовлен, привязываем к нему актёра. Раскрываем таблицу
"game_event_creature". В поле "guid" нужно указать номер гайда, который
был автоматически присвоен установленному нами Npc. Чтобы узнать данный
гайд необходимо развернуть наш свёрнутый Quice, вновь перейти на
вкладку "Search" и ввеси номер "800001"... Далее, вновь двойным щелчком
развёртываем нашего Npc и переходим на вкладку "Creature Location".
Именно там вы и увидите гайд установленного моба. Переписывайте его в
таблицу "game_event_creature" как уже было сказано в колиум "Guid". В
колиуме "event" указываете номер нашего эвента - "250". Сохраняете
табличку, если вы используете "SQLyog", если "Navicat" то внесённые
данные сохранятся автоматически. Заметка: В случае если всё было удачно связанно между собой, Npc изчезнут в ожидании своего часа. Часть 8 - Игровые объекты нашего театра G.O. Code Вообще
G.O. делается абсолютно таким же образом что и Npc. За исключением
некоторых моментов. 1. Нужное G.O. обычно тяжело найти в базе.
".lookupobject #Имя G.O. Пример - Bonfire (Факел, костер и т.д.)".
Добавить G.O. можно командой ".gameobject #Id Нужного нам объекта". 2.
Лут для G.O. и прочие свойства как сундуки задаются совершенно другим
образом. 3. Я напишу отдельный фак по связыванию эвента с игровыми
объектами, я думаю что этому нужно уделить особое внимание, ибо можно
реализовать даже пылающий в огне Stormwind City! Часть 9 - Пожелания начинающим. Code Вообще
вы можете на один эвент привязать сколько угодно актёров и сколько
угодно гайдов - "Guid". Вы можете организовать эвент из нескольких
эвентов и сделать временную цепочку, главное думать головой и
продумывать сценарий. Я не говорю что из данного F.A.Q. вы твёрдо
научитесь делать эвенты, всё зависит только от вас. Я надеюсь что вы
извлечете много полезной информации.Тут очень много полезного чего
можно извлечь хотя бы просто для себя.
________________________________________________________________________________________________________________________________
F.A.Q. По разработке собственных эвентов и событий World of Warcraft. (Игровые объекты театра). Часть 1 - Подготовка. Code До того как приступить к разработке собственного эвента, нам потребуется: 1. Редактор базы данных Quice. 2. Клиент MySQL - SQLyog или Navicat. 3. Ну и конечно же "MaNGOS Rev.4353+". Часть 2 - Поиск & Подготовка G.O. Code Вообще
поиск G.O. занимает довольно-таки долгое время. Есть различные способы
поиска. Например: Командой ".lookupobject Bonfire", данной командой мы
отыщем нужное нам G.O. по названию в базе, так сказать, на угад. Но
можно воспользоваться программой "Model Viewer".
(http://filebeam.com/6fc72aff57e03d25309ea8f0e815c5c2) "Пароль к
закачке файла - [pe114ewar]. Например, запускаем программу и выбираем
нужное нам G.O. Например огонь - "Bonfire". Заходим в игру и если
повезёт, что данное G.O. в базе имеет точно такое же название что и во
вьювере, то мы сможем найти наш заветный огонёк. ".lookupobject
Bonfire" После ввода команды, консоль покажет нам ID огня - "Например
ID=14253". Часть 3 - Создание лута нашему G.O. Code В
данном случае нам понадобится программа "Quice". И так, первое что
нужно сделать, это поставить наш огонёк который мы нашли в части #2. На
самом деле у таких G.O. как огонёк не прописан "type 3" что указывает
на то что данный G.O. является сундуком и его можно облутить. По этому
данная часть относится к тем кто устанавливает сундук в своём эвенте.
Что бы создать наше собственное G.O. нужно проделать подобную операцию
из предыдущего F.A.Q. части #3. Принцип один и тот же только на этот
раз мы работает не с креатурой а с игровым объектом. Проделав операцию
из первого F.A.Q. части #3, нам нужно установить наш G.O. Например его
ID=555222. Заходим в игру, встаём на то место где хотим поставить наше
G.O. и вводим команду ".gameobject 555222". Вуоля! Вот и появился наш
игровой объект. Заходим в "Quice" переходим на вкладку "Game Object".
Вводим в строке "Entry", ID нашего G.O. 555222. Переходим к свойствам
объекта и тут же щёлкаем по под-фкладке "GO Location". Лут задаётся
G.O. совершенно по-другому в отличии от креатуры. У каждого G.O. в
под-фладке локации имеется свой уникальный лут. Щёлкаем по нашему G.O.
и переходим на под-фкладку "GP Loot". Вы увидите знакомую картину если
задавали лут в "Quice" из первого F.A.Q. по креатурам. Добавляем лут
объекту и жмём "Show FULL GO Loot Script" \ "Execute script". Заметка:
Что бы узнать значения всех полей G.O. нужно обратится к базе-данных
WiKi (http://mangos.ru/wiki/index.php?title=Gameobject). Часть 4 - Связываем G.O. с эвентом. Code По
сути это таже самая операция что и в первом F.A.Q. части #7. Всё тоже
самое только работы со связкой G.O. с эвентом проводятся в таблице
"game_event_gameobject". Взято c Mangos.ru
|