Ru-MaNGOS  

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

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.03.2011, 15:39   #81
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Есть тестовая ветка у дева тринити - Шаурена
https://github.com/Shauren/TrinityCore

Он ее сделал для переписывания транспорта. Удалил хаки с релоком, с таблицей для мобов. Я не проверял, может кому интересно поковырять будет
Lordronn вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
lovepsone (23.03.2011), MaxXx2021 (19.03.2011), rsa (19.03.2011)
Старый 19.03.2011, 16:33   #82
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию



Добавлено через 11 минут
Цитата:
Сообщение от Lordronn Посмотреть сообщение
Есть тестовая ветка у дева тринити - Шаурена
опа... шаурен и сюда добрался он вообще молодец. спасибо, мб чего найдется.
rsa вне форума   Ответить с цитированием
Старый 23.01.2012, 17:01   #83
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 72 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
Сообщение от MaxXx2021 Посмотреть сообщение
РоманРом2 я с вами полностью согласен, но вы все говорите относительно игроков! А то что это ролик помойму, несоотвествие какое то. вчера проверил зашел на летающий корабль, и переодически нажимал .gps мои координаты изменялись сразу же. Корабль движется и движется в прямом смысле этого слова, так же как и моб с GetMotionMaster()->MovePoint.
Жэпээс выдает изменение позиции потому, что позиция го транспорта интерполируется в апдейт коде объекта, а вместе с ней обновляются координаты пассажиров.
Как говорил РоманРом2 - клиент ничего не шлет, если на транспорте не двигаться, следовательно, позиция не обновляется, следовательно, обновлять ее на сервере нельзя, все взаимодействия ВорлдОбжектов надо рассчитывать с учетом "саб-мап" и относительных координат, а не только мировых координат.
Amaru вне форума   Ответить с цитированием
Старый 24.01.2012, 17:48   #84
Time Lords
Заблокирован
 
Регистрация: 11.07.2011
Сообщений: 29
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Time Lords На верном пути
По умолчанию

Дурацкий вопрос.
А что если вообще не трогать мировую карту? Посчитаем её как материк. У нас есть некий транспорт со своим центром координат (точка 0). Карта транспорта распространяется на некую область вокруг этого центра. Когда игрок попадает в карту, то он на корабле. Все нпс ставятся в этой же зоне. Меняем положение центра координат и все должно работать.

Есть еще 1 идея. Мы ведь используем vmaps для расчета путей беготни нпс? И нам известны все координаты корабля. Забиваем все координаты нпс так, чтобы они были на транспорте всегда и пусть сервер сам меняет местоположение нпс
Time Lords вне форума   Ответить с цитированием
Старый 25.01.2012, 13:26   #85
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 440 раз(а) в 183 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Игрока должны видеть с глобальной карты и наоборот, как минимум. Так что при проверке видимости (и рассылке пакетов движений видящим?) пересчет все равно нужен.
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 25.01.2012, 14:24   #86
Time Lords
Заблокирован
 
Регистрация: 11.07.2011
Сообщений: 29
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Time Lords На верном пути
По умолчанию

Цитата:
Игрока должны видеть с глобальной карты и наоборот, как минимум. Так что при проверке видимости (и рассылке пакетов движений видящим?) пересчет все равно нужен.
Вообще не проблема. Координаты x и y центра карты транспорта + координаты x и y игрока на карте. Но делать пересчет на одного игрока, залетающего на транспорт раз в час, много легче
Time Lords вне форума   Ответить с цитированием
Старый 25.01.2012, 16:37   #87
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

вообще все это давно сделано... и даже VMAPS на кораблях отлично работают. но проблем еще - хоть лопатой греби, причем самые крупные в выскребании давно обросших ссылками хаков на перемещение телепортом...
rsa вне форума   Ответить с цитированием
Старый 26.01.2012, 10:27   #88
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 72 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
Сообщение от Vladimir Посмотреть сообщение
Игрока должны видеть с глобальной карты и наоборот, как минимум. Так что при проверке видимости (и рассылке пакетов движений видящим?) пересчет все равно нужен.
Логично интерполировать положение транспорта сплайнами, т.е. базовой карты, на которой находится объект(нпс), а в апдейтах видимости (и в других взаимодействиях объектов) работать не с только с одной картой, но и со всей иерархией вложенных карт.
Например, каждая карта будет хранить список подкарт (транспортов), которые сейчас на ней находятся, так же будет хранить бэйз-мап - ту, на которой находится она сама.
Amaru вне форума   Ответить с цитированием
Старый 31.01.2012, 08:54   #89
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 72 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
Сообщение от RomanRom2 Посмотреть сообщение
да это всё сделает клиент, я ж написал
вот мы уехали на корабле, предположим. едем такие, едем...
отвлечемся.

