• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » Хэлп. AuraEffect (Помогите разобраться.)
Хэлп. AuraEffect
theArteL
Скаут
Пожалуйста, помогите разобраться. При работе сервера начинают вылетать какие-то ошибки (я так понял, что то, чего-то не может найти). 

Сообщение # 1 написано 16.07.2018 в 17:16
p620
Маршал
В конфигурации ауры отмечен эффект периодического вызова зависимой способности, однако поле зависимой способности не настроено (стандартное значение '0'). Сервер ругается на то, что не может найти запись о такой способности и, следовательно, вызвать ее. Скорее всего дело в том, что официальное ПО обрабатывает эту ситуацию иначе, нежели неподготовленный к ней эмулятор. Можете изменить код так, чтобы подобное оповещение не выводилось, если ID зависимой способности - 0 (ищете строку по исходникам, оборачиваете ее печать в простейшее условие), но по факту подобные проблемы встречаются даже на 3.3.5, а у Вас, насколько видно из ID способностей, значительно более новая и, как следствие, сырая версия. Исправить же проблему, корректируя поведение способностей "по образцу", у Вас скорее всего не получится.
Сообщение # 2 написано 16.07.2018 в 17:37
Stormtrooper
Командир
Много слов а по делу надо было всего лишь сказать что надо всего лишь найти где в базе или в ядре идёт вызов 0 спелла данными аурами и по wowhead посмотреть какие на самом деле id спеллов должны вызываться и подставить их в базу или в ядро (в данном случае скорее всего в SpellAuras.cpp)
Если помог, ставь плюсик в репу :)

Сообщение # 3 написано 16.07.2018 в 19:15
p620
Маршал
Цитата Stormtrooper ()
Много слов а по делу надо было всего лишь сказать что надо всего лишь найти где в базе или в ядре идёт вызов 0 спелла данными аурами и по wowhead посмотреть какие на самом деле id спеллов должны вызываться и подставить их в базу или в ядро (в данном случае скорее всего в SpellAuras.cpp)

Ваша заносчивость меня забавляет. Ссылка на 0 там скорее всего происходит в результате наличия соответствующего типа ауры (вроде 'SPELL_AURA_PERIODIC_TRIGGER_SPELL'), штатный обработчик которого безусловно попытается вызвать привязанную способность, ID которой указан не был. Вы советуете обратиться к wowhead'у и найти ID вызываемых способностей там. А известно ли Вам, откуда их берет сам wowhead в данном случае? Правильно думаете, из клиентских баз данных. Чувствуете иронию? А теперь отступим на шаг назад: как Вы вообще собираетесь искать эти способности на wowhead, ведь по ID они не бьются. Ну и вишенка на торте. Зачастую зависимые способности будут задавать лишь часть целевой логики, поскольку связующий слой является сценарием ядра (ведь если бы это было не так, все настройки находились бы в самой БД, за неимением нужды размещать их где-то еще), того самого официального ядра, к которому у сообщества, посвященного эмулятору, нет доступа. Теперь, я надеюсь, Вы понимаете, почему я написал именно то, что написал, или желаете продолжить пререкаться и по совместительству выставлять себя в еще более невыгодном свете? Если второе - рекомендую начать с самостоятельного выполнения тех рекомендаций, которые Вы предоставили ТСу относительно любой способности из представленного им же примера (в качестве вступительной любезности упрощу Вам задачу, их там всего три: 83727, 87884, 94003).
Сообщение # 4 отредактировано p620 - Вторник, 17.07.2018, 02:29
Stormtrooper
Командир
Попрошу прекратить умничать и наезжать
Я дал полезный совет
Да в данном случае конкретно этих спеллов на Вовхеде нет - очень жаль, но это не значит что мой совет не верный
Я таким образом кучу спеллов починил
Если бы данные по этим спеллам были то он бы их по моему совету спокойно починил - это просто вопрос наличия информации только и всего
А всё что вы написали - это просто констатация того что спелл обрабатывается не верно - вы не дали ни малейшей наводки или подсказки как (хотябы вероятно) эти ауры можно починить
Хотели показать какой вы умный - ну показали а дальше-то что? это как-то помогло ТСу? Правильно думаете - НИКАК
Что вы сказали ему такого чего он не знает и чего не видно из лога?
Я дал ВЕРНЫЙ совет и как только инфрмация по вызываемым спеллам появится - по моему совету можно будет легко ауры починить так что повторяю - не нужно умничать и наезжать
Если помог, ставь плюсик в репу :)

