Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Модификации ядра > Моды

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

Моды Неофициальная модификация ядра MaNGOS, собственные наработки, расширение функционала

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.03.2010, 14:19   #1
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию [mod] Vehicles

патч реализует работу транспортных средств в игре. на английском vehicles

автор: Много авторов, первыми были NetSky, Rastikzzz, потом подхватил Wojta
Форк на гитхабе: http://github.com/Tasssadar/Valhalla.../tree/vehicle/ // иногда автор забрасывает дело
Оригинальная тема на getmangos.com: http://getmangos.com/community/showthread.php?11759-[dev]Vehicles

как получить?
Код:
git checkout -b vehicle
git pull git://github.com/Tasssadar/Valhalla-Project.git vehicle
git diff -p master vehicle > vehicle.patch
либо слив аттач и
Код:
patch -p1 -l < vehicle_9542.patch
Вариант основанный на порте с трините от zergtmn:
Цитата:
Сообщение от zergtmn Посмотреть сообщение
Вот патч, который реализует многоместные маунты: http://paste2.org/p/880155
Бранч: http://github.com/zergtmn/mangos/com...ltiseat_mounts
В базу:
Код:
ALTER TABLE creature_template
  ADD COLUMN `VehicleId` mediumint(8) unsigned NOT NULL default '0' AFTER `PetSpellDataId`;
VehicleId из снифов: http://paste2.org/p/880137, тут не только маунты.
Теоретически на них можно сажать кричеров.
Вложения
Тип файла: patch vehicle_9542.patch (186.0 Кб, 249 просмотров)

Последний раз редактировалось Gen1us2k; 07.03.2010 в 14:22.
Gen1us2k вне форума  
11 пользователя(ей) сказали cпасибо:
Hantet (07.05.2010), Кот ДаWINчи (11.03.2010)
Старый 07.04.2010, 10:02   #81
Anti
Пользователь
 
Аватар для Anti
 
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
Anti На верном пути
Отправить сообщение для Anti с помощью ICQ Отправить сообщение для Anti с помощью Skype™
По умолчанию

"Классный" патч - "хорошее" решение.

Что бы векайклы были в ядре, нужно:
1. инфу брать из дбц.
2. переделать спавнсистему, чтобы они не _спавнились_, как мобы, а как вехайклы.
3. поправить семейства спелов, юзающихся вехайклами.
4. поправить посадочные места и их опкоды.

Ну что, кто возьмётся хоть за что-то?
Anti вне форума  
Старый 07.04.2010, 18:45   #82
tester20
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Anti Посмотреть сообщение
"Классный" патч - "хорошее" решение.

Что бы векайклы были в ядре, нужно:
1. инфу брать из дбц.
2. переделать спавнсистему, чтобы они не _спавнились_, как мобы, а как вехайклы.
3. поправить семейства спелов, юзающихся вехайклами.
4. поправить посадочные места и их опкоды.

Ну что, кто возьмётся хоть за что-то?
у меня назрел вопрос, как vehicle_id связан, в dbc, с конкретным creature'м? или это то, что должно храниться в базе?

Последний раз редактировалось tester20; 07.04.2010 в 18:51.
 
Старый 07.04.2010, 19:09   #83
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Сейчас это связано в creature_addon, creature_template_addon, а в идеале спавн вехикла и сопоставление ИД не должны зависеть от базы, т.е спавним вехикл, без доп.напрягов садимся и едем

Пс : на той неделе попробую занятся 1,2,3 пунктами, 4 - нид снифы
MaS0n вне форума  
Пользователь сказал cпасибо:
Lightunit (08.04.2010)
Старый 07.04.2010, 23:09   #84
Renegat344
Гость
 
Сообщений: n/a
По умолчанию

3 пункт пытался реализовать пользователь с getmangos.com в одноименной теме, там патчик лежит
 
