Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Прочая документация

Важная информация

Прочая документация Помощь, книги, инструкции, описания

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2010, 06:31   #1
idk
Гость
 
Сообщений: n/a
Восклицание Разработка собственных эвентов

И так представляю Вашему вниманию мануал по разработке собственных эвентов.
Мануал является собственностью getmangos.ru, то есть предыдущего домена) Был разработан там, кем к сожалению не помню в упор.

Faq по разработке собственных эвентов и событий World of Warcraft. (Актёры Театра).

Часть 1 - Подготовка.
Код:
До того как приступить к разработке собственного эвента, нам потребуется:
1. Редактор базы данных Quice.   
2. Клиент MySQL - SQLyog или Navicat.   
3. Заранее продуманный сценарий для нашего маленького театра и конечно же "MaNGOS Rev.4353+".
Внимание: Система эвентов была обновленна и теперь время задаётся не в часаха, а в минутах.


Часть 2 - Поиск & Подготовка актёра.
Код:
Для того что бы создать нашего первого актёра, нужно подобрать его внешний вид. Заходим на (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.
[/code]
Подсазка: Описание всех параметров на русском языке, вы можете найти в базе данных WiKi (http://mangos.ru/wiki/indexx.php?tit...ature_template).

Часть 4 - Импортируем готового актёра в базу.

Код:
После того, как вы закончили редактировать параметры моба, можете смело нажимать кнопку "Show Creature Template Script". После нажатия программа выдаст вам ваши наработки в виде SQL кода. Скопируйте данный код в блокнот, нажмите кнопку "Execute script" и вуоля! Мы импортировали нашего маленького друга в базу. Сохраните тот блокнот в который копировали код SQL в расширении "#Имя файла.sql".
Часть 5 - Создание лута нашему актёру.

Код:
Чтобы создать лут нашему актёру, достаточно просто в 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 или подготовка театра.


Код:
Мы имеем готового актёра и подготовленный сценарий. Сворачиваем Quice, запускаем наш сервер. Выбираем заранее подготовленное место где и будет проводится наш эвент. Выбрали? Начинаем расставлять Npc. Чтобы добавить нужного нам Npc вводим команду ".addspw #Номер нашего актёра (800001)". Вот мы и поставили нашего первого моба. Чтобы задать время, через которое моб будет респаунится используйте команду ".spawntime #Время в секундах".
Подсказка: Моб всегда при спауне будет смотреть в ту сторону, в которую смотрите вы, т.е. установленный моб будет выстраивается ориентируясь на ваше местоположение.

Подсказка: В корневой директории с компилитом, всегда при модификации базы в игре, генерируется SQL код "Дата-внесённого-именения.sql". Из данного файла можно выдрать полезный код. Например: "creature_movement". В то время как в Quice мы извлекаем самого моба, его вейпоинты извлечь не сможем, так как данная функция там не предусмотрена. Придётся брать из сгенерированного *.sql файла. Это необходимо чтобы поделится своим эвентом c другими людьми.

Часть 7 - Связываем актёра с нашим эвентом.

Код:
Именно тут нам и понадобятся клиента 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.

Код:
Вообще G.O. делается абсолютно таким же образом что и Npc. За исключением некоторых моментов. 1. Нужное G.O. обычно тяжело найти в базе. ".lookupobject #Имя G.O. Пример - Bonfire (Факел, костер и т.д.)". Добавить G.O. можно командой ".gameobject #Id Нужного нам объекта". 2. Лут для G.O. и прочие свойства как сундуки задаются совершенно другим образом. 3. Я напишу отдельный фак по связыванию эвента с игровыми объектами, я думаю что этому нужно уделить особое внимание, ибо можно реализовать даже пылающий в огне Stormwind City!
Часть 9 - Пожелания начинающим.

Код:
Вообще вы можете на один эвент привязать сколько угодно актёров и сколько угодно гайдов - "Guid". Вы можете организовать эвент из нескольких эвентов и сделать временную цепочку, главное думать головой и продумывать сценарий. Я не говорю что из данного F.A.Q. вы твёрдо научитесь делать эвенты, всё зависит только от вас. Я надеюсь что вы извлечете много полезной информации.Тут очень много полезного чего можно извлечь хотя бы просто для себя.
  Ответить с цитированием
Старый 12.03.2010, 06:32   #2
idk
Гость
 
Сообщений: n/a
По умолчанию

F.A.Q. По разработке собственных эвентов и событий World of Warcraft. (Игровые объекты театра).

Часть 1 - Подготовка.

Код:
До того как приступить к разработке собственного эвента, нам потребуется:
1. Редактор базы данных Quice.   
2. Клиент MySQL - SQLyog или Navicat.   
3. Ну и конечно же "MaNGOS Rev.4353+".
Часть 2 - Поиск & Подготовка G.O.

Код:
Вообще поиск 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.

Код:
В данном случае нам понадобится программа "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".

Часть 4 - Связываем G.O. с эвентом.


Код:
По сути это таже самая операция что и в первом F.A.Q. части #7. Всё тоже самое только работы со связкой G.O. с эвентом проводятся в таблице "game_event_gameobject".

Последний раз редактировалось idk; 12.03.2010 в 08:51.
  Ответить с цитированием
Старый 14.03.2010, 00:04   #3
_PARADOX_
Новичок
 
Аватар для _PARADOX_
 
Регистрация: 10.03.2010
Сообщений: 13
Сказал(а) спасибо: 6
Поблагодарили 2 раз(а) в 1 сообщении
_PARADOX_ На верном пути
По умолчанию

у меня вопрос такого рода:
как занести время и число(определенное) чтобы он запускался сам
_PARADOX_ вне форума   Ответить с цитированием
Старый 14.03.2010, 01:29   #4
Feel the Power
Пользователь
 
Аватар для Feel the Power
 
Регистрация: 07.03.2010
Адрес: Беларусь, Минск
Сообщений: 58
Сказал(а) спасибо: 92
Поблагодарили 40 раз(а) в 17 сообщениях
Feel the Power Скоро придёт к известности
Отправить сообщение для Feel the Power с помощью ICQ
По умолчанию

http://wiki.ytdb.ru/index.php/Game_event
Feel the Power вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
reload all_quest и квесты эвентов NeatElves Баг-репорты 0 08.12.2010 16:45
[Mod] Anti-Farming (разработка) Hantet Запросы 37 08.09.2010 08:57
[git] Командная разработка Hantet Новичкам 3 06.07.2010 09:01
SCRIPT_COMMAND_QUEST_EXPLORED для эвентов такси virusav Принятые патчи 0 05.05.2010 21:04
Глобальный FAQ (разработка) Konctantin Новичкам 6 14.03.2010 10:46


Текущее время: 14:05. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot