Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент

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

Опкоды, Формулы, Клиент Разбор и изучение взаимодействия клиента с сервером

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2011, 20:26   #1
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию Вопросы по LFG

В процессе переписывания кода ТС возникла куча вопросов. У них там почти все захардкожено, но что-то мне говорит что это неверно...
1. как подбирается игрок в пати по GS? вообще что принимается в качестве GS? шмот, время игры, ачивы?
2. в пати может быть только 1 танк 1 хилер и 3 дпс? Или я что-то не понял? или это тоже подбирается по GS?
3. сколько донжонов можно выбрать в списке (не-рандом)? в чистом мангосе зашита цифра 3, причем насмерть. мне почему-то казалось что сколько угодно. нет?
4. одновременно рандом и список как я понимаю выбрать нельзя?
5. система поиска рейда вообще независима от случайной группы? в трине работает одновременно либо то либо то. и как народ подбирается в рейд, только вручную?
6. что светится в окошке случайного подземелья (если выбрано именно рандом), если сегодня уже 1 такое пройдено?

поможите кто чем может. желательно простыми словами, на сях я сам ругаться буду...
rsa вне форума   Ответить с цитированием
Старый 06.04.2011, 20:43   #2
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

1. По среднему эквип ЛВЛу только. Если еквип ЛВЛа не достаточно, то так и написано
2. да, только так. Группа формируется из 1 танка, 1 хила, 3 дд (ДД могут быть одного класса)
3. Да хоть все
4. Да
5. Нет. Когда ты стоишь в очереди ЛФГ ты не можешь стать ни на БГ, ни в поиск рейда. Надо что-то одно выбирать(напрягает очень)
6. Первый раз отображается получаемый предмет, опыт, деньги. За последующие разы предмета уже нету(если валюта, то показана уже другая), кол-во денег и опыта уменьшено. Больше валюта и опыт не изменяются.

Еще вопросы будут?
Lordronn вне форума   Ответить с цитированием
Старый 06.04.2011, 21:07   #3
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

по 1 надо смотреть патчноуты и хотфиксы. по наблюдениям плохо одетых в основном кидает к плохо одетым, но бывают исключения.
zergtmn вне форума   Ответить с цитированием
Старый 06.04.2011, 21:29   #4
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Там либо чистый рандом либо есть некий средний эквип ЛВЛ у всей группы, который должен быть достигнут

Было и так, что плохо одетых к плохо одетым кидало. Бывало, что когда я был в 264 эквипе меня кидало к зеленым, и на оборот
Lordronn вне форума   Ответить с цитированием
Старый 06.04.2011, 22:14   #5
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
3. сколько донжонов можно выбрать в списке (не-рандом)? в чистом мангосе зашита цифра 3, причем насмерть. мне почему-то казалось что сколько угодно. нет?
Ограничение на 3 инста было в TBC до введения автоматического поиска подземелий.

Цитата:
Сообщение от rsa Посмотреть сообщение
5. система поиска рейда вообще независима от случайной группы? в трине работает одновременно либо то либо то. и как народ подбирается в рейд, только вручную?
Только вручную, поиск рейдов это просто список...

Цитата:
Сообщение от rsa Посмотреть сообщение
6. что светится в окошке случайного подземелья (если выбрано именно рандом), если сегодня уже 1 такое пройдено?
У близов это реализовано на стороне сервера в виде дэйли квестов (по 1 квесту на первый и последующие заходы). Ну и отображаются там соответственно реварды за эти квесты...

Последний раз редактировалось TOM_RUS; 06.04.2011 в 22:33.
TOM_RUS вне форума   Ответить с цитированием
Старый 07.04.2011, 07:07   #6
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Спасибо. Осталось выяснить цифры ограничений подземелий по GS (на ТС не реализовано), а также как считается это самое GS. Скорее всего придется взять тупую сумму левелов надетого шмота и добавлять поля в базу...
Раз поиск райда это список, то хоть с ним возни меньше. Однако система очередей выстраивается весьма красивая, можно в нее же и случайное БГ затолкать, текущая реализация весьма хаковатая.
Новый вопрос - куда в ТС выкинули реализацию хандлера CMSG_LFG_SET_ROLES_2? Судя по всему у них и так работает, но опкод же для чего-то нужен? Или он deprecated?
rsa вне форума   Ответить с цитированием
Старый 07.04.2011, 07:27   #7
Shadez
Ученый
 