Старый 08.04.2010, 02:03   #85
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Renegat344 Посмотреть сообщение
3 пункт пытался реализовать пользователь с getmangos.com в одноименной теме, там патчик лежит
Ссылочку киньте! Чет я не нашел! Охото глянуть!
 
Старый 08.04.2010, 02:27   #86
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от MaS0n Посмотреть сообщение
Сейчас это связано в creature_addon, creature_template_addon, а в идеале спавн вехикла и сопоставление ИД не должны зависеть от базы, т.е спавним вехикл, без доп.напрягов садимся и едем
Нету этого в dbc, иначе бы номер вичла не стал бы посылаться в апдейт-пакетах имхо. Номер вичла надо брать со снифов, а значит текущий вариант правильный.
 
Старый 08.04.2010, 07:41   #87
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

Я думаю не правильно что таблица для сидений делается отдельно, ее через дбц вроде можно же?
timmit вне форума  
Старый 08.04.2010, 12:48   #88
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Вообще в базу cтоит заносить только vehicleId и спелы(может и спклы не надо, пока в ДБЦ не полностью разобрался, но скорее всего там нет этого), а все остально полностью можно брыть с DBC! При этом на тринити интересно сделано, там vehicleId в creature_template и спелы тоже там! Следовательно ни каких доп таблиц и т.д.
 
Старый 09.04.2010, 04:56   #89
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Rage Hunter Посмотреть сообщение
Вообще в базу cтоит заносить только vehicleId и спелы(может и спклы не надо, пока в ДБЦ не полностью разобрался, но скорее всего там нет этого), а все остально полностью можно брыть с DBC! При этом на тринити интересно сделано, там vehicleId в creature_template и спелы тоже там! Следовательно ни каких доп таблиц и т.д.
Для вичлов надо минимум 10 спеллов, а в creature_template у нас всего 4 поля, поэтому этот вариант не годится. И не надо путать спеллы, кастуемые мобом (creature_template) и спеллы, кастуемые игроком, если он садится на этого моба как на вичлу (vehicle_data). Ведь мы же должны предусмотреть, чтобы один и тот же мог мог быть как мобом, так и вичлом!
 
Старый 09.04.2010, 07:39   #90
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

Дак spellclick это и регламентирует
timmit вне форума  
Старый 09.04.2010, 08:16   #91
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

spellclick регламентирует только то, что какой-либо вичл будет активен при том или ином взятом квесте ну и собственно, какой спелл будет кастоваться на игрока при клике на вичл. Эти спеллы все называются что-то вроде как "vehicle control rider" - типа спелл контроля ездой на вичле.
 
Старый 09.04.2010, 09:53   #92
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от GriffonHeart Посмотреть сообщение
Для вичлов надо минимум 10 спеллов, а в creature_template у нас всего 4 поля, поэтому этот вариант не годится. И не надо путать спеллы, кастуемые мобом (creature_template) и спеллы, кастуемые игроком, если он садится на этого моба как на вичлу (vehicle_data). Ведь мы же должны предусмотреть, чтобы один и тот же мог мог быть как мобом, так и вичлом!
Одно понять не могу, vehicle должны сразу в мир добавлятся как vehicle, а не как мобы, тогда Где смысл в ваших словах 'Ведь мы же должны предусмотреть, чтобы один и тот же мог мог быть как мобом, так и вичлом!'
У Вас есть пример? на пример всегда сколько я не сталкивался с vehicle они служат только как vehicle и не разу не видел что бы они служили и как мобы! (пушки, танки, катапульты, верховой транспорт, драконы, у всего цель одна, сел(или другой моб сел) и ......)
На счет спелов 10 штук? а у кокого vehicle их 10? У боссов которые катаются на vehicle, типа Мимирона? Ни кто не мешает их прописать боссу, все равно скриптоваться босс будет, а не vehicle! Кто му же vehicle тоже скриптуются на ура!
Цитата:
Дак spellclick это и регламентирует
Не думаю, что надо что-то придумывать! Достаточно добавить поле vehicleId в creature_template, ведь vehicle с vehicleId = 0 быть не может!