Сообщение # 5 отредактировано Stormtrooper - Вторник, 17.07.2018, 23:54
p620
Маршал
Цитата Stormtrooper ()
Попрошу прекратить умничать и наезжатьЯ дал полезный совет
Да в данном случае конкретно этих спеллов на Вовхеде нет - очень жаль, но это не значит что мой совет не верный
Я таким образом кучу спеллов починил
Если бы данные по этим спеллам были то он бы их по моему совету спокойно починил - это просто вопрос наличия информации только и всего
А всё что вы написали - это просто констатация того что спелл обрабатывается не верно - вы не дали ни малейшей наводки или подсказки как (хотябы вероятно) эти ауры можно починить
Хотели показать какой вы умный - ну показали а дальше-то что? это как-то помогло ТСу? Правильно думаете - НИКАК
Что вы сказали ему такого чего он не знает и чего не видно из лога?
Я дал ВЕРНЫЙ совет и как только инфрмация по вызываемым спеллам появится - по моему совету можно будет легко ауры починить так что повторяю - не нужно умничать и наезжать
Вам, похоже, нужно еще раз сообщить, откуда wowhead берет свою информацию, и почему в случае ТСа она уже никогда там не появится. Может расскажете, какую такую "кучу" способностей Вы починили, пользуясь информацией, полученной с wowhead'а и отсутствующей в клиентских БД? Да что там, хотя бы один пример приведите. Сдается мне, Вы особо и тему то не читали, и ответ мой, просто, как Вы выражаетесь, "наехать" очень захотелось, да "поумничать", вот и решили проявить себя. А так как ничего дельного Вы добавить, по всей видимости, не смогли, решили воспользоваться "подсказкой, которая вероятно поможет", хотя проверь Вы сами свой совет (что я Вам и порекомендовал сделать), поняли бы, что полезная нагрузка в обоих (теперь уже) Ваших сообщениях в принципе отсутствует. Заключу, пожалуй, что Вы еще и лицемер, раз не следуете своим же правилам "Что вы сказали ему такого чего он не знает и чего не видно из лога?" и откажусь от дальнейшего общения, пока Вы не предоставите доказательства наличия заявленного опыта "починки исключительно по wowhead'у" и не развеете таким образом мое прескверное впечатление о Вас как о разработчике и человеке.
Сообщение # 6 написано 18.07.2018 в 03:22
Stormtrooper
Командир
Ну судя по вашей логике данные ауры никогда пофикшены не будут если в базах оно никогда не сможет появится?
Ведь логично что если разработчики пираток смогут найти верные ID они и в базах появятся - разве нет?
Вы сами себе противоречите - заявляете о том что ваши мега мысли помогают и чего-то стоят но при этом же заявляете что в базах ничего не появится и ID узнать нельзя
Если же вы НЕ считаете что ID узнать нельзя то почему вы считаете что мой совет бесполезен? - проблема-то именно в наличии ID - если они будут то и мой совет решит проблему

Теперь разберём ваш бред в первом посте по косточкам и вы увидите что я его как раз читал в отличие от вас (вы мой ответ явно не читали):

1) В конфигурации ауры отмечен эффект периодического вызова зависимой
способности, однако поле зависимой способности не настроено (стандартное
значение '0').


- в этой строке полезного 0 так как лог ошибки чётко именно это и показывает - для чего озвучивать то что и так видно?

2) Сервер ругается на то, что не может найти запись о такой способности и, следовательно, вызвать ее.

- то же самое что и про первую строку

3) Скорее всего дело в том, что официальное ПО обрабатывает эту ситуацию иначе, нежели неподготовленный к ней эмулятор.

- и тут то же самое только плюс ещё данная строка говорит о том что МОЖНО внести в эмулятор необходимые значения что я и посоветовал сделать ТСу

4) Можете изменить код так, чтобы подобное оповещение не выводилось, если ID
зависимой способности - 0 (ищете строку по исходникам, оборачиваете ее
печать в простейшее условие), но по факту подобные проблемы встречаются
даже на 3.3.5, а у Вас, насколько видно из ID способностей, значительно
более новая и, как следствие, сырая версия.