тут тема какая... клиент присылает координаты, когда мы перемещаемся персом, так? теперь мы садимся на корабль. ну и как бы не двигаемся предположим. в этом случае клиент ничего не присылает что логично теперь предположим что двигаемся. в этом случае клиент присылает мув-пакеты, но немного не такие. в них основные координаты не меняются, но появился дополнительный блок с координами. это координаты относительно корабля. ну и гуид корабля там еще.
Выяснилось, что кроме дополнительного блока (оффсеты игрока на трансопрте), все также присылаются также глобальные координаты игрока.
Amaru вне форума   Ответить с цитированием
Старый 31.01.2012, 18:05   #90
Time Lords
Заблокирован
 
Регистрация: 11.07.2011
Сообщений: 29
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Time Lords На верном пути
По умолчанию

Цитата:
Выяснилось, что кроме дополнительного блока (оффсеты игрока на трансопрте), все также присылаются также глобальные координаты игрока.
Кстати. Еще глупый вопрос. У клиента есть полная карта мира. Почему мы не можем заставить его считать вообще все, а сами проверять значения геодаты и в случае ошибок расчетов исправлять их?
Time Lords вне форума   Ответить с цитированием
Старый 31.01.2012, 22:35   #91
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от Time Lords Посмотреть сообщение
заставить его считать вообще все, а сами проверять значения геодаты и в случае ошибок расчетов исправлять их?
а как узнать, что произошла ошибка? Придется считать совместно с клиентом...тогда суть вопроса?
зы Клиенту доверять нельзя!
Evgeniy вне форума   Ответить с цитированием
Старый 01.02.2012, 02:27   #92
Time Lords
Заблокирован
 
Регистрация: 11.07.2011
Сообщений: 29
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Time Lords На верном пути
По умолчанию

Цитата:
а как узнать, что произошла ошибка? Придется считать совместно с клиентом...тогда суть вопроса?
зы Клиенту доверять нельзя!
Как я понимаю сервер может получить от клиента опкод с координатами. если сделать некую проверочную структуру о уровне земли и сверять координаты z в диапазоне (уровень земли;потолок). Еще проверка нужна для вбегания в стену, гору. Если опкод неправильный - отбрасываем. Здесь только надо учесть пещеры и подземелья. Глобальная координата z существует?

Все значения, наверное, можно откопать с maps
Time Lords вне форума   Ответить с цитированием
Старый 01.02.2012, 20:00   #93
Amaru
MaNGOS Dev
 
Регистрация: 16.01.2011
Сообщений: 262
Сказал(а) спасибо: 57
Поблагодарили 72 раз(а) в 59 сообщениях
Amaru На верном пути
По умолчанию

Цитата:
Сообщение от Time Lords Посмотреть сообщение
Кстати. Еще глупый вопрос. У клиента есть полная карта мира. Почему мы не можем заставить его считать вообще все, а сами проверять значения геодаты и в случае ошибок расчетов исправлять их?
Как ты его заставишь? Ты должен опираться на лиззовский клиент.

На офе было замечено, что лок на транспорте умеет ставить портал => не только кричеру умеют ездить на транспортах, но и ГО.
Если понятно каким опкодов заставить ездить кричеров на клиенте, то ГО - не понятно.

Еще заметил интересный кусок кода:
PHP код:
// 0x40
            
if (updateFlags UPDATEFLAG_HAS_POSITION)
            {
                
// 0x02
                
if(updateFlags UPDATEFLAG_TRANSPORT && ((GameObject*)this)->GetGoType() == GAMEOBJECT_TYPE_MO_TRANSPORT)
                {
                    *
data << float(0);
                    *
data << float(0);
                    *
data << float(0);
                    *
data << float(((WorldObject *)this)->GetOrientation());
                }
                else
                {
                    *
data << float(((WorldObject *)this)->GetPositionX());
                    *
data << float(((WorldObject *)this)->GetPositionY());
                    *
data << float(((WorldObject *)this)->GetPositionZ());
                    *
data << float(((WorldObject *)this)->GetOrientation());
                }
            } 
Так и хочется туда вместо нулей что-нибудь туда влепить
Amaru вне форума   Ответить с цитированием
Старый 02.02.2012, 11:54   #94
Time Lords
Заблокирован
 
Регистрация: 11.07.2011
Сообщений: 29
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Time Lords На верном пути
По умолчанию

Цитата:
Как ты его заставишь? Ты должен опираться на лиззовский клиент.
Цитата:
Выяснилось, что кроме дополнительного блока (оффсеты игрока на транспорте), все также присылаются также глобальные координаты игрока.
Раз шлет, значит считает. Или это касалось не близзовского клиента?
Time Lords вне форума   Ответить с цитированием
Старый 14.05.2012, 19:57   #95
kampeador
Новичок
 