Последний раз редактировалось Rage Hunter; 09.04.2010 в 09:57.
 
Старый 09.04.2010, 10:10   #93
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

Я тоже пока не видел вихла как моба они всегда вихлы. (у них всегда ид другой нежели у мобов простых)
Добавление полей в creature_template удобнее в плане, что в базе уже почти для всех вихлов спелы раставлены , у нас по крайней мере (те спелы что занимают у вихла 1-4 позиции, остальные записаны для будущего на листочек) осталось доделать vehicleid поле куда нить ( хоть в тот же addon ) и будет работать

+ мы не создаем новую таблицу + в кешах всеравно нет спелов, и это ничего не поменяет для мобов в vehicleid=0, как были мобами так и будут

Последний раз редактировалось timmit; 09.04.2010 в 10:17.
timmit вне форума  
Старый 09.04.2010, 10:19   #94
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Кстати, если вичлы добавлять в мир сразу как вичлы - надо делать собственную систему апдейта и респавна, т.к я неоднократно ставил вичл в мире и после перезагрузки сервера он исчезал с концами)
MaS0n вне форума  
Старый 09.04.2010, 10:20   #95
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

В creature_template поля (не помню точно как называются) spell1, spell2, spell3, spell4 используются для CreatureIA (даже и не знаю как это называется, встроенный скрипт), но ведь можно добавить spell5....10000000 и просто сделать, что бы при vehicleid != 0 эти поля используются уже для vehicle, а не для CreatureIA.
Цитата:
т.к я неоднократно ставил вичл в мире и после перезагрузки сервера он исчезал с концами)
Это с этим хаком в данной теме?

Последний раз редактировалось Rage Hunter; 09.04.2010 в 10:23.
 
Старый 09.04.2010, 10:39   #96
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

угу, с этим хаком, сейчас спавн вичла работает как обычный спавн мобов без добавления в БД, а соотвественно после рестарта сервера это все удаляется

Если рассмотреть добавление(именно добавление, а не спавн) моба и спавн моба, то отличаются они такими строчками
Код:
pCreature->SaveToDB(...);
pCreature->LoadFromDB(...);
(брал на примере команды .npc add)
MaS0n вне форума  
Старый 09.04.2010, 10:57   #97
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

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

Последний раз редактировалось timmit; 09.04.2010 в 11:01.
timmit вне форума  
Пользователь сказал cпасибо:
MaS0n (09.04.2010)
Старый 09.04.2010, 18:05   #98
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Rage Hunter Посмотреть сообщение
На счет спелов 10 штук? а у кокого vehicle их 10?
Понятия не имею, у кого 10, но в SMSG_PET_SPELLS присылается именно 10 значений. Если спелла нет, то вместо него шлётся ноль. Это должно быть предусмотрено базой данных
 
Старый 09.04.2010, 18:09   #99
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Rage Hunter Посмотреть сообщение
Достаточно добавить поле vehicleId в creature_template, ведь vehicle с vehicleId = 0 быть не может!
Вариант с creature_addon и creature_template_addon, реализованный в этом патче, выглядит более универсально, чем вариант с creature_template
 
Старый 10.04.2010, 09:46   #100
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от GriffonHeart Посмотреть сообщение
Вариант с creature_addon и creature_template_addon, реализованный в этом патче, выглядит более универсально, чем вариант с creature_template
Ну, я думаю, что я могу с вами в этом согласится, но все равно можно придумать куда более удобный и лучший вариант!

Все равно меня пока беспокоит больше всего это флаги в DBC, а все остальное это потом!
 
Старый 13.04.2010, 10:52   #101
AngryKid
Гость
 
Сообщений: n/a
По умолчанию Вехайклы

Вроди работают нормально игрок залезает в танк(Ульдуар) но если к нему садиться второй игрок то у него(второго) нет меню машины и даже кнопки "вылезти" нету. Кто нибудь знает как решить эту проблему?

Еще вопрос: Вехикл является фактически петом который находится под контролем игрока. У мотоцикла в Ульдуаре есть способность звуковая волна(помойму так называется) но она требует наличия цели. Хотя игрок и находится на мотоцикле та цель которую он выбирает не является целью мотоцикла и по этому не срабатывает способность. Конечно можно в коде обработки заклинаний пета при условии если этот пет под контролем игрока устанавить цель которую выбрал игрок, но может быть есть какое то другое решение?


Спасибо
 
Старый 13.04.2010, 11:01   #102
Anti
Пользователь
 
Аватар для Anti
 
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
Anti На верном пути
Отправить сообщение для Anti с помощью ICQ Отправить сообщение для Anti с помощью Skype™
По умолчанию

Цитата:
Сообщение от AngryKid Посмотреть сообщение
Вроди работают нормально игрок залезает в танк(Ульдуар) но если к нему садиться второй игрок то у него(второго) нет меню машины и даже кнопки "вылезти" нету. Кто нибудь знает как решить эту проблему?

Еще вопрос: Вехикл является фактически петом который находится под контролем игрока. У мотоцикла в Ульдуаре есть способность звуковая волна(помойму так называется) но она требует наличия цели. Хотя игрок и находится на мотоцикле та цель которую он выбирает не является целью мотоцикла и по этому не срабатывает способность. Конечно можно в коде обработки заклинаний пета при условии если этот пет под контролем игрока устанавить цель которую выбрал игрок, но может быть есть какое то другое решение?


Спасибо
Баг с "навешиваемыми" примочками (пушки и тп) известен. Фикс? Тут весь патч нужно переписывать, а не фиксить, что есть.
У меня была идея, что коллекции посадочных мест разняться для этих вехайклов, те у танка своя, а у пушки своя и как только садимся в пушку получается так, что мы выходим из главенствующей коллекции в дочернюю и не можем вернуться назад.

Нужно фиксить спеллы, а не что-то ещё придумывать.
Anti вне форума  
Старый 13.04.2010, 16:44   #103
tester20
Гость
 
Сообщений: n/a
По умолчанию

у меня вопрос по поводу http://ru.wowhead.com/npc=28319#abilities
на вовхеде у http://ru.wowhead.com/npc=28319 прописан
спелл http://ru.wowhead.com/spell=57609
в базе же(ytdb r542) это не прописано
это новшество в 3.3.3?или в базе не хватает информации?
 
Старый 13.04.2010, 22:42   #104
Anti
Пользователь
 
Аватар для Anti
 
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
Anti На верном пути
Отправить сообщение для Anti с помощью ICQ Отправить сообщение для Anti с помощью Skype™
По умолчанию

Цитата:
Сообщение от tester20 Посмотреть сообщение
у меня вопрос по поводу http://ru.wowhead.com/npc=28319#abilities
на вовхеде у http://ru.wowhead.com/npc=28319 прописан
спелл http://ru.wowhead.com/spell=57609
в базе же(ytdb r542) это не прописано
это новшество в 3.3.3?или в базе не хватает информации?
Транспорт официально не поддерживается, по сему нету смысла говорить, что в ютдб чего-то нету касающегося транспорта.
Anti вне форума  
Старый 14.04.2010, 12:04   #105
tester20
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Anti Посмотреть сообщение
Транспорт официально не поддерживается, по сему нету смысла говорить, что в ютдб чего-то нету касающегося транспорта.
речь идет не о том, что в ytdb нехватает чего то
а о том что спеллы векла храняться в creature_template(правда частично)
 
Старый 14.04.2010, 13:28   #106
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

А что думать, для удобства мы их туда поместили от 1-4, все остальное на бумажке. Проблемы не вижу никакой вообще, нам так удобнее
Я все же надеюсь, что вехиклы будет патч через креатуре_темплате
timmit вне форума  
Старый 14.04.2010, 13:55   #107
andreatage
Гость
 