Аватар для Shadez
 
Регистрация: 07.03.2010
Сообщений: 175
Сказал(а) спасибо: 64
Поблагодарили 142 раз(а) в 45 сообщениях
Shadez Обладатель прекрасной аурыShadez Обладатель прекрасной ауры
Отправить сообщение для Shadez с помощью ICQ
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
Осталось выяснить цифры ограничений подземелий по GS
В нормал-моды доступ открывается по достижению необходимого уровня (ЛК, Ката).
Героики в ЛК, насколько я помню, открывались с 174-м iLvl шмотом (последняя квестовая зеленка (79-80й лвл)). ЕМНИП, сразу все открываются, но не помню насчет Залов Отражений/Ямы Сарона/Кузни Душ - там уже персы достаточно одетые были.
В катаклизме же в героики можно пойти с 333-м уровнем шмота (общий - не только те, что надеты на персонаже, учитываются и предметы в сумке - можно было обмануть систему подсчета - купить левый шмот за репутацию, для поднятия уровня ).

Последний раз редактировалось Shadez; 07.04.2011 в 07:29.
Shadez вне форума   Ответить с цитированием
Старый 07.04.2011, 07:47   #8
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

Цитата:
Сообщение от Shadez Посмотреть сообщение
В катаклизме же в героики можно пойти с 333-м уровнем шмота
329 уровнем
Fedia22 вне форума   Ответить с цитированием
Старый 07.04.2011, 12:26   #9
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Shadez Посмотреть сообщение
В катаклизме же в героики можно пойти с 333-м уровнем шмота (общий - не только те, что надеты на персонаже, учитываются и предметы в сумке - можно было обмануть систему подсчета - купить левый шмот за репутацию, для поднятия уровня ).
опаньки... во я попал еще и из сумок GS считать...
rsa вне форума   Ответить с цитированием
Старый 07.04.2011, 10:25   #10
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
В процессе переписывания кода ТС возникла куча вопросов. У них там почти все захардкожено, но что-то мне говорит что это неверно...
1. как подбирается игрок в пати по GS? вообще что принимается в качестве GS? шмот, время игры, ачивы?
2. в пати может быть только 1 танк 1 хилер и 3 дпс? Или я что-то не понял? или это тоже подбирается по GS?
3. сколько донжонов можно выбрать в списке (не-рандом)? в чистом мангосе зашита цифра 3, причем насмерть. мне почему-то казалось что сколько угодно. нет?
4. одновременно рандом и список как я понимаю выбрать нельзя?
5. система поиска рейда вообще независима от случайной группы? в трине работает одновременно либо то либо то. и как народ подбирается в рейд, только вручную?
6. что светится в окошке случайного подземелья (если выбрано именно рандом), если сегодня уже 1 такое пройдено?

поможите кто чем может. желательно простыми словами, на сях я сам ругаться буду...
Всё из личных наблюдений:
1. Не замечал такой связи, просто не обращал на это внимания.
2. Это в каком смысле??? По ролям - да, именно только так.
3. Хоть все. Все доступные, имеется ввиду. С повышением левела низкие по уровню для тебя данжы не отображаются в списке вообще.
4. Нет, нельзя. Или рандом, или выбор.
5. Не совсем понимаю, тут Том лучше подсказал...
6. Ничего. Сообщения о том, что вы сегодня уже проходили что-то не появляется. Дело в том, что за последующие прохождения ты получаешь награду, но без шмота и в меньшем объёме.

Вроде ничего не напутал, давно уже не играл
KiriX вне форума   Ответить с цитированием
Старый 07.04.2011, 13:04   #11
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Это только в катаклизме. В ВОТЛК такого не было
Lordronn вне форума   Ответить с цитированием
Старый 07.04.2011, 14:10   #12
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от Lordronn Посмотреть сообщение
Это только в катаклизме. В ВОТЛК такого не было
В wotlk и требуемый итем левел для входа не отображался нигде, было просто написано что он недостаточно высок... А сам принцип его подсчета я думаю с тех пор не менялся...

В 4.х клиенте даже функция подсчета среднего итем левела есть.
Принцип работы:
создается массив
int bla[MAX_INVENTORY_TYPE];
memset(bla, 0, MAX_INVENTORY_TYPE*4);
потом перебираются все итемы и инвентаре и инициализируется этот массив:
if(bla[item->inventoryType] < item->itemlevel)
bla[item->inventoryType] = item->itemlevel;

