Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Отвергнутые патчи

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

Отвергнутые патчи Патчи, отвергнутые от приёма в GIT

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.05.2010, 14:00   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию [fix 9973] Уровень npc на бг Альтерак

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

Собственно запрос заключается в том, чтобы реализовать такое:
1) бг запустилось для игроков 60-69 уровней - сервер считает что инст normal сложности и спавнит кричеров с их оригинальным entry
2) бг запустилось для игроков 70-79 уровней - сервер считает что инст 10 heroic и спавнит кричера с ид из поля difficulty_entry_1 этого кричера
3) бг запустилось для игроков 80-85 уровней - сервер считает что инст 25 normal и спавнит кричера с ид из поля difficulty_entry_2 этого кричера

Пусть даже это будет хак вроде
if (бг = альтерак && уровень бг = 70-79) creature->entry=difficulty_entry_1;
ибо эта проблема полностью убивает играбельность этого бг для игроков 70+ уровня. Мобы попросту не попадают по ним :/

Последний раз редактировалось Insider42; 04.05.2010 в 15:31.
Insider42 вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
PSZ (05.05.2010), YuruY (04.05.2010)
Старый 04.05.2010, 14:07   #2
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

А разве это сейчас не реализовано?
LordJZ вне форума   Ответить с цитированием
Старый 04.05.2010, 14:08   #3
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
А разве это сейчас не реализовано?
нет, стоит ядро 9797+база YTDB 543, в колонках difficulty_entry# заполнение присутствует, но на бг всегда мобы 60-64 уровней.

В том то и дело, что у бг не определяется сложность... или попросту не используется
Insider42 вне форума   Ответить с цитированием
Старый 04.05.2010, 14:09   #4
selector
Пользователь
 
Аватар для selector
 
Регистрация: 12.03.2010
Сообщений: 64
Сказал(а) спасибо: 23
Поблагодарили 10 раз(а) в 5 сообщениях
selector На верном пути
По умолчанию

Дабы не создавать еще 1 тему. У Альтерака и Арати имеются проблемы с текстами. Например, когда игрок Альянса захватывает кузницу, то идет сообщение о том что Орда захватила стойла и т.д.

Проверено пол часа назад:
Rev. 9824 (clean)
YTDB 545
SD2 last(+ insider42 mods)
selector вне форума   Ответить с цитированием
Старый 04.05.2010, 14:13   #5
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Insider42 Посмотреть сообщение
нет, стоит ядро 9797+база YTDB 543, в колонках difficulty_entry# заполнение присутствует, но на бг всегда мобы 60-64 уровней.

В том то и дело, что у бг не определяется сложность... или попросту не используется
А сама база-то правильно заселена? На 30-й карте стоят НПС, у которых есть копии в difficulty_entryN?

Я просто точно помню как спорил с balrok-ом и Vladimir-ом в комментариях к коммиту, по поводу реализации как раз этой фичи.

Хотя, возможно, что-то перестало работать (например, после свитча).
LordJZ вне форума   Ответить с цитированием
Старый 04.05.2010, 14:24   #6
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
А сама база-то правильно заселена? На 30-й карте стоят НПС, у которых есть копии в difficulty_entryN?
Возьмем за пример моба 11657
creature_template
Поля со сложностями 1 - 22685, 2 - 32045. Эти два кричера также присутствуют в таблице. Ошибок в загрузке сервера нет
В таблице creature моб 11657 записан, spawnmask=15 (все сложности)

Или же в случае БГ должны стоять нпс ВСЕХ сложностей в creature (тупо добавлены новые записи в creature с id из difficulty_entry этого кричера) и spawnmask должен быть для каждой сложности свой, дабы не спавнить их всех разом?
Insider42 вне форума   Ответить с цитированием
Старый 04.05.2010, 14:26   #7
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Insider42 Посмотреть сообщение
...
Или же в случае БГ должны стоять нпс ВСЕХ сложностей в creature (тупо добавлены новые записи в creature с id из difficulty_entry этого кричера) и spawnmask должен быть для каждой сложности свой, дабы не спавнить их всех разом?
Попробуйте. Если это так, то это - баг.
LordJZ вне форума   Ответить с цитированием
Старый 04.05.2010, 14:59   #8
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Провел эксперименты.