Сообщений: n/a
По умолчанию

После наложения патча на вехиклы вылезла ошибка при компиляции
Цитата:
../../../src/game/SpellHandler.cpp: In member function ‘void WorldSession::HandleSpellClick(WorldPacket&)’:
../../../src/game/SpellHandler.cpp:591: ошибка: нет декларации ‘IN_MILISECONDS’ в этой области видимости
Кто может помочь?

Цитата:
Сообщение от andreatage Посмотреть сообщение
После наложения патча на вехиклы вылезла ошибка при компиляции

Кто может помочь?
Ошибку исправил, ответ нашел тут - http://www.ytdb.ru/showthread.php?t=4847

Последний раз редактировалось NeatElves; 14.04.2010 в 15:37.
 
Старый 16.04.2010, 04:55   #108
MaxXx2021
Ученый
 
Аватар для MaxXx2021
 
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
MaxXx2021 Скоро придёт к известности
По умолчанию

Кто может подсказать как работает SeatData? там два значения (Entry, Flag)! И никакое никуда не указывается. Как вехикл ссылается на эту таблицу? И какие значения отвечают за координаты посадки? Прример Я сажу Крика На Ика и получается что крик сидит под ногами. С этими же данными моб спокойно садится на дракона , и сидит где нужно.
MaxXx2021 вне форума  
Старый 16.04.2010, 07:34   #109
timmit
YTDB Dev
 
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
timmit На верном пути
По умолчанию

Значения в дбц VehicleSeat.dbc - что куда и зачем, в Vehicle.dbc указываются значения из VehicleSeat какие места.
Надо заместо таблицы vehicle_seat_data делать через дбц
timmit вне форума  
Старый 16.04.2010, 08:28   #110
Anti
Пользователь
 
Аватар для Anti
 
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
Anti На верном пути
Отправить сообщение для Anti с помощью ICQ Отправить сообщение для Anti с помощью Skype™
По умолчанию

Цитата:
Сообщение от timmit Посмотреть сообщение
Значения в дбц VehicleSeat.dbc - что куда и зачем, в Vehicle.dbc указываются значения из VehicleSeat какие места.
Надо заместо таблицы vehicle_seat_data делать через дбц
Вопрос чисто теоретический. Для подключения дбц необходимо сначала разобраться в том, что значит каждая колонка, затем создать структуру, которая будет повторять зачение и тип колонок дбц. После этого определяем подгрузку из дбц по типу DBCVehicleSeat[] = {ixiiiix} (например). За тем идём в обработчики посадки на вехайкл и правим там все связанное с использованием этой ДБЦ...
Если это всё не так уж и сложно, то вот обработка пакетов от клиента приводит меня в тупик. Снифать не обучен, так что нужен знающий человек для таких дел. Хотя я думаю, что у некоторых людей уже давно это всё отснифано
Anti вне форума  
Старый 16.04.2010, 10:14   #111
tester20
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Anti Посмотреть сообщение
Вопрос чисто теоретический. Для подключения дбц необходимо сначала разобраться в том, что значит каждая колонка, затем создать структуру, которая будет повторять зачение и тип колонок дбц. После этого определяем подгрузку из дбц по типу DBCVehicleSeat[] = {ixiiiix} (например). За тем идём в обработчики посадки на вехайкл и правим там все связанное с использованием этой ДБЦ...
Если это всё не так уж и сложно, то вот обработка пакетов от клиента приводит меня в тупик. Снифать не обучен, так что нужен знающий человек для таких дел. Хотя я думаю, что у некоторых людей уже давно это всё отснифано
помниться ставил стааааарый патч виклов(с3.1.3) на 332 и с посадкой всё было в норме и ошибки не лезли при смене сиденья
а структуры для VehicleFlag и VehicleSeatFlag уже давно созданы ток "известных" флагов мало пока

Последний раз редактировалось tester20; 16.04.2010 в 10:17.
 
Старый 16.04.2010, 10:41   #112
Anti
Пользователь
 