ну и считается средний итем левел, при этом нужно не забыть что например уровень для двуручного оружия нужно считать за 2 слота (main+off hand) и т.д. Для колец и тринкетов только 1 слот вроде считается и т.д.

Так же учитывается может ли игрок вообще использовать данный итем: уровень игрока, класс, расса, требуемые спеллы (профессии), репутация, тип брони и прочая херь...

http://paste2.org/p/1349371

Последний раз редактировалось TOM_RUS; 07.04.2011 в 14:23.
TOM_RUS вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (07.04.2011), rsa (07.04.2011)
Старый 07.04.2011, 19:29   #13
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

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

Последний раз редактировалось rsa; 07.04.2011 в 19:31.
rsa вне форума   Ответить с цитированием
Старый 07.04.2011, 19:56   #14
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
нифига не понял как вычисляется среднее, похоже просто среднее арифметическое. и непонятно, учитывать ли всякие бутыли и прочую еду.
у таких итемов разве inventory type не 0?

Цитата:
Сообщение от rsa Посмотреть сообщение
тогда встает большая проблема где брать значения для сравнения разве народ накидает "по памяти" да я захардкодю все это...
кто может тупо постоять у банка, понадевать шмот разного уровня и написать какие подземелья при каком шмоте откроются?
Так не получится, т.к. считается весь шмот в инвентаре (возможно из банка не считается, я не уверен) + подземелья для низких уровней не отображаются когда уровень чара на много превышает уровень подземелья. Так что требуемый итем левел можно узнать только во время прокачки персонажа, т.к. обычно итем левела всегда нехватает (при получении 70 лвл не пускает в героики для 70 лвл, тоже самое на 80 и 85 уровне), для некоторых нормалов тоже есть требуемый илвл, например 5 ппл инсты цлк и колизея, все нормалы катаклизма...

Последний раз редактировалось TOM_RUS; 07.04.2011 в 20:20.
TOM_RUS вне форума   Ответить с цитированием
Старый 08.04.2011, 06:56   #15
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от TOM_RUS Посмотреть сообщение
у таких итемов разве inventory type не 0?
далеко не у всех к сожалению. есть рыба которую можно взять в качестве дубинки и тому подобное...
rsa вне форума   Ответить с цитированием
Старый 08.04.2011, 07:00   #16
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
далеко не у всех к сожалению. есть рыба которую можно взять в качестве дубинки и тому подобное...
Она будет считаться.
LordJZ вне форума   Ответить с цитированием
Старый 08.04.2011, 14:31   #17
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
нифига не понял как вычисляется среднее, похоже просто среднее арифметическое.
http://paste2.org/p/1351614

Последний раз редактировалось TOM_RUS; 08.04.2011 в 16:45.
TOM_RUS вне форума   Ответить с цитированием
Старый 08.04.2011, 02:06   #18
Estella
Новичок
 
Аватар для Estella
 
Регистрация: 06.03.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Estella На верном пути
По умолчанию

Насколько мне известно, высчитывается не просто средний уровень шмота, а средний уровень ЛУЧШЕЙ экипировки. То есть если в сумке будут лежать кольчужные перчатки, скажем, 346 333 306 и какого нибудь 15 лвла, в подсчет среднего уровня пойдет только 346. Причем если при этом будут латные перчатки 359, а вы охотник, в подсчет все равно пойдет 346. Однако если будут тканевые перчатки 359, в подсчет пойдут они.

Но это лично мое наблюдение, так как тоже пыталась обмануть систему)
Estella вне форума   Ответить с цитированием
Старый 08.04.2011, 02:37   #19
Energy
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 54
Сказал(а) спасибо: 11
Поблагодарили 13 раз(а) в 11 сообщениях
Energy На верном пути
По умолчанию

Чтобы получить близовский средний итемлевел нужно сделать следующее:
1. перебрать все учитываемые слоты
2. выяснить максимальный итемлевел для каждого из этих слотов из того, что игрок может одеть (в банке, в сумках, или уже одетое). т.е. например для роги будут считаться тряпки и кожа, но не будут считаться кольчуга и латы. БоЕ предметы, которые еще не привязаны к персонажу тоже учитываются. статы и качество (синька/эпик) игнорируются.
3. сделать среднее арифметическое по полученным результатам.