- данная строка это принцип страуса - "сделай так чтобы сообщение не выводилось" я могу интерпретировать лишь так: убери ошибку с глаз долой и типа её нет
а ошибку не убирать надо а искать её источник и ИСПРАВЛЯТЬ - тогда и лога не будет
информация о том что у него сырая версия бесполезна как и все предыдущие высказывания - ТС и сам это знает


5) Исправить же проблему, корректируя поведение способностей "по образцу", у Вас скорее всего не получится.

- см п 4)
я дал возможное решение которое мне лично помогало не раз - тоесть всё ПОЛУЧИТСЯ при наличии ID вызываемых спеллов


p.s так что кто тут что не читал?
я прошу в дальнейшем не делать утверждений которых вы знать не можете
я вам по полочкам разложил весь ваш ответ

p.p.s p620 прошу вас больше мне не отвечать - общаться с вами у меня больше нет ни малейшего желания.
так же прошу не заходить в мои темы и не отвечать в них

p.p.p.s

Есть такой спелл (да не аура но разница не слишком большая) - 34821 Arcane Flurry
У меня на сервере он был битый - не было триггерных спеллов
Фикс прост:
Зашёл на Wowhead
http://www.wowhead.com/spell=34821/arcane-flurry

Смотрим триггеры:
Apply Aura: Periodically trigger spell
Interval: 1 second
Arcane Flurry

Пишем фикс:
case 34821: // Arcane Flurry fix
spellInfo->Effect[0] = 34826;
break;

То же самое например для фикса периодикал каста Архимонда у дерева в Хиджале

case 39140: // Fix periodical Drain spell Archimonde
spellInfo->Effect[0] = 39142;
break;

Лог ошибки ушёл, триггерный спелл отрабатывает
Удачи
Если помог, ставь плюсик в репу :)

Сообщение # 7 отредактировано Stormtrooper - Среда, 18.07.2018, 15:56
p620
Маршал
Мда-с, а я то думал, что ниже Вам уже не упасть. Ну ничего, Errare humanum est. Отвечаю уже скорее не Вам, Stormtrooper, ибо с Вами уже давно все ясно, а другим пользователям портала, которые могут ошибочно счесть Вас в будущем вменяемым, дабы на Вашем же примере они поняли, как себя вести не следует.
1) Всегда читайте, о чем пишет ТС.
Цитата theArteL ()
Пожалуйста, помогите разобраться. При работе сервера начинают вылетать какие-то ошибки (я так понял, что то, чего-то не может найти).

Мной были предоставлены краткие описания проблемы, вот они:
Цитата p620 ()
В конфигурации ауры отмечен эффект периодического вызова зависимой способности, однако поле зависимой способности не настроено (стандартное значение '0'). Сервер ругается на то, что не может найти запись о такой способности и, следовательно, вызвать ее. Скорее всего дело в том, что официальное ПО обрабатывает эту ситуацию иначе, нежели неподготовленный к ней эмулятор.

Цитата p620 ()
Ссылка на 0 там скорее всего происходит в результате наличия соответствующего типа ауры (вроде 'SPELL_AURA_PERIODIC_TRIGGER_SPELL'), штатный обработчик которого безусловно попытается вызвать привязанную способность, ID которой указан не был.

Да, периодически необходимо повторять уже написанное для закрепления эффекта. Теперь обратите внимание на то, что пишет по этому поводу мой непутевый собеседник:
Цитата Stormtrooper ()
Что вы сказали ему такого чего он не знает и чего не видно из лога?

Цитата Stormtrooper ()
- в этой строке полезного 0 так как лог ошибки чётко именно это и показывает - для чего озвучивать то что и так видно?

Эгоцентризм отдельно взятых личностей порой не может им позволить осознать, что то, что известно им, не обязательно известно всем.
2) Предложите посильное решение, настолько "чистое", насколько это возможно:
Цитата p620 ()
Можете изменить код так, чтобы подобное оповещение не выводилось, если ID зависимой способности - 0 (ищете строку по исходникам, оборачиваете ее печать в простейшее условие), но по факту подобные проблемы встречаются даже на 3.3.5, а у Вас, насколько видно из ID способностей, значительно более новая и, как следствие, сырая версия. Исправить же проблему, корректируя поведение способностей "по образцу", у Вас скорее всего не получится.