Аватар для Anti
 
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
Anti На верном пути
Отправить сообщение для Anti с помощью ICQ Отправить сообщение для Anti с помощью Skype™
По умолчанию

Цитата:
Сообщение от tester20 Посмотреть сообщение
помниться ставил стааааарый патч виклов(с3.1.3) на 332 и с посадкой всё было в норме и ошибки не лезли при смене сиденья
а структуры для VehicleFlag и VehicleSeatFlag уже давно созданы ток "известных" флагов мало пока
Нынче изменился опкод смены места(Change_seat_on_controled_vehicle), он был расширен и не корректно обрабатывается данным патчем.

VehicleFlag и VehicleSeatFlag - как мне помниться являются enumами, а я имел ввиду сктруктуры, которые будут содержать в себе записи из ДБЦ.
Anti вне форума  
Старый 17.04.2010, 06:58   #113
MaxXx2021
Ученый
 
Аватар для MaxXx2021
 
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
MaxXx2021 Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от timmit Посмотреть сообщение
Значения в дбц VehicleSeat.dbc - что куда и зачем, в Vehicle.dbc указываются значения из VehicleSeat какие места.
Надо заместо таблицы vehicle_seat_data делать через дбц
Копал но нет ид Значения vehicleSeat.dbc в vehicle.dbc поэтоу меня это поставило в тупик!
MaxXx2021 вне форума  
Старый 17.04.2010, 08:51   #114
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Для примера возмем из Vehicle.dbc 1 строку
Код:
1,532087,1.04700005054,0.523599982262,-0.698099970818,1.39600002766,121,201,0,0,0,0,0,0,0.0,1.0,1.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,"","","","",0.0,0,0.0,0,0,0,0,
здесь
VehicleId = 1
Seat = 121 и 201
в vehicleSeat.dbc они
Код:
121,0x2010417,0,0.0,0.0,-0.379999995232,0.0,7.0,19.2900009155,0.0,1.0,0.0,4.0,37,38,-1,102,128,123,0.0,7.0,19.2900009155,0.0,1.0,0.0,4.0,37,38,39,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1,-1,0.0,0.0,0x1,0,0,0,0x0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
201,0x2010011,2,0.0,0.300000011921,0.0,0.0,7.0,19.2900009155,0.0,1.0,0.0,4.0,37,38,-1,102,128,123,0.0,7.0,19.2900009155,0.0,1.0,0.0,4.0,37,38,39,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1,-1,0.0,0.0,0x1,0,0,0,0x0,0.0,0.0,,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
Куда больше интересуют значения из Vehicle.dbc по примеру выше 532087 - что этот флаг означает?
и из vehicleSeat.dbc
0x2010417 (33621015) - что этот флаг означает?
0x2010011 (33619985) - что этот флаг означает?

Последний раз редактировалось Rage Hunter; 17.04.2010 в 08:55.
 
Старый 17.04.2010, 10:13   #115
tester20
Гость
 
Сообщений: n/a
По умолчанию

ну вот как то

о значении флагов можно только догадываться
сейчас я занят отделением хаковых решений от не хаковых и флагами некада заниматься

Последний раз редактировалось tester20; 17.04.2010 в 10:29.
 