По поводу подбора пати хочу сказать что на мой взгляд учитываются только роли
Ну, судя по патчноутам теперь еще будет учитываться тип брони и близы будут стараться не ставить в 1 группу двух или трех дамагеров одного типа брони, например латников. Насчет подбора пати по GS - чушь. Сколько раз в мою фулл эпик пати попадали зеленые нубы, и наоборот. И столько же раз наверное я попадал своим зеленым нубом в такую же зеленую нубопати.
Energy вне форума   Ответить с цитированием
Старый 08.04.2011, 07:12   #20
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Energy Посмотреть сообщение
Насчет подбора пати по GS - чушь. Сколько раз в мою фулл эпик пати попадали зеленые нубы, и наоборот. И столько же раз наверное я попадал своим зеленым нубом в такую же зеленую нубопати.
нет, как раз это и есть результат подбора по GS. есть некий "максимальный GS" для подземелья. поэтому если вся пати одета в эпики, в нее придется пихнуть одетого в зелень клиента дабы выдержать это ограничение для всей пати.
rsa вне форума   Ответить с цитированием
Старый 08.04.2011, 09:41   #21
Shadez
Ученый
 
Аватар для Shadez
 
Регистрация: 07.03.2010
Сообщений: 175
Сказал(а) спасибо: 64
Поблагодарили 142 раз(а) в 45 сообщениях
Shadez Обладатель прекрасной аурыShadez Обладатель прекрасной ауры
Отправить сообщение для Shadez с помощью ICQ
По умолчанию

Цитата:
Сообщение от TOM_RUS Посмотреть сообщение
(возможно из банка не считается, я не уверен)
Считается, проверено - покупался релик для паладина за хонор, не надевался. Илвл поднялся. В банк убрал - остался на прежнем уровне. Вернул продавцу, илвл спустился на пред. значение.
Цитата:
Сообщение от rsa Посмотреть сообщение
и непонятно, учитывать ли всякие бутыли и прочую еду.
Нет, только экипировка.
Цитата:
Сообщение от rsa Посмотреть сообщение
нет, как раз это и есть результат подбора по GS. есть некий "максимальный GS" для подземелья. поэтому если вся пати одета в эпики, в нее придется пихнуть одетого в зелень клиента дабы выдержать это ограничение для всей пати.
Бред, имхо
Shadez вне форума   Ответить с цитированием
Старый 08.04.2011, 10:00   #22
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

А не может ли это обрабатываться на стороне клиента и отправляться на сервер при регистрации в ЛФГ?
Lordronn вне форума   Ответить с цитированием
Старый 08.04.2011, 18:28   #23
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Shadez Посмотреть сообщение
Бред, имхо
есть резалт-код в списке опций блокировки 5, по триневскому енуму
LFG_LOCKSTATUS_TOO_HIGH_GEAR_SCORE
судя по той паре сниффов что у меня есть, локмапы с этим кодом присылаются разные до вступления в группу и после. вывод 1 - идет пересчет локмапов по среднему ГС. вывод 2 - в случае подбора случайной группы ее члены подбираются так, чтобы их средний ГС влез в диапазон для подземелья. вывод 3 - см. предыдущее письмо.

@lordronn а как может это клиент обработать до того как группа создана?

@TOM_RUS, я именно об этом коде сказал что "нифига не понял". сейчас свой подсчет оттестирую и тут опубликую, а желающие поругают если что...
rsa вне форума   Ответить с цитированием
Старый 08.04.2011, 18:30   #24
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
@TOM_RUS, я именно об этом коде сказал что "нифига не понял". сейчас свой подсчет оттестирую и тут опубликую, а желающие поругают если что...
Что там непонятного?
TOM_RUS вне форума   Ответить с цитированием
Старый 08.04.2011, 18:41   #25
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от TOM_RUS Посмотреть сообщение
Что там непонятного?
непонятна там чушь начинающаяся после уже перебора итемов - непонятно на кой черт берется по 4 значения, в цикле вычисляются какие-то левые
ILVL_WITHOUT_WEAPONS; ILVL_WEAPONS_MH_OH; ILVL_WEAPONS_2H. что это такое в общем понятно, непонятно зачем считать таким кривым способом и что же в результате этого хитрого перебора получится. если надо получить среднее то все это должно быть куда проще.
rsa вне форума   Ответить с цитированием
Старый 08.04.2011, 19:07   #26
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
непонятна там чушь начинающаяся после уже перебора итемов - непонятно на кой черт берется по 4 значения, в цикле вычисляются какие-то левые
Это скорее всего оптимизация компилятора, тоже самое можно было бы сделать так:
Код:
    ...
    invType3 = INVTYPE_HEAD;                    // ignore INVTYPE_NON_EQUIP in calculations
    sum = 0;
    do
    {
      sum += IlvlByInvType[invType3];
      invType3 += 1;
    }
    while ( invType3 < MAX_INVTYPE );
    ...
    ILVL_WITHOUT_WEAPONS = fingerILVL + trinketILVL + rangedIlvl4 + sum;