Мой собеседник отчасти резонно (причину предоставления именно такого совета я ведь не объяснил) возражает:
Цитата Stormtrooper ()
надо было всего лишь сказать что надо всего лишь найти где в базе или в ядре идёт вызов 0 спелла данными аурами и по wowhead посмотреть какие на самом деле id спеллов должны вызываться и подставить их в базу или в ядро (в данном случае скорее всего в SpellAuras.cpp)

Это совершенно неуместное предложение, поскольку:
2а) Собеседник не понимает, что wowhead берет свои данные по данному вопросу исключительно выписками из клиентских баз данных, а раз ошибка сохраняется с актуальным клиент-серверным решением, значит проблема уже на каком-то другом уровне, соответственно уже известная обеим сторонам информация, пусть и взятая из стороннего источника, никак не поможет.
2б) Собеседник не проверил жизнеспособность собственного предложения. Сделай он это - узнал бы, что ни одна из трех адресуемых ТСом способностей не имеет записи на пресловутом wowhead.
3) Не стоит продолжать спор, порождающий все нарастающие потоки дезинформации только из-за уязвленного самолюбия.
Цитата Stormtrooper ()
Ну судя по вашей логике данные ауры никогда пофикшены не будут если в базах оно никогда не сможет появится?Ведь логично что если разработчики пираток смогут найти верные ID они и в базах появятся - разве нет?

Еще раз: wowhead берет информацию по способностям дампая контент клиентских БД. Я просто не знаю, как еще это переформулировать, чтобы Вам стало ясно. Не появится она никогда там, раз ее уже нет, никаких "разработчиков пираток" wowhead слушать не будет. Вы попытались привести пример того, как Вы починили способности "исключительно по wowhead'у", только проблемка в том, что они и сломаны не были (в местах вызова зависимых способностей, по крайней мере), а если и были - то только у Вас.
Цитата Stormtrooper ()
Есть такой спелл (да не аура но разница не слишком большая) - 34821 Arcane Flurry
У меня на сервере он был битый - не было триггерных спеллов
Фикс прост:
Зашёл на Wowhead
http://www.wowhead.com/spell=34821/arcane-flurry

Смотрим триггеры:
Apply Aura: Periodically trigger spell
Interval: 1 second
Arcane Flurry

Пишем фикс:
case 34821: // Arcane Flurry fix
spellInfo->Effect[0] = 34826;
break;

Цитата Stormtrooper ()
То же самое например для фикса периодикал каста Архимонда у дерева в Хиджале

case 39140: // Fix periodical Drain spell Archimonde
spellInfo->Effect[0] = 39142;
break;

Лог ошибки ушёл, триггерный спелл отрабатывает


А хотите еще вишенку, Stormtrooper?

Если бы Вы были внимательны - убедились бы в отсутствии записи о способности '39142' на wowhead. Видели, как там даже иконка "вопросиком" отображается? А знаете, почему? Потому что зависимая способность в этом примере серверсайдная. Раз ошибка у Вас ушла, значит способность уже была на сервере, выходит, в обоих случаях проблема сводится конкретно к Вашим клиентским данным. Выводы сделаете сами, если способны.
Как итог - Вам удалось не только не разубедить меня в Вашей никчемности, но и еще сильнее закрепить такое представление о Вас в моих глазах. И да, форум не Ваш, так что и не в Ваших силах запретить мне отвечать в созданных Вами темах. Просто представляйте, что оставляя в них сообщения я помогаю не Вам, а всем остальным пользователям портала, которые могли столкнуться с такой же проблемой.
Сообщение # 8 отредактировано p620 - Среда, 18.07.2018, 21:07
kvipka
Сержант
жесть, какие страсти... p620, ты ему только про думми эффекты не рассказывай... сломаешь еще парня  cry

