Xudojnik
Player-
Content count
1042 -
Joined
-
Last visited
Everything posted by Xudojnik
-
Главный вопрос: почему у игроков можно блочить школу магии, а у мобов и петов - нет?
-
Время действия акции: с 12 сентября по 6 октября" Каждый килл подтверждать скрином, где видно комбат лог с записью смерти цели и труп цели. Ваш персонаж в /say должен говорить "Во имя Света!" (над головой должно появиться сообщение) 500 голд тому, кто убьет наибольшее количество ордынских варлоков 50-60 уровня в стартовой локации людей. 300 голд тому варлоку, который первым выложит скрин убийства победителя этого эвента (в период действия акции) Сначала я определю победителя среди убийц, а потом награжу варлока, который его убил. Скрины кидайте в эту тему поштучно. Я потом сам посчитаю.
-
Я понимаю, что это теоретически возможно на оффе. Но у нас это происходит черезчур часто. Вопрос лута в классике начал решаться по умному только с токенов в зг. А когда падают две одинаковые вещи в течение нескольких рейдов, то это довольно неприятно. Есть возможность исключить дубли одной вещи из всех боссов полностью. С технической стороны это будет один сложный запрос или несколько попроще. Применить его нужно будет один раз. Я предусмотрю простую возможность отката до текущего состояния, если решите отказаться от изменения. Не буду предусматривать. Просто укажу названия таблиц, у которых нужно сделать дамп и все. Плюсуем, если вы хотите исключить дубли шмоток из боссов полностью. Если наберется 20 плюсов, я займусь технической частью. Но я никак не могу гарантировать, что все это будет действительно применено.
- 29 replies
-
28
-
Не хотите - как хотите. Я вас что ли должен уговаривать как девушку, чтобы вы сделали сервер немного лучше?
-
То есть ты тоже сделал все через одно место? И каких еще познаний тебе не хватает? Там требуется всего лишь грамотное использование готовых функций в обычном порядке, приправленное условиями. А диффы скинь в личку. Интересно
-
Вы поссориться хотите что ли?Если да, ну валяйте. Если нет, то дайте уже нормальный "ответ кодера" насчет реструктуризации таблиц лута. Близзлайком будете кормить тех, кто не знает как вы фиксы проводите.Заодно и лут геенаса посмотритеТам, правда, ручками нужно выпилить существующий.В предлагаемом варианте из геенаса падает:1 слот кусков т1 так, чтобы орде не падали паланские вещи, а альянсу - шаманские, но всем обязательно 1 штука.1 слот нонсет шмоток общий для всех
-
А ты не кодер что ли?Так если не кодер, может быть стоит забрать свои слова насчет качества кода моего Стратхольма?
-
Я же в первом посте писал: на оффе это было возможно. Но в наших реалиях это принимает совершенно неестественные формы.Невозможно вести спор про близзлайк систему лута, если ни у одной стороны нет доказательств. Почему бы не принять одну модель вместо другой модели, тем более, что: [*]Вся работа уже сделана. [*]Как показывает социальный опрос в первом посте, новая модель считается более удачной, чем старая.
-
Это такие же группы лута, как и другие. Просто у них выставлен специальный атрибут. Вместо двух групп: одной для А, другой для О, получится 4 группы: 2 для А, 2 для О.Там, правда можно немного оптимизировать чтобы получилось: 1 группа - первая половина шапок с паладинской, 1 группа - первая половина шапок с шаманской и 1 группа - вторая половина для всех.Но искать такие группы надо ручками. Лучшее - враг хорошего в данном случае.К кому можно использовать:https://db.valkyrie-wow.org/?npc=10184https://db.valkyrie-wow.org/?npc=15339https://db.valkyrie-wow.org/?npc=10508https://db.valkyrie-wow.org/?npc=9019https://db.valkyrie-wow.org/?npc=10430https://db.valkyrie-wow.org/?npc=10363https://db.valkyrie-wow.org/?npc=12201ZGhttps://db.valkyrie-wow.org/?npc=11382https://db.valkyrie-wow.org/?npc=11380https://db.valkyrie-wow.org/?npc=14834MC:https://db.valkyrie-wow.org/?npc=11982https://db.valkyrie-wow.org/?npc=12057https://db.valkyrie-wow.org/?npc=11502BWLhttps://db.valkyrie-wow.org/?npc=12435https://db.valkyrie-wow.org/?npc=13020https://db.valkyrie-wow.org/?npc=12017https://db.valkyrie-wow.org/?npc=14020https://db.valkyrie-wow.org/?npc=11583У следующих боссов:https://db.valkyrie-wow.org/?npc=12259https://db.valkyrie-wow.org/?npc=12264https://db.valkyrie-wow.org/?npc=12056https://db.valkyrie-wow.org/?npc=11988вообще какой то бред в луте. Куски т1 вместе с рандомным лутом.
-
Скрипт распиливания группы лута немного видоизменился для того, чтобы его можно было использовать из другой процедуры. Его новый вид: И появился скрипт для обработки всех дублирующихся (и троекратных) групп лута. Чтобы использовать, нужно выполнить (в примере - многострадальная Ониксия) CALL RestructureLootOfCreature(10184);В результате каждая из групп лута, которая падает более одного раза за килл, пилится на соответствующее количество частей и слинковывается обратно. Неиспользуемые группы лута удаляются.Например. Было Позиция лута №3 и №4. В каждой одно из: Stormrage Cover, Bloodfang Hood, Netherwind Crown, Halo of Transcendence, Nemesis Skullcap, Dragonstalker's Helm, Helmet of Ten Storms, Judgement Crown, Helm of Wrath. Стало Позиция лута №3. Одно из Stormrage Cover, Bloodfang Hood, Netherwind Crown, Halo of Transcendence. Позиция лута №4. Одно из Nemesis Skullcap, Dragonstalker's Helm, Helmet of Ten Storms, Judgement Crown, Helm of Wrath.
-
На данный момент получилось сделать хранимую процедуру, которая пилит определенную группу лута на определенное количество частей.Пробовал на группах лута, которые повторяются 2 и 3 раза (нет таких групп лута, которые повторяются 4 раза и более) Использовать следующим образом:Сначала выбираем моба и смотрим повторяющиеся группы его лута (в примере 10184 это ониксия): SELECT r.*, l.`Name`FROM creature_template AS l INNER JOIN creature_loot_template AS r ON l.LootId = r.entryWHERE l.Entry = "10184" AND maxcount > 1 AND mincountOrRef < 0 and groupid > 0Получается что то вроде10184 34000 100 1 -34000 2 0 Onyxia10184 34001 100 1 -34001 2 0 Onyxia10184 34002 100 1 -34002 2 0 Onyxia Затем для каждой строчки выписываем пятый столбик (уникальный идентификатор группы) во второй аргумент, а шестой столбик (количество повторений этой группы) в первый аргумент функции.Call SplitLootOfReferenceGroup(2, 34000);Вызываем такую функцию и получаем что то вроде:35045 16900 0 1 1 1 035045 16908 0 1 1 1 035045 16914 0 1 1 1 035045 16921 0 1 1 1 035045 16929 0 1 1 1 035046 16939 0 1 1 1 035046 16947 0 1 1 1 335046 16955 0 1 1 1 435046 16963 0 1 1 1 0 Смотрим на первый столбик и убеждаемся, что все распилилось поровну (насколько это возможно для нечетного количества предметов) Осталось теперь связать новые данные с лутом моба и все. Скорее всего я оставлю это в виде хранимых процедур, которые можно вызвать для конкретных мобов. Боссов (в форматах базы данных) на самом деле не так уж много и проще применить к каждому, чем вычислять возможные сторонние эффекты применения функции, которая затронет сразу ВСЕХ мобов.
-
Я просто реструктуризирую лут так, чтобы он не дублировался. Это правка немного другого характера и шанс выпадения я оставлю такой, какой он есть сейчас.Ну и к тому же: проценты это штука, которая определяется политикой партии. А с политикой вы уж сами как-нибудь разбирайтесь.По этому поводу могу только посоветовать. Не поленитесь и напишите новую табличку лута для каждого босса, с процентами которого не все в порядке. Потому что анализировать: какие итемы у босса "общие" с другим, а какие - нет. - получится дольше, чем править.Имея на руках такие таблички, можно уже разговаривать: какой шанс повысить, а какой - понизить, чтобы допустить это до реальной базы.
-
Как собрать пати в низкоуровневое подземелье.
Xudojnik replied to hawkkor's topic in Классовая механика
Мне вот интересно: а сейчас собирается какая-нибудь статистика по использованию ПП? -
Кэп намекает что это для патронов.
-
Чтобы получить 500 г нужно всего лишь дважды убить варлока в стартовой локации.А чтобы получить 300 г нужно убить там Мопака.
-
ДДметр разве не умеет?
-
А кто тебе сказал, что твой голос зачелся все 4 раза?
-
Давай я тебе как тупому студенту объясню:- Разные шмотки могут иметь разные инчанты. - Вещи у которых впереди написано "Buccaneer" и "Greenweave" это разные шмотки.
-
Это не стартовая локация хуманов. Я не вижу ни твоего ника, ни ников твоих жертв.
-
https://db.valkyrie-wow.org/?item=14173 с +9 fire spd не существует. Но 3 из 100 (3%) таких поясов будут иметь +7 fire spd - максимальное для него. https://db.valkyrie-wow.org/?item=14167 c +7 fire spd тоже не существует. 3.65 из 100 (3%) таких поясов будут с +6 fire spd Даггеры, на которых может быть +6 fire spd: https://db.valkyrie-wow.org/?item=2819 (0.98%) https://db.valkyrie-wow.org/?item=15242 (0.98%) https://db.valkyrie-wow.org/?item=15241 (1.5%) Честов с +11 fire spd не существует вообще на https://db.valkyrie-wow.org/?item=14175 вообще не бывает fire spd на https://db.valkyrie-wow.org/?item=14133 вообще не бывает fire spd на https://db.valkyrie-wow.org/?item=14121 вообще не бывает fire spd на https://db.valkyrie-wow.org/?item=6536 вообще не бывает fire spd За 20г расскажу существует ли такой вариант итема например "есть ли на https://db.valkyrie-wow.org/?item=14175 +20 стамины" За 50г расскажу какой наилучший вариант определенного итема с похожим инчантом можно найти например "какой максимум +стамины есть на https://db.valkyrie-wow.org/?item=14175" за 50г расскажу на каких итемах можно найти определенный вариант статов например "на каких итемах есть +11 шадоу спд"
-
Это изначально предусмотрено в мангосе. Насколько я помню, мобам можно выставить свойство "иммунить интеррапты". Если боссу будет выставлено такое свойство, то он просто заиммунит спелл (и эффект блока школы не наложится).
-
Там не "кулдаун" на самом деле, а время до которого нельзя юзать школу.Отличия от игроков в том, что у игроков просматриваются выученные спеллы и накидываются им кд. Но не все мобы, которые умеют кастить, "знают" то что они кастят (привет скриптовка на с++). Поэтому сделал дополнительную мапу только для школ.А проверку поместил в самый корень функции каста вместе с другими проверками кулдаунов.Возможно некоторые мобы (у которых скриптовка на с++ и прямой вызов каста без всяких проверок) все же будут класть болт на блок школы. Но тут уже половые трудности этих самых мобов.
-
Еще примерно час ушел на формулировку задачи и еще два часа на реализацию и тестирование.Тестировал на1) каком то мобе в Монастыре, который постоянно спамил шадоуболты2) втором персонаже.3) на втором персонаже с импом-пулеметчиком.Для прерывания кастов юзал маговский кс.В первом случае в дебаге наблюдал как все попытки моба фейлились в течение положенных 10 секунд после успешного прерывания спелла (т.е. задача выполнена)Во втором случае в дебаге наблюдал как вызовы ProhibitSpellSchool корректно уходили по своему обычному пути в Player.cpp (т.е. ничего другого не сломано)В третьем случае при успешном прерывании каста импа, он на 10 секунд прекращал пулять фаирболы и переходил в рукопашную. По истечении 10 секунд снова начинал пулять фаирболы. Вот только у варлока не было видно того, что имп получил кулдаун на школу.Всего добавлено примерно 30-40 строк кода. Никакого коренного переписывания спеллсистемы не надо.Нужно банально:* организовать хранение кулдаунов на школу у юнитов* переопредилить ProhibitSpellSchool для Creature* добавить проверку на кулдаун школы при попытке кастовать спеллCreature.cpp Creature.h Unit.cpp Unit.h Spell.cpp
- 11 replies
-
14
