Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Запросы (http://mangos.ytdb.ru/forumdisplay.php?f=7)
-   -   Transport event (http://mangos.ytdb.ru/showthread.php?t=846)

kampeador 26.04.2010 13:20

Transport event
 
Решил зделать на своем сервер эвент.
Расскажу коротко. Торговый Корабль с торговцами приплывает в Booty Bay и там его встречают пираты. Диалоги с вейпоинтами реализовал, но с кораблем получился затык, так как на Mangos мобы не могут плавать на траспорте. Нашел выход:
Есть корабль, который курсирует между Booty Bay и Rachet.
Надо как нибудь сделать, чтобы мобы присумонились на корабле как только он остановится. Проблема состоит в том, чтобы как нибудь отследить этот момент.
Вейпоинты у траспорта я так понял находятся TransportAnimation.dbc
Открыл этот файл через вот dbc editor и абсолютно ничего не ясно. Непонятные 6 колонок с числами.
Может быть он глючный?

В базе (стоит YTDB, хотя разницы нету)
Код:

INSERT INTO `transports` VALUES ('176495', 'Grom\'Gol Base Camp and Undercity', '315032');
INSERT INTO `transports` VALUES ('176310', 'Menethil Harbor and Auberdine', '241778');
INSERT INTO `transports` VALUES ('176244', 'Teldrassil and Auberdine', '309295');
INSERT INTO `transports` VALUES ('176231', 'Menethil Harbor and Theramore Isle', '230162');
INSERT INTO `transports` VALUES ('175080', 'Grom\'Gol Base Camp and Orgrimmar', '248990');
INSERT INTO `transports` VALUES ('164871', 'Orgrimmar and Undercity', '239334');
INSERT INTO `transports` VALUES ('20808', 'Ratchet and Booty Bay', '231236');
INSERT INTO `transports` VALUES ('177233', 'Forgotton Coast and Feathermoon Stronghold', '317040');
INSERT INTO `transports` VALUES ('181646', 'Azuremyst and Auberdine', '238707');
INSERT INTO `transports` VALUES ('190536', 'Stormwind Harbor and Valiance Keep, Borean Tundra (\"The Kraken\")', '271979');
INSERT INTO `transports` VALUES ('181688', 'Valgarde and Menethil', '445534');
INSERT INTO `transports` VALUES ('181689', 'Undercity and Vengeance Landing', '214579');
INSERT INTO `transports` VALUES ('186238', 'Orgrimmar and Warsong Hold', '302705');
INSERT INTO `transports` VALUES ('186371', 'Stolen Zeppelin', '484211');
INSERT INTO `transports` VALUES ('187568', 'Moa\'ki Harbor Turtle Boat', '445220');
INSERT INTO `transports` VALUES ('187038', 'Pirate boat', '307953');
INSERT INTO `transports` VALUES ('188511', 'Unu\'pe Turtle Boat', '502354');
INSERT INTO `transports` VALUES ('192241', 'Orgrims Hammer', '1424158');
INSERT INTO `transports` VALUES ('192242', 'Fizzcrank Airstrip', '1051387');
INSERT INTO `transports` VALUES ('190549', 'Orgrimmar and Thunder Bluff', '566000');
INSERT INTO `transports` VALUES ('201812', 'Icecrown_Citadel_Horde_10', '74000');
INSERT INTO `transports` VALUES ('201599', 'Orgrim\'s Hammer', '15000');
INSERT INTO `transports` VALUES ('201581', 'Icecrown_Citadel_Horde_25', '74000');
INSERT INTO `transports` VALUES ('201598', 'The Skybreaker', '15000');
INSERT INTO `transports` VALUES ('201580', 'Icecrown_Citadel_Allians_25', '74000');
INSERT INTO `transports` VALUES ('201811', 'Icecrown_Citadel_Alliance_10', '74000');
INSERT INTO `transports` VALUES ('195276', 'Horde Gunship', '106000');
INSERT INTO `transports` VALUES ('195121', 'Allians Gunship', '106000');

Исходя отсюда номер корабля 20808? В dbc файле я его не нашел. Или я слепой или не там ищу.
Хотя бы найти координаты вейпоинта, где этот корабль стоит в BootyBay.
Прошу помочь.

timmit 26.04.2010 13:25

это номер темплаты объекта в базе, у таких Го есть номер пути в темплате, вот его и смотрите в дбц

kampeador 26.04.2010 14:35

Вобщем стал искать и снова затык.
В TaxipathNode.dbc есть точки старта и точки финиша.
Согласно базе pathID корабля 241.
В TaxiPath.dbc нашел строчку:
241 34 80 0
Нормальной Wiki по dbc файлам я так и не нашел. Mangos zero детальная, но в колонках 1.12.1 и 3.3.3а всетаки есть небольшая разница.
в YTDB wiki описания нету.
Исходя из wiki 1.12.1
241 - path ID нашего корабля.
34 - ID точки старта TaxipathNode.dbc, но почемуто в том dbc значения начинаются от 35.
80 - ID точки финиша, эту удалось найти.

Теперь в TaxipathNode.dbc нахожу строчку:
80 7 12 0 -971281524 1140673700 1108690564 0 0 0 0
Что означают эти значения?
80 - точка TaxiPath.dbc
7 и 12 хз.
0 - карта
-971281524 1140673700 1108690564... насколько я понял это x, y, z координаты. Но что-то они очень большие. Как по ним ориентироватся?

Deamon 26.04.2010 14:42

Они не большие, они хранятся в формате числа с плавающей точкой, а вы пытаетесь их прочитать как целое число. Отсюда и затык.

kampeador 26.04.2010 14:59

Цитата:

Сообщение от Deamon (Сообщение 5100)
Они не большие, они хранятся в формате числа с плавающей точкой, а вы пытаетесь их прочитать как целое число. Отсюда и затык.

А у вас есть нормальный dbc редактор, который их правильно отображает, тоесть с плавающей запятой?

timmit 26.04.2010 15:01

В таблице taxipathnode смотрите 2 колонку - номер тахипаф, в вашем случае это 241, найдутся все точки

Deamon 26.04.2010 15:14

Цитата:

Сообщение от kampeador (Сообщение 5101)
А вас есть нормально dbc редактор, который их правильно отображает, тоесть с плавающей запятой?

Могу посоветовать DBCTool. Там есть возможность установки типа поля "на лету". Но у него есть один недостаток - он жутко неоптимизированный и большие таблицы наподобие Spell.dbc им лучше не грузить.

Сейчас ссылки на него и бинарников нет, могу скинуть как приду домой. Если, конечно, к тому моменту это будет еще актуально.

RomanRom2 26.04.2010 20:07

дык подобные тулзы всегда можно поискать вот в этой кучке. каких не хватает, сообщите - найдем и выложим.

Konctantin 26.04.2010 20:12

Посмотрите этой прогой, она сразу показывает значение ячейки в разных форматах
http://filekeeper.org/download/shared/DBC-Viewer.7z

kampeador 27.04.2010 09:25

Кстати, когда я извлекал карты я заметил множество карт в названии которых присутствует слово transport. При том, карт примерно такое же количество как и траспортных кораблей.
Тоесть я так понял, что корабль это отдельная карта, которая двигается и гм команда .gps её также не видит. Может быть как то убрать код с кораблей, чтобы они не двигались и заселить их, а после заселения в базе поменять карты в наших спавнах и затем снова их запустить.
Или это какие-то другие карты, с другим форматом, где нужна особая реализация?


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

ru-mangos.ru - Русское сообщество MaNGOS