а если по теме, Stormtrooper, то ты не прав, без обид. Как тебе и сказали, wowhead берет данные с клиента, точнее, с аддона, который снифит всю инфу, отправляемую игроком, включая все тригерные спелы и тд. Но Клиентская база (dbc), хоть и очень обширная, но все же не серверная, и потому не полная. Так что информацию о серверных спелах ты там не найдешь никогда. Инфу о них берут со снифов, и то не всегда полную. В связи с чем атрибуты порой выставляют сами, и заносят в sql базу. Не знаю, как уж где, но в тк покрайне мере, грузится сначала spell_dbc и прочее, и затем уже, если есть в самих dbc файлах инфа, то оверрайд на дбц инфу (только для тех, что найдены, серверные же, как написаны, так и будут обрабатываться).
А есть еще думми-эффекты, вот тут вообще только по информации делать. Там может быть что угодно, движение, касты других спелов, выставление флагов, эмоций, чего угодно, что только в голову взбредет, запуск ивентов, скриптов и прочее и прочее.К примеру, у всех спелов в 3.3.5 есть только 3 эффекта. Но если 1 из них думми, то в него можно запихнуть все спелы, что есть в вовке. Эдакий фрост болт-аркан-болт, стан, циклон, чарж... и почти до бесконечности, что придумать можно.
Сообщение # 9 отредактировано kvipka - Среда, 18.07.2018, 21:42
p620
Маршал
Цитата kvipka ()
wowhead берет данные с клиента, точнее, с аддона, который снифит всю инфу, отправляемую игроком, включая все тригерные спелы

Нет, он это делает датамайнингом, так же как и пираты. Сниффается только та информация, которую нельзя забрать из клиентских файлов (конфигурация и расположение НИПов, предметов, объектов, всевозможные таблицы добычи и т.д.). Подробности и подтверждения здесь.
Цитата kvipka ()
Инфу о них берут со снифов, и то не всегда полную.

В том то и проблема, что не берут. Любезный Stormtrooper даже на своем примере это доказал (способность 39142, отмеченная в качестве провоцируемой, не имеет своей страницы на wowhead; как я уже говорил, это в очередной раз свидетельствует о том, что они просто расшифровывают клиентские БД и забирают оттуда то, что могут). По поводу dummy-эффектов (читается "дамми", кстати) - wowhead просто подписывает "Server-side script" и не заморачивается, что, опять же, вписывается в представления об их источниках информации.
Сообщение # 10 отредактировано p620 - Четверг, 19.07.2018, 03:23
Stormtrooper
Командир
просил не отвечать мне но похоже интеллект......ладно не буду продолжать
весь бред перечитывать смысла не вижу - отвечу только про "вишенку" так как этой вишенкой вы закопали себя глубже всего

вы вишенку-то проверили?
да, вопросик на вовхед горит
да, нет страницы этого спелла
НО УКАЗАНИЕ-ТО НА НЕГО ЕСТЬ
и самое важное что мой фикс ПОЧИНИЛ СПЕЛЛ
без этого Архимонд стоял и вообще не кастовал ничего а в логах летела непрерывная ошибка
вы своей опять же псевдоумной писаниной не опровергли мои фиксы - они РАБОТАЮТ
и зачем было всё это писать?
показать что вы умный? не вышло
показать что я не прав? в чём? если фиксы-то работают! тоесть опять не вышло
то что вы делаете называется оффтоп

вобщем ТС сам решит подходит моё решение или нет
я по крайней мере предоставил именно РЕШЕНИЕ а не воду
да ТС выразился так что можно водички налить - пост ради поста
но я предпочитаю ПОМОГАТЬ и давать по возможное РЕШЕНИЕ

p.s по поводу DUMMY эффектов - какое отношение они имеют к теме и к моим фиксам? - подскажу - НИКАКОГО

p.p.s в очередной раз прошу мне не отвечать больше - надоело тратить на вас своё время
ТСу я подсказал так как человеку нужна была ПОМОЩЬ
и кстати - никто из вас умников не предложил ТСу например поискать в крупных репозиториях - может решение-то уже есть - я так много чего нашёл - например фикс спама ошибок тотемов
или хотябы при помощи опять же моего решения вписать в ауру вызов каких-то косметических эффектов (это правда в том случае если сама аура работает нормально но у неё нет визуала - как раз случай с Архимондом)
вы даже ЭТОГО не сделали
Если помог, ставь плюсик в репу :)

Сообщение # 11 отредактировано Stormtrooper - Четверг, 19.07.2018, 13:50
kvipka
Сержант
Цитата Stormtrooper ()
без этого Архимонд стоял и вообще не кастовал ничего а в логах летела непрерывная ошибка