Регистрация: 18.04.2010
Сообщений: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
kampeador На верном пути
По умолчанию

На эмуляторе Ascent(который давно сдох) NPC на транспорте были еще со времен версии 2.3.3 или 2.4.0. Но служили они в качестве декораций. Там как-бы игрок NPC видит, а вот они его - нет.
Это проявляется тем, что при взаимодействии с NPC - он как будто находится в другом измерении.
kampeador вне форума   Ответить с цитированием
Старый 14.05.2012, 22:53   #96
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 258
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от kampeador Посмотреть сообщение
На эмуляторе Ascent(который давно сдох) NPC на транспорте были еще со времен версии 2.3.3 или 2.4.0. Но служили они в качестве декораций. Там как-бы игрок NPC видит, а вот они его - нет.
Это проявляется тем, что при взаимодействии с NPC - он как будто находится в другом измерении.
Этот спич к чему вообще ?
NeatElves вне форума   Ответить с цитированием
Старый 03.06.2012, 12:48   #97
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 57
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

в результате длительных копаний клиента и сервера, сниффов и натурных экспериментов выяснилось, что большинство описанных в треде гипотез ну не то чтобы полная х...ня, но на истину не тянут. истина, как обычно, где-то посередине... описывать долго, да скорее всего тут и не осталось никого кому это интересно.
PS но до чего крива текущая система транспорта - это да... видимо ее со времен wowd никто так и не пробовал доработать
rsa вне форума   Ответить с цитированием
Старый 02.04.2015, 08:24   #98
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 194
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию

Некро пост возможно, но все же, на сколько транспорт реализован в CMangos? нет возможности проверить, так бы сам проверил...
И какие актуальные патчи\моды, существуют реализации этого на mangos, или все печально?
Mayss вне форума   Ответить с цитированием
Старый 02.04.2015, 19:21   #99
qvip
Новичок
 
Регистрация: 05.09.2010
Сообщений: 26
Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
qvip На верном пути
По умолчанию

https://github.com/TrinityCore/Trini...ansportMgr.cpp

С первого коммита. Вот думаем портануть сие.
qvip вне форума   Ответить с цитированием
Старый 03.04.2015, 07:06   #100
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 194
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию

RSA ещё писал про то, что можно допилить в его ядре транспорт как он есть, в https://github.com/mangosR2/mangos/issues/657 там же есть и ссылка на реп SilverIce, где он писал код по транспорту для mangos https://github.com/mangosR2/mangos/i...omment-4025290

Последний раз редактировалось Mayss; 03.04.2015 в 07:08.
Mayss вне форума   Ответить с цитированием
Старый 03.04.2015, 21:24   #101
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 465
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

тоже перечитал топик

можно продолжить подискутировать на эту тему, если конечно еще есть с кем. от себя могу сказать следующее:
http://wowcore.ru/history2/quaternion/

и поэтому увидев...
Цитата:
Сообщение от rsa Посмотреть сообщение
в результате длительных копаний клиента и сервера, сниффов и натурных экспериментов выяснилось, что большинство описанных в треде гипотез ну не то чтобы полная х...ня, но на истину не тянут.
... слегка расстроился. очень интересно послушать какие то новые умозаключения и гипотезы, особенно после моей "гипотезы", доказанной и реализованной за пол года до этого поста rsa.
RomanRom2 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Mayss (04.04.2015)
Старый 07.04.2015, 21:59   #102
qvip
Новичок
 
Регистрация: 05.09.2010
Сообщений: 26
Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
qvip На верном пути
По умолчанию

ну пока что, вот наглядный вариант рабочей версии с Р2:
https://drive.google.com/open?id=0B9...RHM&authuser=0

подшаманил с командой добавления нпц, и вот такие дела. Нпц существуют только на одной мапе (тобишь когда корабль возвращается в "родную" локу, они появляются), надо как-то по-другому привязать к транспорту
qvip вне форума   Ответить с цитированием
Старый 08.04.2015, 05:03   #103
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 194
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию

Возможно что они исчезают, когда "воспроизводится ролик перемещения корабля, визуальный", то есть карта корабля исчезает, а за место неё воспроизводится ролик.

Последний раз редактировалось Mayss; 08.04.2015 в 05:05.
Mayss вне форума   Ответить с цитированием
Старый 08.04.2015, 12:48   #104
qvip
Новичок
 
Регистрация: 05.09.2010
Сообщений: 26
Сказал(а) спасибо: 2
Поблагодарили 4 раз(а) в 3 сообщениях
qvip На верном пути
По умолчанию

не похоже. Тоесть если например добавлю нпц разных на 2-х картах, то вот они так и будут меняться. В одной локации одни - в другой другие.
qvip вне форума   Ответить с цитированием
Ответ

« [mod] Playerbot | Следующей темы нет »
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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


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


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