Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Обрабатывается Игровая механика - WoW API GetInstanceInfo (определение сложности подземелья)

Упомянутые в теме пользователи:

Показано с 1 по 8 из 8
  1. #1
    Эксперт
    Регистрация
    17.01.2014
    Сообщений
    623
    Поблагодарил(а)
    0
    Получено благодарностей: 98 (сообщений: 59).
    Репутация: 98

    Игровая механика - WoW API GetInstanceInfo (определение сложности подземелья)

    16.10.2015

    С введением в патче 3.2.0 рейдового подземелья "Испытание крестоносца" появились два новых уровня сложности, ранее отсутствовавших в 3.x.x - "10 героич." и "25 героич." (до этого были только "10 игроков" и "25 игроков").
    Далее, с введением в патче 3.3.0 рейдового подземелья "Цитадель Ледяной Короны" появился так называемый динамический уровень сложности, ранее отсутствовавший в 3.x.x. Теперь можно было на ходу менять уровень сложности, подстраиваясь под возможности рейда. При этом он, по сути, оставался всё тем же "10 игроков" и "25 игроков". "Рубиновое святилище", появившееся в патче 3.3.5, работало по такой же схеме.

    Итого, в 3.3.5a было три категории рейдовых подземелий 3.x.x:

    "Склеп Аркавона", "Обсидиановое святилище", "Наксрамас", "Око вечности", "Логово Ониксии", "Ульдуар" - два режима сложности с отдельными кд: "10 игроков" и "25 игроков". При этом некоторые боссы Ульдуара имели так называемые "хард-мод режимы", что никак не отражалось на уровень сложности самого подземелья.
    "Испытание крестоносца" - четыре режима сложности с отдельными кд: "10 игроков", "25 игроков", "10 героич." и "25 героич."
    "Цитадель Ледяной Короны" и "Рубиновое святилище" - два уровня подземелья "10 игроков" и "25 игроков" с отдельными кд и динамической сменой сложности в процессе их прохождения. Итого четыре уровня сложности.

    На wowcircle сложности "Цитадель Ледяной Короны" и "Рубиновое святилище" специфичны, и аналогичны механике "Испытание крестоносца" (отдельные кд на норм и гер. версии, отсутствует динамическая смена сложности и т.д.).

    Теперь, собственно, суть проблемы:

    Для определения сложности подземелья используется функция GetInstanceInfo():

    name, type, difficultyIndex, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, mapID = GetInstanceInfo()

    Скажем, для ИК она выдаёт:

    "Испытание крестоносца" "raid" 1 "10 игроков" 10 0 false
    "Испытание крестоносца" "raid" 2 "25 игроков" 25 0 false
    "Испытание крестоносца" "raid" 3 "10 игроков (героич.)" 10 0 false
    "Испытание крестоносца" "raid" 4 "25 игроков (героич.)" 25 0 false

    что вполне корректно.

    А вот что она выдаёт для РС:

    "Рубиновое святилище" "raid" 1 "10 игроков" 10 0 true
    "Рубиновое святилище" "raid" 2 "25 игроков" 25 0 true
    "Рубиновое святилище" "raid" 3 "10 игроков" 10 1 true
    "Рубиновое святилище" "raid" 4 "25 игроков" 25 1 true

    Однако, если посмотреть описание функции, то можно увидеть:

    In dynamic instances, difficultyIndex will only be 1 for 10man, or 2 25man.
    Т.е. должно быть:

    "Рубиновое святилище" "raid" 1 "10 игроков" 10 0 true
    "Рубиновое святилище" "raid" 2 "25 игроков" 25 0 true
    "Рубиновое святилище" "raid" 1 "10 игроков" 10 1 true
    "Рубиновое святилище" "raid" 2 "25 игроков" 25 1 true

    Собственно, из-за этой, казалось бы небольшой разницы, многие аддоны не понимают, что ЦЛК и РС имеет героич. режим 10 или 25 (нет обработки случаев difficultyIndex == 3 и difficultyIndex == 4)

    Вот, скажем, функция определения сложности инста в DBM'е:

    Код:
    function bossModPrototype:GetDifficulty() 
    	local _, instanceType, difficulty, _, _, playerDifficulty, isDynamicInstance = GetInstanceInfo()
    	if instanceType == "raid" and isDynamicInstance then -- "new" instance (ICC)
    		if difficulty == 1 then -- 10 men
    			return playerDifficulty == 0 and "normal10" or playerDifficulty == 1 and "heroic10" or "unknown"
    		elseif difficulty == 2 then -- 25 men
    			return playerDifficulty == 0 and "normal25" or playerDifficulty == 1 and "heroic25" or "unknown"
    		end
    	else -- support for "old" instances
    		if GetInstanceDifficulty() == 1 then 
    			return (self.modId == "DBM-Party-WotLK" or self.modId == "DBM-Party-BC") and "normal5" or 
    			self.hasHeroic and "normal10" or "heroic10" 
    		elseif GetInstanceDifficulty() == 2 then 
    			return (self.modId == "DBM-Party-WotLK" or self.modId == "DBM-Party-BC") and "heroic5" or 
    			self.hasHeroic and "normal25" or "heroic25" 
    		elseif GetInstanceDifficulty() == 3 then 
    			return "heroic10" 
    		elseif GetInstanceDifficulty() == 4 then 
    			return "heroic25" 
    		end
    	end
    end
    для ЦЛК/РС 10/25 гер возвратит nil, что совсем нехорошо.

  2. 1 пользователь сказал cпасибо Forest Dumb за это полезное сообщение:


  3. #2
    Почетный флудер Аватар для Verona
    Регистрация
    01.01.2012
    Сообщений
    2,417
    Поблагодарил(а)
    22
    Получено благодарностей: 813 (сообщений: 347).
    Репутация: 2905
    Это так происходит за счет того, что у нас разделены кд на об и гер в ЦЛК и РС. Вам проще подкорректировать аддоны, чтобы они не работали с ЦЛК и РС как динамическими сложностями и все будет работать
    http://s020.radikal.ru/i700/1505/f8/b903a4275dfa.png
    Занимаюсь исключительно мирами Logon 3
    Реалмлист: set realmlist logon3.wowcircle.com
    Личный кабинет: http://cp3.wowcircle.com
    Правила игровых миров Logon 3

  4. #3
    Заблокирован
    Регистрация
    06.09.2014
    Сообщений
    668
    Поблагодарил(а)
    364
    Получено благодарностей: 37 (сообщений: 34).
    Репутация: 37
    Если я правильно понимаю ты хочешь сделать как на оффе. Тоесть мы идём в рейд 25 хм убиваем боссов, а потом не можем убить босса в 25 хм, меняем сложность на 25 об убиваем этого же босса, тоесть все убитые боссы в 25 хм не появляются в 25 об, а потом опять ставим 25 хм идём добивать остальных. Будет классно, если честно. Тут получается так. Убил 10 об, потом 10 хм, потом 25 об и 25хм. Так всех твинков одеть можно не дурно. На оффе один проход инста раз в неделю. Тут получается 4 прохода инста на 1 неделю.

  5. #4
    Эксперт
    Регистрация
    17.01.2014
    Сообщений
    623
    Поблагодарил(а)
    0
    Получено благодарностей: 98 (сообщений: 59).
    Репутация: 98
    Цитата Сообщение от Verona Посмотреть сообщение
    Вам проще подкорректировать аддоны, чтобы они не работали с ЦЛК и РС как динамическими сложностями и все будет работать
    Ну костыли присобачить дело нехитрое, мне за державу обидно. ЦЛК/РС и DBM настолько популярны, что починка оного коснётся большинства игроков реалма.

  6. #5
    Гуру Аватар для Justwanttobugreport
    Регистрация
    22.07.2013
    Сообщений
    347
    Поблагодарил(а)
    76
    Получено благодарностей: 22 (сообщений: 21).
    Репутация: 22
    Да ещё такое дело: иногда в гер сложность рейда заходишь, а показует как будто обычка.

    Цитата Сообщение от человекснадва Посмотреть сообщение
    Если я правильно понимаю ты хочешь сделать как на оффе. Тоесть мы идём в рейд 25 хм убиваем боссов, а потом не можем убить босса в 25 хм, меняем сложность на 25 об убиваем этого же босса, тоесть все убитые боссы в 25 хм не появляются в 25 об, а потом опять ставим 25 хм идём добивать остальных. Будет классно, если честно. Тут получается так. Убил 10 об, потом 10 хм, потом 25 об и 25хм. Так всех твинков одеть можно не дурно. На оффе один проход инста раз в неделю. Тут получается 4 прохода инста на 1 неделю.
    Плохо считаешь, тут у нас 4 проноса на данный момент, а при том как ты сказал будет 2 проноса. В своих же мыслях путаешься.

  7. #6
    Welcome to my reality Аватар для Rial
    Регистрация
    12.12.2014
    Сообщений
    947
    Поблагодарил(а)
    424
    Получено благодарностей: 186 (сообщений: 158).
    Репутация: 1186
    Цитата Сообщение от человекснадва Посмотреть сообщение
    Тут получается 4 прохода инста на 1 неделю.
    Мечтать не вредно.
    К примеру: пошли вы рейдом в ЦЛК 25 хм, прошли всех, а Мерзоцида (последний остался, перед личом) не можете. Меняете сложность на 25 об, заходите, и видите только Мерзоцида. Убили его, пошли на Лича. Если не поменяли сложность на 25 хм, то убьете его в 25 об, и хоть меняй сложность 100500 тыщьраз Лич в 25 хм не появится.

    Тестировал на оффе на примере Огненных просторов.

  8. #7
    Заблокирован
    Регистрация
    06.09.2014
    Сообщений
    668
    Поблагодарил(а)
    364
    Получено благодарностей: 37 (сообщений: 34).
    Репутация: 37
    Цитата Сообщение от rial Посмотреть сообщение
    Мечтать не вредно.
    К примеру: пошли вы рейдом в ЦЛК 25 хм, прошли всех, а Мерзоцида (последний остался, перед личом) не можете. Меняете сложность на 25 об, заходите, и видите только Мерзоцида. Убили его, пошли на Лича. Если не поменяли сложность на 25 хм, то убьете его в 25 об, и хоть меняй сложность 100500 тыщьраз Лич в 25 хм не появится.

    Тестировал на оффе на примере Огненных просторов.
    Вот, если так реализуют здесь будет круто. Потому что тут РАЗНЫЕ КД НА ОДИН ИНСТ тоесть об и хм разные кд. Круто будет, если будет одно кд.

  9. #8
    Welcome to my reality Аватар для Rial
    Регистрация
    12.12.2014
    Сообщений
    947
    Поблагодарил(а)
    424
    Получено благодарностей: 186 (сообщений: 158).
    Репутация: 1186
    Цитата Сообщение от человекснадва Посмотреть сообщение
    Вот, если так реализуют здесь будет круто. Потому что тут РАЗНЫЕ КД НА ОДИН ИНСТ тоесть об и хм разные кд. Круто будет, если будет одно кд.
    Согласен.
    Нет возможности протестировать сейчас, но мне даже не приходилось выходить из инста, чтобы поменять сложность.
    Но, к слову, менял я ее не видя босса, поэтому не могу точно сказать, как визуально это отражается.

  10. 2 пользователей сказали cпасибо Rial за это полезное сообщение:

    человексна (30.10.2015),человекснадва (23.10.2015)

Похожие темы

  1. Предупреждение пользователю КаржемелькО: Оскорбления пользователей
    от Инквизитор Вайтмейн в разделе Нарушители форума
    Ответов: 1
    Последнее сообщение: 04.01.2014, 21:05
  2. Ответов: 3
    Последнее сообщение: 17.10.2012, 08:53

Ваши права

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