|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Моды Неофициальная модификация ядра MaNGOS, собственные наработки, расширение функционала |
|
Опции темы | Поиск в этой теме | Опции просмотра |
07.03.2010, 14:19 | #1 | |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
[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 Цитата:
Последний раз редактировалось Gen1us2k; 07.03.2010 в 14:22. |
|
11 пользователя(ей) сказали cпасибо: | Hantet (07.05.2010), Кот ДаWINчи (11.03.2010) |
07.04.2010, 10:02 | #81 |
Пользователь
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
|
"Классный" патч - "хорошее" решение.
Что бы векайклы были в ядре, нужно: 1. инфу брать из дбц. 2. переделать спавнсистему, чтобы они не _спавнились_, как мобы, а как вехайклы. 3. поправить семейства спелов, юзающихся вехайклами. 4. поправить посадочные места и их опкоды. Ну что, кто возьмётся хоть за что-то? |
07.04.2010, 18:45 | #82 | |
Гость
Сообщений: n/a
|
Цитата:
Последний раз редактировалось tester20; 07.04.2010 в 18:51. |
|
07.04.2010, 19:09 | #83 |
Модератор
|
Сейчас это связано в creature_addon, creature_template_addon, а в идеале спавн вехикла и сопоставление ИД не должны зависеть от базы, т.е спавним вехикл, без доп.напрягов садимся и едем
Пс : на той неделе попробую занятся 1,2,3 пунктами, 4 - нид снифы |
Пользователь сказал cпасибо: | Lightunit (08.04.2010) |
07.04.2010, 23:09 | #84 |
Гость
Сообщений: n/a
|
3 пункт пытался реализовать пользователь с getmangos.com в одноименной теме, там патчик лежит
|
08.04.2010, 02:03 | #85 |
Гость
Сообщений: n/a
|
|
08.04.2010, 02:27 | #86 |
Гость
Сообщений: n/a
|
Нету этого в dbc, иначе бы номер вичла не стал бы посылаться в апдейт-пакетах имхо. Номер вичла надо брать со снифов, а значит текущий вариант правильный.
|
08.04.2010, 07:41 | #87 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Я думаю не правильно что таблица для сидений делается отдельно, ее через дбц вроде можно же?
|
08.04.2010, 12:48 | #88 |
Гость
Сообщений: n/a
|
Вообще в базу cтоит заносить только vehicleId и спелы(может и спклы не надо, пока в ДБЦ не полностью разобрался, но скорее всего там нет этого), а все остально полностью можно брыть с DBC! При этом на тринити интересно сделано, там vehicleId в creature_template и спелы тоже там! Следовательно ни каких доп таблиц и т.д.
|
09.04.2010, 04:56 | #89 | |
Гость
Сообщений: n/a
|
Цитата:
|
|
09.04.2010, 07:39 | #90 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Дак spellclick это и регламентирует
|
09.04.2010, 08:16 | #91 |
Гость
Сообщений: n/a
|
spellclick регламентирует только то, что какой-либо вичл будет активен при том или ином взятом квесте ну и собственно, какой спелл будет кастоваться на игрока при клике на вичл. Эти спеллы все называются что-то вроде как "vehicle control rider" - типа спелл контроля ездой на вичле.
|
09.04.2010, 09:53 | #92 | ||
Гость
Сообщений: n/a
|
Цитата:
У Вас есть пример? на пример всегда сколько я не сталкивался с vehicle они служат только как vehicle и не разу не видел что бы они служили и как мобы! (пушки, танки, катапульты, верховой транспорт, драконы, у всего цель одна, сел(или другой моб сел) и ......) На счет спелов 10 штук? а у кокого vehicle их 10? У боссов которые катаются на vehicle, типа Мимирона? Ни кто не мешает их прописать боссу, все равно скриптоваться босс будет, а не vehicle! Кто му же vehicle тоже скриптуются на ура! Цитата:
Последний раз редактировалось Rage Hunter; 09.04.2010 в 09:57. |
||
09.04.2010, 10:10 | #93 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Я тоже пока не видел вихла как моба они всегда вихлы. (у них всегда ид другой нежели у мобов простых)
Добавление полей в creature_template удобнее в плане, что в базе уже почти для всех вихлов спелы раставлены , у нас по крайней мере (те спелы что занимают у вихла 1-4 позиции, остальные записаны для будущего на листочек) осталось доделать vehicleid поле куда нить ( хоть в тот же addon ) и будет работать + мы не создаем новую таблицу + в кешах всеравно нет спелов, и это ничего не поменяет для мобов в vehicleid=0, как были мобами так и будут Последний раз редактировалось timmit; 09.04.2010 в 10:17. |
09.04.2010, 10:19 | #94 |
Модератор
|
Кстати, если вичлы добавлять в мир сразу как вичлы - надо делать собственную систему апдейта и респавна, т.к я неоднократно ставил вичл в мире и после перезагрузки сервера он исчезал с концами)
|
09.04.2010, 10:20 | #95 | |
Гость
Сообщений: 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 |
Модератор
|
угу, с этим хаком, сейчас спавн вичла работает как обычный спавн мобов без добавления в БД, а соотвественно после рестарта сервера это все удаляется
Если рассмотреть добавление(именно добавление, а не спавн) моба и спавн моба, то отличаются они такими строчками Код:
pCreature->SaveToDB(...); pCreature->LoadFromDB(...); |
09.04.2010, 10:57 | #97 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Ну дак на офе после внезапных рестартов тоже ты не оказываешься на вехикл внезапно снова
Обычно вехиклы вызываются из обычных мобов, так как ид другой, это я уже говорил, нет необходимости его сохранять в мире в принципе. Последний раз редактировалось timmit; 09.04.2010 в 11:01. |
Пользователь сказал cпасибо: | MaS0n (09.04.2010) |
09.04.2010, 18:05 | #98 |
Гость
Сообщений: n/a
|
|
09.04.2010, 18:09 | #99 |
Гость
Сообщений: n/a
|
|
10.04.2010, 09:46 | #100 | |
Гость
Сообщений: n/a
|
Цитата:
Все равно меня пока беспокоит больше всего это флаги в DBC, а все остальное это потом! |
|
13.04.2010, 10:52 | #101 |
Гость
Сообщений: n/a
|
Вехайклы
Вроди работают нормально игрок залезает в танк(Ульдуар) но если к нему садиться второй игрок то у него(второго) нет меню машины и даже кнопки "вылезти" нету. Кто нибудь знает как решить эту проблему?
Еще вопрос: Вехикл является фактически петом который находится под контролем игрока. У мотоцикла в Ульдуаре есть способность звуковая волна(помойму так называется) но она требует наличия цели. Хотя игрок и находится на мотоцикле та цель которую он выбирает не является целью мотоцикла и по этому не срабатывает способность. Конечно можно в коде обработки заклинаний пета при условии если этот пет под контролем игрока устанавить цель которую выбрал игрок, но может быть есть какое то другое решение? Спасибо |
13.04.2010, 11:01 | #102 | |
Пользователь
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
|
Цитата:
У меня была идея, что коллекции посадочных мест разняться для этих вехайклов, те у танка своя, а у пушки своя и как только садимся в пушку получается так, что мы выходим из главенствующей коллекции в дочернюю и не можем вернуться назад. Нужно фиксить спеллы, а не что-то ещё придумывать. |
|
13.04.2010, 16:44 | #103 |
Гость
Сообщений: 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 | |
Пользователь
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
|
Цитата:
|
|
14.04.2010, 12:04 | #105 |
Гость
Сообщений: n/a
|
|
14.04.2010, 13:28 | #106 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
А что думать, для удобства мы их туда поместили от 1-4, все остальное на бумажке. Проблемы не вижу никакой вообще, нам так удобнее
Я все же надеюсь, что вехиклы будет патч через креатуре_темплате |
14.04.2010, 13:55 | #107 | ||
Гость
Сообщений: n/a
|
После наложения патча на вехиклы вылезла ошибка при компиляции
Цитата:
Цитата:
Последний раз редактировалось NeatElves; 14.04.2010 в 15:37. |
||
16.04.2010, 04:55 | #108 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Кто может подсказать как работает SeatData? там два значения (Entry, Flag)! И никакое никуда не указывается. Как вехикл ссылается на эту таблицу? И какие значения отвечают за координаты посадки? Прример Я сажу Крика На Ика и получается что крик сидит под ногами. С этими же данными моб спокойно садится на дракона , и сидит где нужно.
|
16.04.2010, 07:34 | #109 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 115
Сказал(а) спасибо: 0
Поблагодарили 36 раз(а) в 25 сообщениях
|
Значения в дбц VehicleSeat.dbc - что куда и зачем, в Vehicle.dbc указываются значения из VehicleSeat какие места.
Надо заместо таблицы vehicle_seat_data делать через дбц |
16.04.2010, 08:28 | #110 | |
Пользователь
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
|
Цитата:
Если это всё не так уж и сложно, то вот обработка пакетов от клиента приводит меня в тупик. Снифать не обучен, так что нужен знающий человек для таких дел. Хотя я думаю, что у некоторых людей уже давно это всё отснифано |
|
16.04.2010, 10:14 | #111 | |
Гость
Сообщений: n/a
|
Цитата:
а структуры для VehicleFlag и VehicleSeatFlag уже давно созданы ток "известных" флагов мало пока Последний раз редактировалось tester20; 16.04.2010 в 10:17. |
|
16.04.2010, 10:41 | #112 | |
Пользователь
Регистрация: 12.03.2010
Адрес: Беларусь
Сообщений: 54
Сказал(а) спасибо: 8
Поблагодарили 24 раз(а) в 17 сообщениях
Записей в дневнике: 1
|
Цитата:
VehicleFlag и VehicleSeatFlag - как мне помниться являются enumами, а я имел ввиду сктруктуры, которые будут содержать в себе записи из ДБЦ. |
|
17.04.2010, 06:58 | #113 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
|
17.04.2010, 08:51 | #114 |
Гость
Сообщений: 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, и из vehicleSeat.dbc 0x2010417 (33621015) - что этот флаг означает? 0x2010011 (33619985) - что этот флаг означает? Последний раз редактировалось Rage Hunter; 17.04.2010 в 08:55. |
17.04.2010, 10:13 | #115 |
Гость
Сообщений: n/a
|
ну вот как то
о значении флагов можно только догадываться сейчас я занят отделением хаковых решений от не хаковых и флагами некада заниматься Последний раз редактировалось tester20; 17.04.2010 в 10:29. |
17.04.2010, 12:24 | #116 | |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Цитата:
Код:
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. |
|
28.04.2010, 09:20 | #117 | |
Новичок
Регистрация: 18.04.2010
Сообщений: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
|
Цитата:
Есть еще одна реализация 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', |
|
04.05.2010, 19:40 | #118 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
люди не кто не знает случайно кто занимаеться вехиклами и обновляет регулярно свой репазиторий ????
|
04.05.2010, 20:34 | #119 |
Пользователь
Регистрация: 11.03.2010
Адрес: Спб
Сообщений: 35
Сказал(а) спасибо: 5
Поблагодарили 10 раз(а) в 8 сообщениях
|
перечитайте первый пост
|
06.05.2010, 15:04 | #120 |
Гость
Сообщений: n/a
|
Может быть стоит попробовать взять с тринити патч? Но не полностью, а так, частями.
Хотя это будет кривая реализация, но всё же лучше чем подгонять патч с первого поста. К вечеру попробую сделать хоть что-нибудь. Хотя было бы неплохо, если бы кто-то поделился своими мыслями на счёт этого. |
Метки |
vehicle |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[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 |