Это означает лишь то, что сами хендлеры аур у тебя работают через одно место. Изначальная логика, в чистом тк работает прекрасно. Ссылки на прок-тригеры работают прекрасно, если ссылка ведет на существующий спел (из клиентской базы).
Если У ТЕБЯ это не работало изначально, то задумайся сам, через какие костыли у тебя все это реализовано (если вообще реализовано).

Цитата Stormtrooper ()
показать что я не прав? в чём? если фиксы-то работают! тоесть опять не вышло

Это мне напоминает, как лет 12 назад, подростками мы фиксили спелы по следующему принципу :
- у меня бабл пробивается всем подряд, че делать будем ?
- хуячь unit->Setflag(UNIT_UNTOUCHABLE)

и в таком духе. Работает? конеееееечно... Это как свой дом красить в темный цвет, методом размазюкиванием говна

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

а насчет
Цитата Stormtrooper ()
вы даже ЭТОГО не сделали

мы уже расписали все подробнейшим образом. Спел банально отсутствует в spell.dbc, а значит информацию о спеле нужно внести в spell_dbc. Посмотреть, что спел ДОЛЖЕН делать и написать его аргументы. Это просто 1 запрос SQL в бд, 1 строчка. Нужно лишь узнать, ЧТО должен делать серверный спел.
Сообщение # 12 отредактировано kvipka - Четверг, 19.07.2018, 18:00
p620
Маршал
Цитата Stormtrooper ()
весь бред перечитывать смысла не вижу - отвечу только про "вишенку"

Надо полагать, это потому, что чуть выше я предоставил доказательства того, что в обоих случаях, о которых Вы так хотели поведать, все зависимые способности были прописаны в "Spell.dbc" и именно поэтому они есть на wowhead, а Ваша проблема была исключительно в битом клиенте, по всей видимости, если записей о них лично у Вас не было (в чем я уже, правда, сомневаюсь, учитывая уровень Вашей вменяемости). В любом случае, я вижу, что спор продолжать бесполезно, поскольку Вы не заинтересованы в установлении истины, за это, надо полагать, следует благодарить Ваши комплексы и завышенную самооценку, которые не позволяют признать правоту собеседника. Минусить Вас смысла не вижу, хотя и мог бы, но оповещение в Вашей репутационной ленте я безусловно оставил.
Сообщение # 13 отредактировано p620 - Четверг, 19.07.2018, 18:06
Stormtrooper
Командир
ноу комментс - 2 раза просил мне не отвечать но ваше эго этого не допускает
поведение школоты......
Если помог, ставь плюсик в репу :)

Сообщение # 14 написано 19.07.2018 в 22:39
Tehnokrat011
Капрал
Ну во-первых, если уж быть беспристрастным, ТС попросил помощи, но не указал ничерта информации, просто "непонятный" лог. Ни версии WoW, ни мало-мальские указания на сборку/компил сервера, ничего ровным счетом нету. Телепаты и экстрасенсы временно в отпуске, какая тут помощь может быть.
Насчет спеллов и вовхеда срач мне тоже не совсем понятен. Вы опять же не указываете, про какие версии WoW вы говорите. Вовхед отображает актуальную информацию, на него не надо ссылаться, если у вас НЕ Legion / BfA. Как уже говорилось ранее, wowhead не аддоном берет данные по спеллам, а берет их из dbc файлов.

Да, сорри за оффтоп, но это вообще за гранью добра и зла.

Цитата
case 39140: // Fix periodical Drain spell Archimonde
spellInfo->Effect[0] = 39142;
break;

Лог ошибки ушёл, триггерный спелл отрабатывает


Вы хоть понимаете, ЧТО вы заменили? Конечно лог ошибки ушел, вы изменили номер эффекта на невалидный и эффект перестал работать. А для клиента ничего не изменилось, он обрабатывает эффекты после общего чтения пакет, так что и визуалка проиграется, и вообще глазу будет незаметно, что спелл с невалидным эффектом. Но по факту спелл не сделает ничего. Если вы здесь опечатались и должно быть EffectTriggerSpell[0] - это другой вопрос, но то, что процитировано - тихий бред.
Disassembling, Intercepting/Hooking, Sniffing, Cryptography, Cracking - D.I.S.C.C )
IDA - is the best disassembler, SoftICE - is good debugger :) ©
Programming, Hacking, Reverse Engineering - is everything!
Да иди ты в ...регистр eax )
The world is not enough....
Сообщение # 15 написано 20.07.2018 в 11:25
Stormtrooper
Командир
Цитата Tehnokrat011 ()
Вы хоть понимаете, ЧТО вы заменили? Конечно лог ошибки ушел, вы изменили номер эффекта на невалидный и эффект перестал работать. А для клиента ничего не изменилось, он обрабатывает эффекты после общего чтения пакет, так что и визуалка проиграется, и вообще глазу будет незаметно, что спелл с невалидным эффектом. Но по факту спелл не сделает ничего. Если вы здесь опечатались и должно быть EffectTriggerSpell[0] - это другой вопрос, но то, что процитировано - тихий бред.