Эксперимент №1. Поставил копию этого нпс с ID героического моба через запрос - затем проварьировал spawnmask в базе (2,4,8 - ид всех, кроме первой сложности) - моб не появлялся, поставил spawnmask=1 - появился, с 15 тоже появляется
Эксперимент №2. Зашёл как обычно своим гмом 80 уровня на бг и тупо воткнул моба, смотрю в базу - у него spawnmask=1.
Вывод - бг не знает ни о каких сложностях. Будто обычная локация

Без вмешательства в ядро проблему не решить

Последний раз редактировалось Insider42; 04.05.2010 в 15:02.
Insider42 вне форума   Ответить с цитированием
Старый 04.05.2010, 15:47   #9
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

До перехода на 3.3 это 100% работало, у меня сейчас на сервере стоит 9119 - разные уровни мобов для разных брекетов работают. Проверил на последней ревизии - действительно сломалось...
PSZ вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Insider42 (04.05.2010), YuruY (04.05.2010)
Старый 04.05.2010, 15:54   #10
GriffonHeart
Гость
 
Сообщений: n/a
По умолчанию

По-моему это после какого-то коммита отвалилось.

Меня вот этот коммит смущает - [9597] http://github.com/mangos/mangos/comm...ab869bae45fada

Последний раз редактировалось GriffonHeart; 04.05.2010 в 16:07.
  Ответить с цитированием
Старый 25.05.2010, 14:04   #11
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

АП.
в функции
BattleGroundMap* MapInstanced::CreateBattleGroundMap(uint32 InstanceId, BattleGround* bg)

uint8 spawnMode = bracketEntry ? bracketEntry->difficulty : REGULAR_DIFFICULTY;
всегда равен 0, т.е. REGULAR_DIFFICULTY
вот она и проблема. Теперь осталось найти - почему?
Insider42 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
PSZ (25.05.2010)
Старый 25.05.2010, 14:38   #12
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

bracketEntry равен NULL?

Сорри, нет возможности посмотреть самому.
PSZ вне форума   Ответить с цитированием
Старый 25.05.2010, 15:24   #13
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Код:
diff --git a/src/game/BattleGroundMgr.cpp b/src/game/BattleGroundMgr.cpp
index fb36219..dfa7302 100644
--- a/src/game/BattleGroundMgr.cpp
+++ b/src/game/BattleGroundMgr.cpp
@@ -1535,6 +1535,8 @@ BattleGround * BattleGroundMgr::CreateNewBattleGround(BattleGroundTypeId bgTypeI
             return 0;
     }
 
+    bg->SetBracket(bracketEntry);
+
     // will also set m_bgMap, instanceid
     sMapMgr.CreateBgMap(bg->GetMapId(), bg);
Ниже уже есть эта строчка, наверное ее можно удалить (после более детального изучения проблемы).
zergtmn вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
PSZ (25.05.2010)
Старый 25.05.2010, 15:46   #14
Rage Hunter
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от zergtmn Посмотреть сообщение
Ниже уже есть эта строчка, наверное ее можно удалить (после более детального изучения проблемы).
Проверил, работает! Зашел на Альтерак на 80-85 лвл, уровень мобов был 81!
Код:
diff --git a/src/game/BattleGroundMgr.cpp b/src/game/BattleGroundMgr.cpp
index 9236742..d904821 100644
--- a/src/game/BattleGroundMgr.cpp
+++ b/src/game/BattleGroundMgr.cpp
@@ -1535,6 +1535,8 @@ BattleGround * BattleGroundMgr::CreateNewBattleGround(BattleGroundTypeId bgTypeI
             return 0;
     }
 
+    bg->SetBracket(bracketEntry);
+
     // will also set m_bgMap, instanceid
     sMapMgr.CreateBgMap(bg->GetMapId(), bg);
 