TOM_RUS вне форума   Ответить с цитированием
Старый 08.04.2011, 18:45   #27
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Цитата:
@lordronn а как может это клиент обработать до того как группа создана?
А группа причем тут? Я имел ввиду итем лвл игрока. Ведь как-то клиент отображает крестик и надпись "Ваш уровень экипировки мал". или сервер сам шлет лист данжей, которые отображаются у игрока и их статус (можно пойти или нет) ?
Lordronn вне форума   Ответить с цитированием
Старый 08.04.2011, 19:07   #28
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Сам шлет, в локмапах. Реализацию можно глянуть в ТС или у меня в бранче (реализация разная, но формат-то локмапов один
Вот например https://github.com/rsa/mangos/commit...cb322c48a99a08
реализация SMSG_LFG_PARTY_INFO. Фактически это посылаются локмапы от всех членов пати.
rsa вне форума   Ответить с цитированием
Старый 08.04.2011, 19:41   #29
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Короче господа, вот накарябал:
https://github.com/rsa/mangos/commit...7977f2855b0028
Кто разберется в моем почерке, просьба похвалить-поругать-итп. Может я что не так понял или не доделал.

Кстати. Ни у кого не найдется структуры SMSG_UPDATE_LFG_LIST? или хоть куска сниффа с ним. Делать так уж все...

Последний раз редактировалось rsa; 08.04.2011 в 21:48.
rsa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
PSZ (09.04.2011)
Старый 09.04.2011, 00:09   #30
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
Короче господа, вот накарябал:
https://github.com/rsa/mangos/commit...7977f2855b0028
Кто разберется в моем почерке, просьба похвалить-поругать-итп. Может я что не так понял или не доделал.

Кстати. Ни у кого не найдется структуры SMSG_UPDATE_LFG_LIST? или хоть куска сниффа с ним. Делать так уж все...
http://paste2.org/p/1352237
TOM_RUS вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
rsa (09.04.2011)
Старый 09.04.2011, 09:06   #31
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
...
Кстати. Ни у кого не найдется структуры SMSG_UPDATE_LFG_LIST? или хоть куска сниффа с ним. Делать так уж все...
http://paste2.org/p/1352824
+ http://paste2.org/p/1352828
LordJZ вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
rsa (09.04.2011)
Старый 09.04.2011, 13:28   #32
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Однако же, структурка блин... Ничего, и не таких обламывали.
судя по всему, присылается она уже по выбранному клиентом типу подземелья - LFGType и не более того. а то бы траффик был сумасшедший от такого... хотя и так нечего себе будут блоки...
rsa вне форума   Ответить с цитированием
Старый 09.04.2011, 16:35   #33
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
Однако же, структурка блин... Ничего, и не таких обламывали.
судя по всему, присылается она уже по выбранному клиентом типу подземелья - LFGType и не более того. а то бы траффик был сумасшедший от такого... хотя и так нечего себе будут блоки...
Еще в структуре после Unk Float
Output.AppendLine(" Average Item Level: " + Reader.ReadSingle());

Пакет приходит при выборе рейда в просмотре рейдов.

Пример пакета:
Цитата:
LFG Type: Raid
Dungeon: Id: Baradin Hold (25) (329) Type: 0
isGuidsPresent: False
Groups: 0
Groups2: 0
Players: 4
Players2: 4
______________________
Player 0:
GUID: (Player, Counter: 42238773)
UpdateFlags: CharacterInfo, Comment, Unknown1, Guid, Roles, Unknown2, Unknown3, Unknown4
Level: 85
Class: Rogue
Race: BloodElf
Spec: 31/3/7
Armor: 10025
Spell Damage: 54 Heal: 54
Haste rating: melee 730, ranged 730, spell 730
MP5: 0 (interrupted 0)
Attack Power: 8098
Agility: 3912
Health: 110927
Mana: 0
Unk 1: 0
Unk Float: 413
Unk Float 2 (Mastery?): 352,4706
Defence Rating: 0
Dodge Rating: 0
Block Rating: 0
Parry Rating: 0
Crit Rating (?): 864
Expertise: 3
Comment: ДПС 16К+, шмот 358
Unk Byte 6 0: 0
Guid: (No Guid)
Roles: DPS
Unk Int32 23 0: 5145
Unk Byte 8 0: 0
Unk GUID 6 0: (No Guid)
Unk Int32 24 0: 0
______________________
Player 1:
GUID: (Player, Counter: 57007247)
UpdateFlags: CharacterInfo, Comment, Unknown1, Guid, Roles, Unknown2, Unknown3, Unknown4
Level: 85
Class: Warlock
Race: BloodElf
Spec: 31/7/3
Armor: 8964
Spell Damage: 2956 Heal: 2956
Haste rating: melee 414, ranged 414, spell 414
MP5: 1193 (interrupted 1028)
Attack Power: 100
Agility: 73
Health: 103766
Mana: 64763
Unk 1: 0
Unk Float: 405,1765
Unk Float 2 (Mastery?): 348
Defence Rating: 0
Dodge Rating: 0
Block Rating: 0
Parry Rating: 0
Crit Rating (?): 253
Expertise: 0
Comment:
Unk Byte 6 1: 0
Guid: (No Guid)
Roles: DPS
Unk Int32 23 1: 47
Unk Byte 8 1: 0
Unk GUID 6 1: (No Guid)
Unk Int32 24 1: 0
______________________
Player 2:
GUID: (Player, Counter: 36706580)
UpdateFlags: CharacterInfo, Comment, Unknown1, Guid, Roles, Unknown2, Unknown3, Unknown4
Level: 85
Class: DeathKnight
Race: BloodElf
Spec: 8/0/33
Armor: 19912
Spell Damage: 44 Heal: 44
Haste rating: melee 1055, ranged 1055, spell 1055
MP5: 0 (interrupted 0)
Attack Power: 9944
Agility: 138
Health: 112955
Mana: 0
Unk 1: 0
Unk Float: 419,2353
Unk Float 2 (Mastery?): 353,6875
Defence Rating: 0
Dodge Rating: 0
Block Rating: 0
Parry Rating: 1083
Crit Rating (?): 1426
Expertise: 29
Comment: анхоли 13+ ачив
Unk Byte 6 2: 0
Guid: (No Guid)
Roles: DPS
Unk Int32 23 2: 1637
Unk Byte 8 2: 0
Unk GUID 6 2: (No Guid)
Unk Int32 24 2: 0
______________________
Player 3:
GUID: (Player, Counter: 45103393)
UpdateFlags: CharacterInfo, Comment, Unknown1, Guid, Roles, Unknown2, Unknown3, Unknown4
Level: 85
Class: Druid
Race: Tauren
Spec: 32/1/8
Armor: 9868
Spell Damage: 6897 Heal: 6897
Haste rating: melee 331, ranged 331, spell 331
MP5: 2563 (interrupted 932)
Attack Power: 477
Agility: 105
Health: 114399
Mana: 99228
Unk 1: 0
Unk Float: 421,1765
Unk Float 2 (Mastery?): 354,7647
Defence Rating: 0
Dodge Rating: 0
Block Rating: 0
Parry Rating: 0
Crit Rating (?): 2142
Expertise: 0
Comment: сова 353илвл
Unk Byte 6 3: 0
Guid: (No Guid)
Roles: DPS
Unk Int32 23 3: 5356
Unk Byte 8 3: 0
Unk GUID 6 3: (No Guid)
Unk Int32 24 3: 0

Последний раз редактировалось LordJZ; 09.04.2011 в 16:41.
LordJZ вне форума   Ответить с цитированием
Старый 09.04.2011, 17:37   #34
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Еще в структуре после Unk Float
Output.AppendLine(" Average Item Level: " + Reader.ReadSingle());

Пакет приходит при выборе рейда в просмотре рейдов.

Пример пакета:
перед дефенсрейтингом что ли? та же места по дизасму нету... ладно, будем как обычно методом тыка.
Гляньте пожалуйста на стрктурку MemberFlags (как я понимаю она же UpdateFlags. ничего не забыл/не перепутал?
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
rsa вне форума   Ответить с цитированием
Старый 09.04.2011, 18:28   #35
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Да, про структуру это я наврал, Average Item Level только в 4.0 отправляется.

Енумы у меня такие:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 20 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
LordJZ вне форума   Ответить с цитированием
Старый 09.04.2011, 19:36   #36
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

спасибо, roles и правда перепутал
у вас нет типа группы = 6 (рандом), флаг лидера почему-то назван Guide. и еще судя по тому что у меня есть, флаг х08 выставляется когда игрок в пати, я его назвал group.
rsa вне форума   Ответить с цитированием
Старый 09.04.2011, 19:48   #37
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
флаг лидера почему-то назван Guide
Близы так называют.

Код:
CHAT_PARTY_GUIDE_GET = "|Hchannel:PARTY|h[Dungeon Guide]|h %s:\32"; - в LFG пати
CHAT_PARTY_LEADER_GET = "|Hchannel:PARTY|h[Party Leader]|h %s:\32"; - в обычной пати
GUIDE_TOOLTIP = "Indicates that you have some dungeon experience and are comfortable instructing the group in how to overcome the encounters.";

Последний раз редактировалось TOM_RUS; 09.04.2011 в 19:52.
TOM_RUS вне форума   Ответить с цитированием
Старый 09.04.2011, 22:55   #38
finomen
Гость
 
Сообщений: n/a
По умолчанию

начал писать поиск подземелий, натолкнулся на такую проблему: а как собственно формировать группы?

Варианты
1) жадно пытаться объединить всех, кого только можно
+ игроки видят какой-то прогресс
- неоптимальный результат и не факт, что вообще группы соберутся
2) перебрать все возожные пары танк-хилер (с учетом групп, в которых они состоят и возможности дополнить такие пары ДД), построить на них максимальное паросочетание
+ гарантированно оптимальный выбор групп
- игроки не видят прогресса, работает за O(N^3), где N количество игроков в очереди
3) жадно объединять танка с хилером, ДД добивать только если можно заполнить группу
+ танки и хилеры видят прогресс
- непонятно, на скольео будет оптимальным результат

ну и самы главный вопрос - что делать с игроками, которые выбрали несколько ролей? как их учитывать?

Может у кого есть мысли, как это реализовано на оффе, или просто адекватный алгоритм?

ЗЫ спасибо rsa и TC за базу для разработок
  Ответить с цитированием
Старый 10.04.2011, 09:01   #39
Shadez
Ученый
 
Аватар для Shadez
 
Регистрация: 07.03.2010
Сообщений: 175
Сказал(а) спасибо: 64
Поблагодарили 142 раз(а) в 45 сообщениях
Shadez Обладатель прекрасной аурыShadez Обладатель прекрасной ауры
Отправить сообщение для Shadez с помощью ICQ
По умолчанию

Цитата:
Сообщение от finomen Посмотреть сообщение
а как собственно формировать группы?
Имхо, в очереди как таковой, есть 3 доп. очереди - для каждой роли по одной. И набирается группа путем вытаскивания первых сверху игроков.
Ну и, возможно, + какие-то доп. проверки на уровень предметов и пр.

Цитата:
Сообщение от finomen Посмотреть сообщение
ну и самы главный вопрос - что делать с игроками, которые выбрали несколько ролей? как их учитывать?
Анализировать игроков, стоящих в очереди - как правило, больше всего в очереди сидит ДД, затем хилеры и меньше всего танков. Кто больше нужен, той ролью и включать игрока в поиск.

И ещё. Вроде не писали, мб пригодится:
- если кто-то из игроков отклонил приглашение, группа получает нового игрока вне очереди;
- неполная группа, находящаяся в подземелье, имеет больший приоритет на нового игрока, нежели группа, не отправленная в подземелье (см. выше).
Shadez вне форума   Ответить с цитированием
Старый 10.04.2011, 08:28   #40
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Покажите код, посмотрим, может что и посоветуем. В подборе надо использовать теории матриц, это довольно толстый курс высшей математики и не тут его обсуждать. Если вы планируете писать на базе ТС, то мне вас жаль - я эти грабли уже на своем лбу долго ощущаю, поэтому больше половины пишу заново... И мой код еще и до половины реализации не доехал.
rsa вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
LordJZ (10.04.2011)
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по использованию Git anvd24 Новичкам 21 25.01.2012 09:17
Вопросы по базе Mediv MaNGOSZero (1.12.X) 10 13.04.2011 04:31
Вопросы от новичка Archon64 MaNGOSZero (1.12.X) 6 04.05.2010 13:25


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


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