Конечно бред - именно по-этому спелл стал РАБОТАТЬ - (могу продемонстрировать у меня на сервере)
Я ПОНИМАЮ что я заменил - я заменил нулевой (нулевой в смысле эффект номер 0) эффект со значения 0 на значение id 39142
судя по вашей реплике у вас есть доказательство того что он у меня ПЕРЕСТАЛ работать? или того что он невалидный?
Если помог, ставь плюсик в репу :)

Сообщение # 16 написано 22.07.2018 в 18:24
kvipka
Сержант
я правда надеялся, что ты код написал просто "от руки", абы как, как я выше, дабы показать суть, где и как. Без сохранения синтаксиса. Но выходит, ты откровенный ди...дилетант.
число спелэффектов строго ограничено игровым клиентом. Учитывая, что у тебя БК сервер, эффектов еще меньше, чем в 3.3.5.

Вот кол-во эффектов, доступных для 3.3.5 :


Соответственно, как тебе сказали выше, твой спел нихера не работает. Визуально спел кастуется, но его 1-й эффект (0-й в коде (0,1,2)) из 3-х - не работает.
Учи матчасть тогда, и не смущай никого, даже на таком мертвом форуме, как этот.
У тебя ничего там не тригерится, просто не обрабатывается, тк эффект выше 164 (в личе, у тебя меньше), просто игнорируется. Соответственно ничего не обрабатывается, стандартный эффект, который был из дбц, у тебя переписан оверрайдом на несуществующий, а значит и не пытается вызвать тригером спел, которого нет в стандартном дбц. У тебя сервер просто ТУПО ИГНОРИРУЕТ ЦЕЛЫЙ ЭФФЕКТ ИЗ ТРЕХ, и соответственно никаких ошибок тоже нет и не будет.

Наглядно смотри :
спел 39140 Похищение Древа Жизни - визуальный эффект
https://dbwotlk.com/?spell=39140#.

Эффект #1Apply Aura: Periodic Trigger Spell
Интервал: 500 миллисекундах
Serverside - Drain World Tree Dummy

Effect 0: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = 1
Targets (38, 0) (TARGET_UNIT_NEARBY_ENTRY, NO_TARGET)
Aura Id 23 (SPELL_AURA_PERIODIC_TRIGGER_SPELL), value = 1, misc = 0 (0), miscB = 0, periodic = 500
Trigger spell (39142) Not found, Chance = 101

Спел имеет всего 1 эффект из 3-х возможных.
Эффект имеет номер (id) - 6, а именно :
Spell::EffectApplyAura,                                //  6 SPELL_EFFECT_APPLY_AURA

Так вот ты заменил не номер прок-спела, а вот этот самый номер эффекта. Соответственно, тк ты вбил 39142, то это больше чем 164 (ну или сколько там у тебя в бк), то сервер просто скипает обработку этого эффекта.

Соответственно, ты имеешь спел пустышку, с 0 рабочих эффектов из 1-го единственного.
Спел ты починил... да, как боженька просто.
Садись - КОЛ !
Сообщение # 17 отредактировано kvipka - Воскресенье, 22.07.2018, 20:39
Tehnokrat011
Капрал
Он и так бы работал, этот триггер нужен ТОЛЬКО СЕРВЕРУ, я снифал Архимонда и знаю что он делает. Он сумонит виспов и создает красивую сценку. Зачем такое надо? Потому что пираточные "разработчики" не удосуживаются следовать codestyle, а у близов в этом плане все четко. Они не могут исполнять глобальные функции ядра или менять параметры объектов из скриптов, они пользуются серверными спеллами, которые и делают SummonSpecialObject, SetFlag, SetUInt32Value и прочее, и прочее, всю ту помойку, что порой "разработчики" делают прямо в хандлерах эффектов или еще в местах, для этого не предназначенных.