@@ -1545,7 +1547,6 @@ BattleGround * BattleGroundMgr::CreateNewBattleGround(BattleGroundTypeId bgTypeI
 
     // start the joining of the bg
     bg->SetStatus(STATUS_WAIT_JOIN);
-    bg->SetBracket(bracketEntry);
     bg->SetArenaType(arenaType);
     bg->SetRated(isRated);
  Ответить с цитированием
Старый 25.05.2010, 15:52   #15
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Да, ваш фикс судя по всему подходит...

Последний раз редактировалось Insider42; 25.05.2010 в 16:05.
Insider42 вне форума   Ответить с цитированием
Старый 25.05.2010, 16:12   #16
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Внесли: [9973]
LordJZ вне форума   Ответить с цитированием
Старый 25.05.2010, 16:19   #17
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Наконецто.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 25.05.2010, 17:26   #18
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

Не внесли а написали свой... ветку не читал до поста.
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Старый 25.05.2010, 17:36   #19
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Главное результат ... есть.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 25.05.2010, 20:27   #20
Fedia22
Ученый
 
Аватар для Fedia22
 
Регистрация: 03.03.2010
Адрес: Сибирь, 58°14′00″ с. ш. 92°29′00″ в. д.
Сообщений: 288
Сказал(а) спасибо: 79
Поблагодарили 37 раз(а) в 14 сообщениях
Записей в дневнике: 18
Fedia22 На верном пути
По умолчанию

Цитата:
Сообщение от Insider42 Посмотреть сообщение
Собственно запрос заключается в том, чтобы реализовать такое:
1) бг запустилось для игроков 60-69 уровней - сервер считает что инст normal сложности и спавнит кричеров с их оригинальным entry
2) бг запустилось для игроков 70-79 уровней - сервер считает что инст 10 heroic и спавнит кричера с ид из поля difficulty_entry_1 этого кричера
3) бг запустилось для игроков 80-85 уровней - сервер считает что инст 25 normal и спавнит кричера с ид из поля difficulty_entry_2 этого кричера
не видел тут 50-59 лвлы
Fedia22 вне форума   Ответить с цитированием
Старый 25.05.2010, 20:39   #21
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Это образно.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 25.05.2010, 20:50   #22
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Просто смутило что там только заполнение для entry (как же без него),difficulty_entry_1 и difficulty_entry_2. Посчитал с конца.. вот и вышло. Видимо 70-79 нету, там 70-85

В любом случае это не играет большой роли. Проблема уже решена

А ещё у меня предположения что тут ещё и косяк БД (у меня YTDB 547) - нету заполнения difficulty_entry_3. В dbc 4 сложности (0,1,2,3)

Последний раз редактировалось Insider42; 25.05.2010 в 20:53.
Insider42 вне форума   Ответить с цитированием
Старый 25.05.2010, 20:58   #23
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

В DBC:
Код:
1,30,0,51,60,0,
2,30,1,61,70,1,
3,30,2,71,79,2,
4,30,3,80,85,3,
zergtmn вне форума   Ответить с цитированием
Старый 25.05.2010, 22:03   #24
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Официально максимальный уровень игроков 80.
virusav вне форума   Ответить с цитированием
Старый 26.05.2010, 10:48   #25
Vladimir
MaNGOS Dev
 
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
Vladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небесVladimir Как свет с небес
По умолчанию

близы просто с запасом сделали так как проще единый шаг использовать по 5.
С точки зрения мангосам последний bracket не ограничен по максимуму
__________________
Так как устал объяснять знайте ICQ не пользуюсь
Vladimir вне форума   Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Максимальный уровень на Баттлграундах Bguser Запросы 4 09.08.2010 18:23
Максимальный уровень! Phil1987 Корзина 5 18.06.2010 13:46
[9973] Fixed selection BG map difficulty. newsbot CMaNGOS Commits 0 25.05.2010 16:10
возможно ли сделать максимальный уровень 100? Crang Корзина 9 10.04.2010 11:37


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


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