Старый 17.04.2010, 12:24   #116
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Anti Посмотреть сообщение
Вопрос чисто теоретический. Для подключения дбц необходимо сначала разобраться в том, что значит каждая колонка)
Код:
struct VehicleEntry
{
    uint32  m_ID;                                           // 0
    uint32  m_flags;                                        // 1
    float   m_turnSpeed;                                    // 2
    float   m_pitchSpeed;                                   // 3
    float   m_pitchMin;                                     // 4
    float   m_pitchMax;                                     // 5
    uint32  m_seatID[8];                                    // 6-13
    float   m_mouseLookOffsetPitch;                         // 14
    float   m_cameraFadeDistScalarMin;                      // 15
    float   m_cameraFadeDistScalarMax;                      // 16
    float   m_cameraPitchOffset;                            // 17
    //int     m_powerType[3];                               //       removed in 3.1
    //int     m_powerToken[3];                              //       removed in 3.1
    float   m_facingLimitRight;                             // 18
    float   m_facingLimitLeft;                              // 19
    float   m_msslTrgtTurnLingering;                        // 20
    float   m_msslTrgtPitchLingering;                       // 21
    float   m_msslTrgtMouseLingering;                       // 22
    float   m_msslTrgtEndOpacity;                           // 23
    float   m_msslTrgtArcSpeed;                             // 24
    float   m_msslTrgtArcRepeat;                            // 25
    float   m_msslTrgtArcWidth;                             // 26
    float   m_msslTrgtImpactRadius[2];                      // 27-28
    char*   m_msslTrgtArcTexture;                           // 29
    char*   m_msslTrgtImpactTexture;                        // 30
    char*   m_msslTrgtImpactModel[2];                       // 31-32
    float   m_cameraYawOffset;                              // 33
    uint32  m_uiLocomotionType;                             // 34
    float   m_msslTrgtImpactTexRadius;                      // 35
    uint32  m_uiSeatIndicatorType;                          // 36
    uint32  m_powerType;                                    // 37, new in 3.1
                                                            // 38, new in 3.1
                                                            // 39, new in 3.1
};


struct VehicleSeatEntry
{
    uint32  m_ID;                                           // 0
    uint32  m_flags;                                        // 1
    int32   m_attachmentID;                                 // 2
    float   m_attachmentOffsetX;                            // 3
    float   m_attachmentOffsetY;                            // 4
    float   m_attachmentOffsetZ;                            // 5
    float   m_enterPreDelay;                                // 6
    float   m_enterSpeed;                                   // 7
    float   m_enterGravity;                                 // 8
    float   m_enterMinDuration;                             // 9
    float   m_enterMaxDuration;                             // 10
    float   m_enterMinArcHeight;                            // 11
    float   m_enterMaxArcHeight;                            // 12
    int32   m_enterAnimStart;                               // 13
    int32   m_enterAnimLoop;                                // 14
    int32   m_rideAnimStart;                                // 15
    int32   m_rideAnimLoop;                                 // 16
    int32   m_rideUpperAnimStart;                           // 17
    int32   m_rideUpperAnimLoop;                            // 18
    float   m_exitPreDelay;                                 // 19
    float   m_exitSpeed;                                    // 20
    float   m_exitGravity;                                  // 21
    float   m_exitMinDuration;                              // 22
    float   m_exitMaxDuration;                              // 23
    float   m_exitMinArcHeight;                             // 24
    float   m_exitMaxArcHeight;                             // 25
    int32   m_exitAnimStart;                                // 26
    int32   m_exitAnimLoop;                                 // 27
    int32   m_exitAnimEnd;                                  // 28
    float   m_passengerYaw;                                 // 29
    float   m_passengerPitch;                               // 30
    float   m_passengerRoll;                                // 31
    int32   m_passengerAttachmentID;                        // 32
    int32   m_vehicleEnterAnim;                             // 33
    int32   m_vehicleExitAnim;                              // 34
    int32   m_vehicleRideAnimLoop;                          // 35
    int32   m_vehicleEnterAnimBone;                         // 36
    int32   m_vehicleExitAnimBone;                          // 37
    int32   m_vehicleRideAnimLoopBone;                      // 38
    float   m_vehicleEnterAnimDelay;                        // 39
    float   m_vehicleExitAnimDelay;                         // 40
    uint32  m_vehicleAbilityDisplay;                        // 41
    uint32  m_enterUISoundID;                               // 42
    uint32  m_exitUISoundID;                                // 43
    int32   m_uiSkin;                                       // 44
    uint32  m_flagsB;                                       // 45
                                                            // 46-57 added in 3.1, floats mostly


    bool IsUsable() const { return m_flags & 0x2000000; }
};
взято из тринити
и я думаю ещё много чего полезного для реализации вехиклов можно оттуда взять. Естественно указав авторов...

не думаю что будет сложно заставить сервер читать эти 2 дбц и брать оттуда данные, проблема как уже было сказано выше - в флагах.

Последний раз редактировалось Insider42; 17.04.2010 в 12:29.
Insider42 вне форума  
Старый 28.04.2010, 09:20   #117
kampeador
Новичок
 
Регистрация: 18.04.2010
Сообщений: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
kampeador На верном пути
По умолчанию

Цитата:
Сообщение от GriffonHeart Посмотреть сообщение
Для вичлов надо минимум 10 спеллов, а в creature_template у нас всего 4 поля, поэтому этот вариант не годится. И не надо путать спеллы, кастуемые мобом (creature_template) и спеллы, кастуемые игроком, если он садится на этого моба как на вичлу (vehicle_data). Ведь мы же должны предусмотреть, чтобы один и тот же мог мог быть как мобом, так и вичлом!
Небольшая поправочка, в TrinityCore это учли, там не 4, а 8 колонок.


Есть еще одна реализация Vehicle, которая довольно не плохо работает.
Сам патч сделан для AspireHearthstone очень и очень давно, но пару месяцев назад его неплохо модифицировали.
Добавлена одна таблица.
Код:
  `vehiclecreatureid` int(30) NOT NULL default '1',
  `increasehealthbydriver` int(4) NOT NULL default '0',
  `healthforitemlevel` int(30) NOT NULL default '0',
  `spell1` int(30) NOT NULL default '0',
  `spell2` int(30) NOT NULL default '0',
  `spell3` int(30) NOT NULL default '0',
  `spell4` int(30) NOT NULL default '0',
  `spell5` int(30) NOT NULL default '0',
  `spell6` int(30) NOT NULL default '0',
  `accessoryseat1` int(30) NOT NULL default '0',
  `accessoryseat2` int(30) NOT NULL default '0',
  `accessoryseat3` int(30) NOT NULL default '0',
  `accessoryseat4` int(30) NOT NULL default '0',
  `accessoryseat5` int(30) NOT NULL default '0',
  `accessoryseat6` int(30) NOT NULL default '0',
  `accessoryseat7` int(30) NOT NULL default '0',
  `accessoryseat8` int(30) NOT NULL default '0',
Если кому-нибудь нужна такая реализация могу выложить. Только под Мангос надо будет переписать. Если кто не знает, в Hearthstone нету creature_template, там две таблицы creature_proto и creature_names.
kampeador вне форума  
Старый 04.05.2010, 19:40   #118
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

люди не кто не знает случайно кто занимаеться вехиклами и обновляет регулярно свой репазиторий ????
lovepsone вне форума  
Старый 04.05.2010, 20:34   #119
wk23
Пользователь
 
Регистрация: 11.03.2010
Адрес: Спб
Сообщений: 35
Сказал(а) спасибо: 5
Поблагодарили 10 раз(а) в 8 сообщениях
wk23 На верном пути
По умолчанию

перечитайте первый пост
wk23 вне форума  
Старый 06.05.2010, 15:04   #120
anemak
Гость
 
Сообщений: n/a
По умолчанию

Может быть стоит попробовать взять с тринити патч? Но не полностью, а так, частями.

Хотя это будет кривая реализация, но всё же лучше чем подгонять патч с первого поста.

К вечеру попробую сделать хоть что-нибудь.


Хотя было бы неплохо, если бы кто-то поделился своими мыслями на счёт этого.
 
Закрытая тема

Метки
vehicle

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10901] Allow vehicles to have gossip menu newsbot CMaNGOS Commits 0 21.12.2010 12:50
[10766] Allow AURA_FORCE_MOVE_FORWARD to work on creatures and vehicles. For example, it fixes spell newsbot CMaNGOS Commits 0 21.11.2010 10:30


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


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