Цитата
Я ПОНИМАЮ что я заменил - я заменил нулевой (нулевой в смысле эффект номер 0) эффект со значения 0 на значение id 39142

Вы вообще ничего не понимаете, без обид.
- вот спелл
Итак, языком ядра
spell->Effect[0] = 6; (SPELL_EFFECT_APPLY_AURA)
spell->EffectApplyAuraName[0] = 23; (SPELL_AURA_PERIODIC_TRIGGER_SPELL)
spell->EffectImplicitTargetA[0] = 38; (TARGET_SCRIPT)
spell->EffectImplicitTargetB[0] = 0; (NO_TARGET)
spell->EffectTriggerSpell[0] = 39142 (Trigger spell: 39142 Not found)

0 - в квадратных скобках, индекс первого эффекта, других эффектов у спелла нету, значит spell->Effect[1] = 0 и все остальное.
А теперь посмотрите, что вы заменили, вы заменили номер эффекта 6 (SPELL_EFFECT_APPLY_AURA) на 39142 - на невалидную хрень. Эффект перестал работать на сервере просто-напросто. А клиенту срать - у него своя DBC, и там номер эффекта нормальный. Плюс у него и так есть SpellVisual - . Ему этого достаточно. Клиенту от этого мусора под названием DBC нужны только визуалки и атрибуты. Остальное сделано просто как база для спелла и клиенту нахрен не нужная.

Цитата
у вас есть доказательство того что он у меня ПЕРЕСТАЛ работать?

А у вас-то есть доказательства, что он не работал без вашего чудо-фикса?
Disassembling, Intercepting/Hooking, Sniffing, Cryptography, Cracking - D.I.S.C.C )
IDA - is the best disassembler, SoftICE - is good debugger :) ©
Programming, Hacking, Reverse Engineering - is everything!
Да иди ты в ...регистр eax )
The world is not enough....
Сообщение # 18 отредактировано Tehnokrat011 - Воскресенье, 22.07.2018, 20:48
Stormtrooper
Командир
Ок Ок - вы все гении я тупой
Только вот неувязочка - Архимонд стоял и до моего фикса ничего не делал ВООБЩЕ а после фикса неожиданно стал кастовать высасывание жизни из дерева.....ну надо же как я удачно сломал
Вобщем дальше кичитесь своими "познаниями" :)))))

p.s РАЗГОВОР ОКОНЧЕН
больше на ваш псевдоумный бред я отвечать смысла не вижу - я всё сказал
вы ТСу помогли? - НЕТ
я ТСу помог? - может да а может нет - я хотябы попытался
КОНЕЦ ИСТОРИИ

Кому надо проверить - скачайте исходники Орегона да посмотрите
Вот как это выглядит у меня и сравните:

вот так у меня
Если помог, ставь плюсик в репу :)

Сообщение # 19 отредактировано Stormtrooper - Воскресенье, 22.07.2018, 21:05
Tehnokrat011
Капрал
Логично - у спелла TARGET_SCRIPT, что предполагает указание ему специального таргета через базу. Обычно это не делается по умолчанию и такие спеллы ВСЕГДА не работают. Сломав спелл на сервере, вы сняли ограничение на цель спелла и получили просто визуалку на клиенте, чего и добивались видимо. НО это грубейший хак и помойка. А псевдонаучный бред - это в основном ваши высказывания. Если не понимаете основных механик работы ядра эмулятора - нечего туда лезть и что-то советовать другим. А ТСу как я выше сказал, помощь не нужна, раз он не собирался делиться информацией.
Disassembling, Intercepting/Hooking, Sniffing, Cryptography, Cracking - D.I.S.C.C )
IDA - is the best disassembler, SoftICE - is good debugger :) ©
Programming, Hacking, Reverse Engineering - is everything!
Да иди ты в ...регистр eax )
The world is not enough....
Сообщение # 20 написано 22.07.2018 в 21:35
Форум » TrinityCore » [TrinityCore] Help » Хэлп. AuraEffect (Помогите разобраться.)
  • Страница 1 из 1
  • 1
Поиск: