|
Моды Неофициальная модификация ядра MaNGOS, собственные наработки, расширение функционала |
|
Опции темы | Поиск в этой теме | Опции просмотра |
11.05.2010, 14:30 | #1 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
[mod] NPC on Transport
люди подскажите как прибить npc к обьекту, но при этом что бы обьект двигался !
|
11.05.2010, 16:08 | #3 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
меня интересует то что в ледяной короне дережабли летают без нпс !а нпс стоят в воздухе .
|
11.05.2010, 16:16 | #4 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
|
Прибить никак.
|
11.05.2010, 17:04 | #5 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
ну почему же никак. сесть на лавочку или стул мы же можем...
или вот например в катаклизме когда ты начинаешь играть воргеном, то ты начинаешь игру в фигурке воргена и в кандалах. кандалы - вообще говоря не ГО, а видимо м2. их там несколько стоит в стартовой воргенов, если обращали внимание. но ты стоишь в определенной позе и двигаться не можешь. к тебе подходят (подчеркиваю - подходят) всякие нпц и просят тебя ... (далее фантазия) что ты обязуешься там что нибудь... грубо говоря ты выполняешь квест (соглашаешься с уловиями освобождения) и тебя "отпускают", превратя в человека. http://www.youtube.com/watch?v=uV168oMfPgg так что стоит задуматься об этом. |
11.05.2010, 17:15 | #6 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
|
|
11.05.2010, 17:20 | #7 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
не причем. это лирическое отступление.
про ГО я вроде сказал, на лавку сесть можем, в лифте или метро проехаться тоже, на кораблях/дирижаблях тоже. и нцп это делают вроде тоже. по крайней мере в метро я с ними катался. только тут проблема: транспортный ГО ездит в клиенте, а не на сервере. поезд с нпц то уехал, только координаты этого нпц остались на месте. и как только пошевелить этим нпц, то он тут же телепортнется обратно... |
11.05.2010, 17:23 | #8 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
я так понял что нада писать скрипт на сд2?
|
11.05.2010, 19:38 | #9 | |
Ученый
|
Цитата:
|
|
11.05.2010, 20:00 | #10 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
|
RomanRom2
Я и говорю, пока вариант один: прибиваем ГО (неподвижное (для антуража), на стул-то мы сесть можем), на него прибиваем неписей. Последний раз редактировалось YuruY; 11.05.2010 в 20:28. |
11.05.2010, 20:10 | #11 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
Не прибьёшь так. Стул в воздухе висеть останется, как транспорт двинется. И НПС, и ГО привязываются к карте, а транспорт - это не карта... Вывод ясен? |
|
11.05.2010, 20:11 | #12 | |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
Цитата:
вопрос в том, как слинковать (прибить) юнит к го. мне такой метод неизвестен (это не означает что его нет ). |
|
11.05.2010, 20:23 | #13 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Самый прикол, что у близов транспорт - похоже это карта, но как то она хитро обрабатывается. И возможно все нпс и Го находятся как раз на этой карте и тоже как то хитро обрабатываются, но это предположение. Данные по ним в дбц в картах есть.
|
11.05.2010, 20:34 | #14 |
Новичок
Регистрация: 07.03.2010
Адрес: Украина
Сообщений: 26
Сказал(а) спасибо: 28
Поблагодарили 26 раз(а) в 8 сообщениях
|
А тем временем... два месяца назад появился патч:
http://getmangos.com/community/showt...ight=transport Правильные мысли в этом направлении писал Neo2003 под постом #3. |
12.05.2010, 01:14 | #16 | |
MaNGOS Dev
Регистрация: 14.03.2010
Сообщений: 38
Сказал(а) спасибо: 23
Поблагодарили 49 раз(а) в 16 сообщениях
|
возможно у близзов любая карта - платформа, и любой объект имеет свойства платформы для перемещения в себе других объектов
(но конечно используется это только для transport и vehicle) Транспорт у нас - изначальный хак, не часть карты, сложно что-то менять не тронув его. Цитата:
[added] Где-то слышал что транспорт на самом деле между континентами не перемещается, просто на каждой карте есть его копия, коппи отличаются по гуидам. Если так, то нпс на транспорте тоже должны быть копиями Последний раз редактировалось SilverIce; 12.05.2010 в 01:41. |
|
12.05.2010, 04:18 | #18 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Тут еще показателен транспорт, работающий по одной зоне - те же летающие корабли в Ледяной Короне. На нем тоже никто не задерживается, кроме PC - ни мобы, ни петы.
Лично мне вообще непонятна сама эта идея "карта в карте", как сейчас работает транспорт. Заходя на транспорт жму gps - карта не меняется, однако я уже оказался на новой карте (движущемся транспорте) - как это? Насколько я помню, под каждый корабль ставится свой GO с определенными entry и guid и в определенной точке. Если он там не стоит - никакого транспорта не появляется. Если стоит в другой точке - сбиваются периоды. (кстати, периоды под транспорт на Нордскол до сих пор неверные стоят на всех базах)
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
12.05.2010, 11:41 | #19 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
2) Карты не меняется потому что сервер не обрабатывает транспорт как отдельную карту и берёт данные о глобальной карте. Нет обработчика такого типа карт 3) Ага, именно так. А как привязывается это ГО? Не в базе же по координатам ставится Есть зачатки обработки подобных карт. И вот в особом месте привязывается ГО-транспорт к этой самой, для мангоса пока, гипотетической карте. Карта движется (хз как...), а так как трнспорт находится именно на ней, создаётся впечатление, что движется ГО. Всё вышеизложенное - мои логические выводы и память о прошлой теме. |
|
16.05.2010, 12:05 | #20 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Ветка на гетмангос
[Patch] Support for npc on transport Данный патч не принят, и никогда не будет принят в ядро по причине неверной реализации работы. Однако попробовать, проверить и т.д. нам никто ведь не запрещает? В аттаче - подведенный (лично мной) под 9913 ревизию патч из вышеупомянутой ветки, однако вообще не проверенный - может и не скомпилится даже. Все в ваших силах - смотрите, пробуйте, проверяйте. Под какую ревизию тут sql файл - вообще представления не имею, даже не открывал его. Сам сейчас буду пробовать компилить и смотреть в работе, так что может комменты еще последуют. PS Компилится без ошибок. PS Запускается без ошибок. Входя на транспорт с петом (небоевым) - когда корабль поплыл, пет уезжает назад. Но если двинуться немного - он прибегает. В итоге он все-таки пропадает... В консоли идут ошибки: Код:
ERROR:Creature (GUIDLow: 1) X: 2135.954346 Y: 5155.607910 (original) in grid[36,41]cell[1,4] instead grid[36,41]cell[0,5] Еще TransOffsetX, TransOffsetY, TransOffsetZ,TransOffsetO - позиция и ориентация относительно корабля? А как и откуда ее брать вообще? Если только сервер сам заполняет... Типа они должны сами заполняться когда НПС ставишь на корабль? Не заполняются. Туда петы прописываются, с которыми на корабль поднимаешься? Хрен знает. Я сейчас попробую туда что-то от балды вкатать (номер корабля и НПС которые на нем стоят), не знаю что получится. Хотя я даже от балды не знаю что туда лить - в entry номер корабля, в npc_entry - guid моба? А в позицию - вообще хрен знает. PS Оопс, мобов на дне нет... Ну, обычно когда корабль уплывает - мобы остаются висеть в воздухе, или падают на дно. В воздухе не висели, на дне я их не нашел. Корабль приплыл, я вынырнул - они на корабле. Корабль уплыл - они остались в воздухе висеть. PS Почитал лог, много думал... Глянул по базе: То есть, судя по логу, патч работает только с 12 транспортами, из 29 имеющихся? Я тестил на: 190536 - Stormwind Harbor and Valiance Keep, Borean Tundra ("The Kraken") На нем не фурычит. То есть мне идти смотреть те, которые в логе упомянуты? Короче - моск плавиццо. У меня пока есть другие дела, так что наверное я тестирование продолжу в другое время... PS Причем, замечу - данные-то из таблицы запрашиваются, однако сама таблица пустая.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
17.05.2010, 04:55 | #21 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Насколько мне известно у близарда двухмерная сетка в игре те Х и Y на каждом каждом транспорте она имеется своя те при движении корабля координаты не меняются. И моб стоит на месте я так думаю
|
17.05.2010, 10:35 | #22 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
все так, но проблема вот в чем:
транспорт имеет координаты x1,y1,z1. транспорт НЕ ПЕРЕМЕЩАЕТСЯ в мире - это всего лишь закольцованный видеоролик с бегунком прокрутки (таймстампом), который прокручивается автоматически клиентом - но это отдельный разговор. когда юнит заходит на корабль, этому юниту выставляется флаг (ON_TRASPORT) и в create и update пакетах начинают рассылаться дополнительные координаты ОТНОСИТЕЛЬНО корабля, x2, y2, z2. благодаря выставленному флагу мы видим уплывающего юнита вместе с кораблем, если флаг не выставить - корабль уплывет, юнит будет стоят на месте и когда "земля уплывет из под ног", юнит плюхнется на землю или в воду. так вот проблема: в момент захода на корабль координаты юнита становятся равны координатам корабля и не меняются в течении всего времени пребывания на корабле. любое движение юнита вроде как влечет за собой изменение его координат и если их сменить (напомню, они остались равны координатам корабля, который стоит на пристани), то юнит мгновенно телепортирует с уплывшего корабля на пристань, где визуально (подчеркиваю - визуально. фактически он там так и стоит, никуда не делся) корабля уже нет. собственно решение проблемы: нельзя изменять основные координаты юнита, пока он на корабле и у юнита выставлен флаг, нужно изменять только относительные координаты. т.е. что имеем: фактически - да, получается что юнит продолжает быть на месте корабля, стоящего на пристани. на сервере. и когда к этой пристани подбегает другой юнит, ему креатится корабль (с правильным таймстампом) и наш уплывший юнит тоже. только кретить его нужно правильно - с высталенным флагом и переданным гуидом корабля. тогда клиент отрисует отсутсвующий/подплывающий/уплывающий корабль и нашего юнита на нем. без всяких проблем. основная проблема - правильный таймстамп в create пакете корабля. вторая проблема - правильный create для находящихся на этом корабле юнитов. ну, вторая проблема - не проблема вообще, а с первой так до сих пор никто и не разобрался еще. ну и еще существует третья проблема - как отслеживать момент захода плеера на транспортный ГО и момент когда юнит уходит с корабля (может это и не проблема тоже, но лично мне пока неизвестно). нет никакой карты в карте. нужно все правильно реализовывать. |
4 пользователя(ей) сказали cпасибо: |
17.05.2010, 11:35 | #23 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
Какой-то странный патч. В команде добавления GO почему-то идет запись в таблицу creature_transport...
Код:
@@ -726,6 +727,13 @@ bool ChatHandler::HandleGameObjectAddCommand(const char* args) float o = float(chr->GetOrientation()); Map *map = chr->GetMap(); + if(chr->GetTransport()) + { + chr->GetTransport()->AddNpcPassager(id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO()); + WorldDatabase.PQuery("INSERT INTO creature_transport (entry, npc_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (%u, %u, %f, %f, %f, %f)", chr->GetTransport()->GetEntry(), id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO()); + return true; + } + Видимо надо перенести в bool ChatHandler::HandleNpcAddCommand(const char* args)... Так же не понятно зачем были добавлены Код:
+ // Transport info + uint64 m_transportGUID; + float m_transportPosition[4]; + Код:
// transport ObjectGuid t_guid; Position t_pos; uint32 t_time; int8 t_seat; uint32 t_time2; void SetTransportData(ObjectGuid guid, float x, float y, float z, float o, uint32 time, int8 seat) { t_guid = guid; t_pos.x = x; t_pos.y = y; t_pos.z = z; t_pos.o = o; t_time = time; t_seat = seat; } Последний раз редактировалось TOM_RUS; 17.05.2010 в 11:41. |
17.05.2010, 14:27 | #24 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Да, ты почти слово в слово в оригинальной теме это писал. Но так как я не знаю как именно это править - я и не стал кривыми руками лезть, побоялся.
А вот насчет заполнения таблицы возникает болезненный вопрос - а как? Координаты же по .gps берутся относительно основной карты, а не относительно транспорта? То есть - наощупь как-то их брать?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
17.05.2010, 14:43 | #25 | |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Цитата:
|
|
17.05.2010, 15:02 | #26 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Так их же вроде не существует? Нет координат на транспорте, потому что транспорт как-то не так обрабатывается.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
17.05.2010, 15:10 | #27 | |
WowCore Dev
Регистрация: 11.03.2010
Сообщений: 112
Сказал(а) спасибо: 10
Поблагодарили 51 раз(а) в 25 сообщениях
|
Цитата:
Кроме того всегда можно транспорту сказать "СТОП". И транспорт будет стоять на месте не двигаясь |
|
17.05.2010, 16:34 | #28 |
WowCore Dev
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
|
координаты эти существуют. их присылает клиент.
|
17.05.2010, 19:14 | #29 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
Пофиксите команду добавления npc как я писал выше и не будет проблем с заполнением таблицы.
Последний раз редактировалось TOM_RUS; 17.05.2010 в 23:43. |
Пользователь сказал cпасибо: | tempura (17.05.2010) |
18.05.2010, 04:13 | #30 |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
ступил.
Поправил в соответствии с постом TOM_RUS (убрал лишний кусочек, перекинул другой кусочек). Кто проверять будет? Я себе в этом не доверяю вообще. Ну и остается вопрос с заполнением таблицы. Фраза "не будет проблем с заполнением таблицы" мне непонятна. Как процесс-то выглядеть должен? В игре перемещать НПС на корабль, и оно само в таблицу пропишется? Вставать на корабль и с .gps получать координаты, которые потом в таблицу вбивать? Фразы "Относительное смещение игрока относительно транспорта есть часть мувмент пакета" и "координаты эти существуют. их присылает клиент" вызывают у меня суеверный ужас. Ессно теперь даже не компилится, куча ошибок "undeclared identifier", "is not a member of"... Как-то буду разбираться. Как я понимаю, мне теперь просто вместо m_transportGUID и m_transportPosition[i], надо писать MovementInfo(t_guid) и ... что? MovementInfo(t_pos.[i])... как?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
Пользователь сказал cпасибо: | LordJZ (18.05.2010) |
18.05.2010, 07:17 | #31 |
MaNGOS Dev
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
|
This.
Код:
+ m_transportGUID = owner->GetTransport()->GetGUID(); + m_transportPosition[0] = owner->GetTransOffsetX(); + m_transportPosition[1] = owner->GetTransOffsetY(); + m_transportPosition[2] = owner->GetTransOffsetZ(); + m_transportPosition[3] = owner->GetTransOffsetO(); Код:
movementInfo.SetTransportData(owner->GetTransport()->GetGUID(), owner->GetTransOffsetX(), owner->GetTransOffsetX(), owner->GetTransOffsetX(), owner->GetTransOffsetO(), 0, -1) Последний раз редактировалось TOM_RUS; 18.05.2010 в 07:23. |
18.05.2010, 07:30 | #32 |
Гость
Сообщений: n/a
|
Не стал пока удалять m_transportPosition[0] и т.д. решил просто посмотреть, кому интересно во вложении + sql с парой строчек! корабль стоит искать в Грозовой Гряде Ордынский!
Вообще если честно - это беспонтовый мод! От него толку 0! По сути да визуально мы видим npc (мобы, пушки и т.д.) как они "плывут" на коробле, но например у нпс не возможно взять кв, даже убить его через .die *грубо* не выходит! Последний раз редактировалось Rage Hunter; 18.05.2010 в 07:41. |
18.05.2010, 08:54 | #33 | |
WowCore Dev
Регистрация: 11.03.2010
Сообщений: 112
Сказал(а) спасибо: 10
Поблагодарили 51 раз(а) в 25 сообщениях
|
Цитата:
|
|
21.05.2010, 20:36 | #34 |
Новичок
Регистрация: 18.04.2010
Сообщений: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
|
Тестировал я этот патч. Мобы действительно зависают. Но мной был замечен еще один странный баг. Бывает, что NPC еще агрятся на корабле т.е двигатся не могут, но игрок входит в бой. Но это бывает не всегда, а только если подойти к NPC с определенного ракурса. Остальное, так "полная визуализация".
Ну а если вот определенный транспорт асоциируется со своей картой, которая по видимому движется вместе с ним... или нет... Хорошо, допустим реализация такая есть... Но как узнать координаты местонахождения моба на корабле с той карты, к которой клиенту нет доступа? (ошибка 132). Что-то там так все накручено... Наверное это просто маскировка, чтобы ввести нас в заблужнение. Дело в том, что при входе на корабль на официальном сервере мы просто перемещаемся игроком в другую карту (реакция клиента при перемещении из зоны в зону меняется музыка и др), как портал в инст. Последний раз редактировалось kampeador; 21.05.2010 в 20:40. |
15.06.2010, 01:39 | #35 | |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Цитата:
Код:
TransOffsetX TransOffsetY TransOffsetZ TransOffsetO
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
15.06.2010, 02:27 | #36 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
По поводу торговли, кв и прочего - надо смотреть обработчик доступности НПС, т.к. НПС для сервера, как я понял, вообще нет, то нужно писать отдельный обработчик, который будет сверяться с доступностью НПС на корабле в том случае, если сам игрок тоже находится на корабле... Также как и с др координатами, но только брать уже координаты на корабле из таблицы. Ну, логику, думаю, вы поняли... |
|
15.06.2010, 04:08 | #37 | |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Цитата:
А у меня сейчас этот кусок перемещен? О_о (да-да-да, я сто раз повторял, что я ТУПОЙ!!!) Гляну - отпишусьбл.... ничего не понимаю, может и правда тупой? В том смысле, что может у меня все это уже сделано, а я просто свой же моск люблю напрасно. add1: Ага, в патче от Rage Hunter вроде бы есть строка Код:
unit->m_movementInfo.SetTransportData(unit->m_transportGUID, unit->m_transportPosition[0], unit->m_transportPosition[1], unit->m_transportPosition[2], unit->m_transportPosition[3], 0, 0); У меня она тоже есть - так что я сейчас попробую ставить неписей на корабль, и смотреть что из этого выйдет. Точнее - войдет в таблицу. add2: Попробовал - не прокатило. Что бы еще попробовать?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
15.06.2010, 10:24 | #38 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
В куске: Код:
@@ -726,6 +727,13 @@ bool ChatHandler::HandleGameObjectAddCommand(const char* args) float o = float(chr->GetOrientation()); Map *map = chr->GetMap(); + if(chr->GetTransport()) + { + chr->GetTransport()->AddNpcPassager(id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO()); + WorldDatabase.PQuery("INSERT INTO creature_transport (entry, npc_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (%u, %u, %f, %f, %f, %f)", chr->GetTransport()->GetEntry(), id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO()); + return true; + } + Сам пока что-то не желаю заморачиваться ради неизвестно, пашушего или нет патча Хотя... Может стоит, ради спортивного интереса |
|
15.06.2010, 14:14 | #39 | |||
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
да понятно бы... если бы... не имею технической возможности. но я посоветую.
Цитата:
Цитата:
Цитата:
add1: А так, не к месту... Там чуть ниже, под pCreature->Relocate(x,y,z,o); есть кусок Код:
if(!pCreature->IsPositionValid()) { sLog.outError("Creature (guidlow %d, entry %d) not created. Suggested coordinates isn't valid (X: %f Y: %f)",pCreature->GetGUIDLow(),pCreature->GetEntry(),pCreature->GetPositionX(),pCreature->GetPositionY()); delete pCreature; return false; } Короче, мне сильно не нравится снова и снова чувствовать себя идиотом. Я сейчас в аттач присобачу свою bool ChatHandler::HandleNpcAddCommand(const char* args) Если у кого-то хватит совести помочь и наставить на путь истинный (то бишь сделать все за меня и ткнуть носом "ну тупо-о-ой!") - я буду счастлив. А если еще и не просто напишет, но и объяснит - что там почему и зачем - благодарность моя не будет знать границ (в пределах разумного!)
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|||
15.06.2010, 14:31 | #40 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
А такая ошибка, которую ты привёл в коде ниже у тебя не выскакивает?
Код:
Creature (guidlow %d, entry %d) not created. бла-бла-бла... P.S: sLog.outErrorDb - выводит данные об в лог DBError. Пример: Код:
sLog.outErrorDb("CreatureEventAI: Event %u Action %u uses non-existent SpellID %u.", i, j+1, action.cast.spellId); Код:
WorldDatabase.PExecuteLog("DELETE FROM `creature_ai_scripts` WHERE `id`=%u", i); Код:
WorldDatabase.PExecuteLog("INSERT INTO creature_transport (entry, npc_entry, TransOffsetX, TransOffsetY, TransOffsetZ, TransOffsetO) values (%u, %u, %f, %f, %f, %f)", chr->GetTransport()->GetEntry(), id, chr->GetTransOffsetX(), chr->GetTransOffsetY(), chr->GetTransOffsetZ(), chr->GetTransOffsetO()); |
Пользователь сказал cпасибо: | tempura (15.06.2010) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10193] Use for Transport::Update arg uint32 type as for other world objects | newsbot | CMaNGOS Commits | 0 | 15.07.2010 04:20 |
[9830] Implement taxi/transport event scripts support. | newsbot | CMaNGOS Commits | 0 | 03.05.2010 18:40 |
[9808] Simplify TaxiPathNodes data use, specially for transport case. | newsbot | CMaNGOS Commits | 0 | 29.04.2010 18:51 |
[9806] Fixed player loading to transport. | newsbot | CMaNGOS Commits | 0 | 29.04.2010 16:30 |
Transport event | kampeador | Запросы | 9 | 27.04.2010 09:25 |