• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » Патчи / Моды / Фиксы для Trinity » Спелопедия (Мануал по созданию Спелов.)
Спелопедия
VaShUe28t
Скаут
в описаниях спелов наносимого урона/продолжительности спела стоят переменые $s $d и так далее
где можно получить полный список этих переменых и формулы расчета значений? т.е. из каких столбцов брать значения и т.д.

к примеру вместо $d взял соответствующее значение из SpellDuration/1000 но оно не совпадает с тем что показано в игре..

Общий ответ

Это практически в любой среде програмирования есть. Используется до вывода форматированного текста. $s - это выведет в данном месте значение переменной строкового типа, $d - это выведет в данном месте значение переменной числового типа.

К примеру: Нам нужно выводить различные строки, но не собирать же их по кускам.
$lang[welcome] = "Добро пожаловать %s!"; // на русском
$lang[welcome] = "Welcome %s!"; // на английском

$lang[today] = "Сегодня: %s!"; // на русском
$lang[today] = "Today: %s!"; // на английском

А потом ты просто выводишь ее выводишь.
printf($lang[welcome], $USER_NAME); или printf($lang[today], date("формат выводимой даты"));

Ответ на примере MaNGOS

Поле 28=28 SpellDuration ($d) DBC (индекс времени действия спелла. Посмотреть значения времени для каждого индекса можно в файле SpellDuration.dbc )
Поле 73=73 EffectBaseDamage[1] ($s1) (первый урон)
Поле 74=74 EffectBaseDamage[2] ($s2) (второй урон)
Поле 75=75 EffectBaseDamage[3] ($s3) (третий урон)

причем значения урона из дбцшки на 1 меньше игрового

Немного о структуре спеллов. Есть файл - Spell.dbc. Он является базой данных. В каждой строке (спелле) хранятся в определённых столбцах значения, характеризующие все свойства спеллов, в частности, название, описание, эффект, время каста, кулдаун и т.д. Он подгружается на сервер при загрузке. Здесь начинается одна из главных ошибок новичков - они часто спрашивают "Почему в spell.dbc изначально стоят неправильные значения?". Правильный ответ - так стоят правильные значения. Дело в том, что в этом файле хранятся лишь номера эффектов, аур и т.д. А вот как они обрабатываются на сервере - это уже совершенно другой вопрос. Примерно половина функций не работает (в этом можно убедиться, если посмотреть файл defines.scp сервера). Примерно в середине будет список эффектов и аур, там же должна быть отметка // done напротив работающего эффекта. Только к сожалению информация там верна только на 95%, так, некоторые эффекты на самом деле работают, а отметки нет). Зачем же тогда править Spell.dbc, если там всё итак верно, спросите вы. И будете правы, это извращение. Но этим извращением можно исправить довольно много спеллов ) В частности, прописать им не совсем верные свойства, но близкие к реальности. Например, для неработающих станов прописать свойство корней, тогда они хоть как-то будут работать и т.д. По этой же причине в Spell.dbc нельзя "исправить" все спеллы. Поэтому не нужно писать слёзных тем на форуме типа "А почему у рогов ничего не фиксят ((". Просто видимо пока не найден способ "обмануть" сервер и заставить яды работать )

Разумеется, чтобы заниматься правкой спеллов, нам понадобятся какие-то программы. Я лично использую для этого две: DbcEditor и DbcPatcher. Первая - программа для просмотра текущих значений Spell.dbc. Не самая удобная прога (нет поиска и т.д.), но всё же ) Вторая - программа для изменения. Чем она удобна: составляется текстовый файл со списком изменений. Затем программа добавляет указанные в файле изменения (и только их) в Spell.dbc. Если например апдейт вышел неудачный (а представьте что до этого апдейтов было уже около сотни), то достаточно достать предварительно сохранённый в другом месте Spell.dbc, убрать из текстового файла неудачный апдейт, и снова запустить программу. Экономится довольно много времени.
Есть и другие полезные программы типа Dbc<->Csv, которую написал Nneonnneo, насколько я помню. Но у них есть свои минусы.

Кроме непосредственно самих программ, полезно иметь и некоторые файлы. Уже указанный defines.scp, я думаю, есть у всех, у кого есть сам эмулятор. Если нет - то пора бы уже скачать )) Полезен файл spell150.txt, в котором хранятся названия спеллов и их идентификаторы (там же ссылки на триггер-спеллы и т.д.) Уже не помню где я его скачал, Для начинающих будет полезен также довольно старый патч Flame с dedicated-server.ru - Какой-никакой пример )

Рассмотрим ещё небольшой довольно удобный аспект, а именно сайт thottbot.com. Чем он может быть полезен нам? Тем, что там хранится инфа о спеллах - названия, идентификаторы, описания, плюс указаны значения эффектов и аур, что также немаловажно. Иногда чем искать в spell150.txt, проще зайти на тоттбот и найти всю инфу о требуемом спелле там.

=================================

Ближе к делу - кратко об основных свойствах (столбцах) Spell.dbc. Полный список можно найти внизу мануала, здесь же я только перечислю главные.

--> Пожалуй, основными являются столбцы 58, 59 и 60 - столбцы эффекта спелла. Как видно - их всего три. Т.е. сделать больше трёх различных эффектов с помощью одного спелла не получится (но можно задействовать другой спелл триггером или через tcl например). Эффекты совершенно не зависят друг от друга. Т.е. можно заставить спелл и атаковать цель, и лечить её ) Значения для эффектов можно найти всё в том же defines.scp в разделе #define SPELL_EFFECT. Например, для лечения (#define SPELL_EFFECT_HEAL 10 //done) это значение 10 (здесь же мы видим, что данная функция поддерживается эмулятором). Значит, число 10 нужно поставить в любой из трёх столбцов для эффектов. Совершенно не важно в какой, однако нужно запомнить его номер, т.к. дальнейшие свойства для этого нужно прописывать в других столбцах в чёткой последовательности. Если мы хотим, чтобы эффектом было наложение ауры (#define SPELL_EFFECT_APPLY_AURA 6 //done) нужно поставить это значение, например, в столбец 58.
Подробнее об эффектах я расскажу в примерах.

--> Плавно (или не очень) перешли к следующим столбцам 88, 89 и 90 - столбцам аур. Здесь похожая ситуация - значения и названия аур берём всё в том же defines.scp. Может быть наложено до трёх различных аур (если все значения 58, 59 и 60 столбцов равны шести). Но здесь уже важное указание - номер ауры должен быть в "правильном" столбце. Что это значит – например, столбец 58 был занят других эффектом, а уже 59м мы решили сделать ауру. Так вот, прописывать номер ауры нужно теперь будет в столбце 89 (а не 88 или 90). Почему? Потому что как я уже указывал выше, идёт чёткое распределение по трём эффектам. Если например пронумеровать эффект столбца 58 цифрой 1, 59 - 2, 60 - 3, то логично что ауру нужно указывать для соответствующего номера (т.е. в нашем случае мы используем эффект номер 2, а это столбец номер 89). Может быть довольно запутанно объяснил, но лучше не могу )) Подробнее ещё рассмотрим. Пока же отмечу, что такое же чёткое распределение на три эффекта будет действовать для многих других полей, как например поля значения, поля цели и т.д.

--> Предположим мы задали в эффекте нанести урон по цели. Какой же именно урон будет нанесён? За это отвечают столбцы значения - 73, 74 и 75. Видим, что и тут их три. И тут нужно соблюдать распределение по трём эффектам (т.е. эффекту 60 будет соответствовать значение столбца 75). Предположим, что мы хотим сделать значения урона (хила, уменьшение скорости и т.д. не суть важно) равным 50. Что надо для этого сделать? Поставить, например, в поле 73 значение 50 скажете вы. И будете правы, но не совсем. Дело в том, что отсчёт значений начинается с нуля, поэтому значение нужно ставить на единицу меньше, чем нужно. То есть, для нашего примера, 49. Это же сохраняется и для отрицательных значений, например вместо -50 точнее будет поставить -51.

В общем-то, самые основные столбцы мы разобрали. Без них не обойдётся ни один спелл. Но часто может потребовать менять следующие столбцы (в порядке увеличения порядка):

--> 6 и 7 - атрибуты спелла. Честно, я в них не разбираюсь. Беру всегда по аналогии с похожим спеллом.
--> 16 - индекс времени каста спелла. Заметьте, именно индекс, а не конкретное время. Список индексов для разных значений времени можно найти в файле SpellCastTimes.dbc.
--> 18 - значение кулдауна спелла в миллисекундах. К сожалению, простое его изменение не повлияет на работу спелла. Пока слабо разработан процесс изменения кулдауна, но его можно найти в примере о Power Word:Shield.
--> 19 - флаги для прерывания спелла. Поставьте значение 0, и инстант-спелл не будет прерываться никогда (даже при беге).
--> 20 - флаги для прерывания ауры.
--> 22 - флаги для выполнения триггерного спелла или урона. Опять же нужно смотреть похожие спеллы, чтобы понять какое значение ставить. Например, флаг для срабатывания триггера при ударе по игроку - 1049602.
--> 23 - шанс срабатывания спелла (в процентах). Полезно для печатей паладина и т.д.
--> 24 - количество зарядов у спелла (например, у шаманвского Lightning Shield 24=3).
--> 28 - индекс времени действия спелла. Посмотреть значения времени для каждого индекса можно в файле SpellDuration.dbc
--> 29 - тип "маны", который будет требоваться для спелла. Берётся из defines.scp. Для маны - 0, для ярости - 1, для энергии - 3.
--> 30 - значение требуемой "маны". Заметьте, что если тип - ярость, то значение нужно увеличить в 10 раз, т.е. чтобы спелл требовал 10 ярости, надо ставить 30=100.
--> 34 - индекс радиуса, в котором должна находиться цель. Конкретные значения можно найти ниже в примечаниях.
--> 61, 62, 63 - три столбца для разницы между минимальных и максимальным значением эффекта (т.е. в столбце, например, 73 стоит минимальное значение урона, тогда максимальное равно сумме значений в столбцах 61 и 73).
--> 79, 80, 81 - три столбца для выбора нужных целей при спелле (для каждого эффекта можно ставить своё значение). Играет важную роль при AoE-спеллах. Например чтобы эффект из столбца 58 работал только на врагов, ставим 79=6.
--> 91, 92, 93 - допольнительная информация об эффектах. Например ,в милисекундах ставиться значения перерыва между действиями перидоческих хилов, урона и т.д.
--> 103, 104, 105 - опять дополнительная информация об эффектах. Здесь может стоять информация о типе Shapeshift, о виде брони которую мы меняем спеллом (просто это броня или резисты магии) и т.д. Полезно разбирать похожие спеллы, чтобы разобраться, что и как.
--> 153 - процентное требование "маны" (действует и на ярость, и на энергию, и т.п.).

=================================

Ну хватит теории, перейдём к практике - к примерам некоторых спеллов. Сразу отмечу, что в примерах будет показываться только первый ранг спелла. Остальные можно сделать по аналогии. Это всё-таки не склад фиксов, а лишь небольшой самоучитель )

1) Заставим Sinister Strike у рога наносить 100% урона оружием плюс дополнительный урон.
Перво-наперво ищем ID спелла - можно в spell150.txt, можно на тоттботе. Нашли для первого ранга - 1752.
Сначала сделаем дополнительный урон. В defines.scp #define SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL 17. Ставим 58=17. Конкретное значение урона - 3, значит нужно поставить 73=2 (не забываем про отсчёт с нуля).
Теперь урон оружием. Открываем defines.scp и видим #define SPELL_EFFECT_WEAPON_PERCENT_DAMAGE 31. Пусть вам не смущает возможное отсутствие надписи // done. Про это уже писалось. Да и функция на 100% не реализована верно на самом деле Но обратно к спеллу. Столбец 58 мы уже заняли, столбец 59 занят добавлением комбо очка (полезно перед апдейтом спелла всегда проверять его эффекты заранее). Но столбце 60 свободен от "полезных" эффектов. Значит, ставим 60=31. Теперь конкретное значение - мы хотим 100%. Ставим 75=99.
Итого получили готовое решение: 1752:58=17,73=2,60=31,75=99.

2) Заставим Kidney Shot станить врага. Сам по себе стан не работает, но можно сделать небольшую имитацию. Можно поставить эффект от корней (обездвиживание игроков, полный стан для мобов). Плюс недавно появилась возможность не давать игрокам юзать скиллы.

ID спелла - 408.
Эффект ауры корней - ищем в defines.scp нужный номер (#define SPELL_AURA_MOD_ROOT 26). Не забываем поставить эффект ауры. Итого получим 59=6,89=26 (на первый эффект 58 пока оставим место).
Теперь запретим юзать игроку скиллы - делается это посредством невидимой трансформации игрока в форму для путешествий (Travel Form) у друида. Естественно, скорость не будем увеличивать Итак, реализуем. В столбце 58 уже стоит эффект ауры, так что менять не надо. Ставим нужный номер ауры (#define SPELL_AURA_MOD_SHAPESHIFT 36). 88=36. В строке значения от эффекта должно стоять нулевое значение. То есть ставим 73=-1 (надеюсь, поняли почему). Чтобы указать какой именно ShapeShift должен произойти, используем дополнительные свойства - столбец 103. Прописываем ему значение 3: 103=3. Почему? Можно увидеть в том же defines.scp - #define SHAPESHIFT_FORM_TRAVEL 3.
Если теперь потестировать, то увидим, что спелл действует очень долго, намного дольше, чем следует. Поэтому воспользуемся столбцом 28 (время действия) для корректировки. Поставим там значение одной секунды (в зависимости от комбо-очков оно будет самостоятельно увеличиваться, больше ничего исправлять не надо). Ищем значение индекса в файле SpellDuration.dbc. Находим - 28=285.
Итого: 408:59=6,73=-1,88=36,103=3,89=26,28=285

3) Заставим Берсерк Станс давать +3% крита, а заодно уменьшать броню на 1000 (не совсем верно, но всё же).
ID спелла - 2458.
Рассматриваем спелл – видим, что использован только один эффект - 58, на собственно само превращение. Значит, два других свободны, как раз то, что нам нужно.
Эффект накладывания аур: 59=6,60=6.
Сначала крит. Ищем номер - #define SPELL_AURA_MOD_CRIT_PERCENT 52 => 89=52. Сколько добавить: 74=3. Вы можете удивиться - отсчёт же идёт с нуля. Почему тогда не 2? Да, я тоже удивился )) Но почему-то нужно ставить именно 3 в этом случае.
Теперь броня. #define SPELL_AURA_MOD_RESISTANCE 22 => 90=22. Сколько добавить: 75=-1001. Думаю, вы заметили, что в названии эффекта ауры есть слово resistance. В соотв. столбце дополнительной информации об эффекте (диапазон 103-105) ставится номер резиста. Для брони на всякий случай поставим 105=0. Если бы например меняли Holy резист, то поставили бы 105=1. Соотв. значения для резистов можно опять же найти в defines.scp
Итого: 2458:59=6,60=6,89=52,74=3,90=22,75=-1001,105=0.

4) Заставим Adrenaline Rush регенить 20 энергии каждую секунду.
ID спелла - 13750.
Рассматриваем спелл. Используется один эффект (#define SPELL_AURA_MOD_POWER_REGEN 85). Хотя и отмечено, что он работает, это не так ) Соотвественно можно смело убирать этот эффект, и вместо него поставить свой.
Т.к. аура итак накладывается, 58й столбец можно не менять. Зато изменим 88, дав ему нужное нам значение (#define SPELL_AURA_PERIODIC_ENERGIZE 24). 88=24. Ну и пропишем, сколько энергии регенить - 74=19.
Теперь пропишем, что период спелла равен одной секунде (т.е. разрыв между периодическими действиями составляет секунду). За это отвечает столбец 91 (или 92, или 93 для соответствующих эффектов). Ставим 91=1000 (в милисекундах)
Итого: 13750:88=24,74=19,91=1000.

5) Заставим Retribution Aura работать хотя бы на самого паладина. Кракто - после удара по паладину враг должен сам получать XX холи урона.
ID первого ранга - 7294.
Навесим на всякий случай 58=6. Ищем подходящий эффект ауры. Находим - #define SPELL_AURA_PROC_TRIGGER_DAMAGE 43 (т.е. по какому-то событию будет наноситься урон). Ставим 89=43. Сколько урона будет наноситься проставлять отдельно не надо, в столбце 73 уже всё есть. ID события нужно поставить в столбец 22 (Field 22=procFlags). Что поставить? На помощь приходят уже работающие похожие спеллы, я лично смотрел на примере Lightning Shield у шамана. Итак, ставим 22=1049602. Хотя работать это будет только на самого паладина, но на всякий случай поставим 82=10 (это есть индекс радиуса действия спелла. В нашем случае, это 40 ярдов) и 85=0 (обнулим EffectApplyAuraName).
А заодно поставим и время действия ауры (т.к. на эмуляторе пока можно накладывать подряд сколько угодно аур). Например, 10 минут. Смотрим SpellDuration.dbc и ставим 28=16.
Итого: 7294:58=6,89=43,22=1049602,82=10,85=0,28=16.

6) Заставим Seal of Justice с 30%ным шансом станить врага после удара по нему.
ID спелла - 20164.
Внимательно изучив спелл, придём к выводу, что с ним всё в порядке. А именно вызывается триггерный спелл (#define SPELL_AURA_PROC_TRIGGER_SPELL 42), с нормальными условиями вызова и т.д. Единственная проблема - вызывается спелл при каждом ударе. Но это легко исправить с помощью столбца 23 (procChance). Ставим 23=30.
Вся проблема в спелле, который он вызывает. Нетрудно разобраться, что это спелл 20170. Именно на него возложена почётная обязанность стана. Механизм починки стана уже рассмотрен в спелле Kidney Shot. Здесь лишь кратко продублируем: 73=-1,88=36,103=3,89=26.
Итого:
20164:23=30
20170:73=-1,88=36,103=3,89=26.

7) Заставим Remove Lesser Curse кастоваться на бегу.
Тут ничего сложного. ID - 475. Свойства прерывания каста в столбце 19. Чтобы каст не прерывался при беге, ставим нулевое значение. Итого 475:19=0. Если хотите наоборот прерывания при беге, то нужно поставить 19=8.

8. Отключим совсем спелл Death Touch (который частенько используют читеры).
На самом деле достаточно просто обнулить столбцы эффекта - 5:58=0,59=0,60=0. Можно попробовать поиздеваться над читерами ) Например поставить требование на 100 маны (29=0, 30=100), требование на 100 "счастья" (happiness), которого ни у кого из чаров нет (29=4,30=100). Можно снимать 1000 хп (т.е. требовать их при касте - 29=-2,30=1000). Можно заставлять спелл хилить и т.д. Дело за вами.

9) Заставим Resurrection требовать 35% общей маны, вместо 70. Дело в том, что на оффициале требуется 70%, но не общей маны, а базовой, т.е. родной, не зависящей от вещей. У нас увы так сделать нельзя. Но можно просто сделать стоимость меньше.
Ищем ID (2006) и используем столбце 153 - 2006:153=35.

10) Заставим Divine Shield у паладина асорбить физический урон и резистить магический.
ID первого ранга - 642.
Будем использовать эффект номер 1, т.к. он собственно тем же и занят, но немного не в той форме, что нам хотелось бы )
Поехали: аура уже стоит, осталось изменить её номер. Ищем нужный - #define SPELL_AURA_SCHOOL_ABSORB 69. Ставим 88=69. Далее сколько урона нужно заблочить. Тут уже дело за вами, ставьте столько, сколько считаете нужным. Например, 100 тысяч. Вряд ли кто-то успеет нанести паладину столько урона за 10 или сколько там секунд. Итак: 73=100000 (можно конечно учесть, что отсчёт идёт с нуля, но здесь это не играет существенной роли). Если оставить всё так, то методом проб поймём, что с физическим уроном всё нормальный, а вот магический, увы, проходит на ура. К счастью можно подправить свойства спелла: 6=537198592,7=32768. Нашёл на каком-то форуме ) Вероятно автор проверял другие похожие спеллы (например Power Word:Shield) и обнаружил такие свойства.
Итого получили: 642:88=69,73=100000,6=537198592,7=32768.

На этом я думаю можно остановиться ) Нужны будут ещё какие-то конкретные примеры - пишите. Коментарии приветствуются

=================================

Как развивать понимание правки спеллов - смотрите уже готовые решения, благо многие их выкладывают на показ (не все, правда). Пробуйте "творить сами". Изучайте структуру разных спеллов в Spell.dbc. Изучайте defines.scp на различные эффекты. Постоянно посещайте форумы, посвящённые этому делу. Там можно и найти соучастников, и увидеть новые фиксы и т.д.

=================================

Ну и в примечании, как и обещал, обозначения большинства колонок в Spell.dbc и радиусы действия спеллов в более доступном формате (нагло содрано с Близзхакеров ).

Field 0=0 Spell ID
Field 1=1 School
Field 2=2 Category
Field 3=3
Field 4=4 SpellDispellTypeID.dbc
Field 5=5 SpellMechanicID.dbc
Field 6=6 Attributes * New
Field 7=7 AttributesEx * New
Field 8=8
Field 9=9
Field 10=10
Field 11=11 Targets
Field 12=12 TargetCreatureType
Field 13=13 SpellFocusObjectID.dbc
Field 14=14 CasterAuraState *New
Field 15=15 TargetAuraState *NEw
Field 16=16 RecoveryTime
Field 17=17 CategoryRecoveryTime
Field 18=18 CategoryRecoveryTime *New
Field 19=19 InterruptFlags *New
Field 20=20 AuraInterruptFlags *New
Field 21=21 ChannelInterruptFlags *New
Field 22=22 ProcFlags
Field 23=23 ProcChance $h
Field 24=24 ProcCharges $n
Field 25=25 MaxLevel
Field 26=26 BaseLevel
Field 27=27 SpellLevel
Field 28=28 SpellDuration ($d) DBC
Field 29=29 PowerType
Field 30=30 ManaCosts
Field 31=31 ManaCostPerlevel
Field 32=32 ManaPerSecond
Field 33=33 ManaPerSecondPerLevel
Field 34=34 Spell Range Index
Field 35=35 Speed
Field 36=36 ModalNextSpell
Field 37=37
Field 38=38 Totem [1]
Field 39=39 Totem {2]
Field 40=40 Reagent[1]
Field 41=41 Reagent[2]
Field 42=42 Reagent[3]
Field 43=43 Reagent[4]
Field 44=44 Reagent[5]
Field 45=45 Reagent[6]
Field 46=46 Reagent[7]
Field 47=47 Reagent[8]
Field 48=48 ReagentCount[1]
Field 49=49 ReagentCount[2]
Field 50=50 ReagentCount[3]
Field 51=51 ReagentCount[4]
Field 52=52 ReagentCount[5]
Field 53=53 ReagentCount[6]
Field 54=54 ReagentCount[7]
Field 55=55 ReagentCount[8]
Field 56=56 EquippedItemClass
Field 57=57 EquippedItemSubClass
Field 58=58 Spell Effect[1] ($M1)
Field 59=59 Spell Effect[2] ($M2)
Field 60=60 Spell Effect[3] ($M3)
Field 61=61 EffectDieSides[1]
Field 62=62 EffectDieSides[2]
Field 63=63 EffectDieSides[3]
Field 64=64 EffectBaseDice[1]
Field 65=65 EffectBaseDice[2]
Field 66=66 EffectBaseDice[3]
Field 67=67 EffectDicePerLevel[1]
Field 68=68 EffectDicePerLevel[2]
Field 69=69 EffectDicePerLevel[3]
Field 70=70 EffectRealPointsPerLevel[1]
Field 71=71 EffectRealPointsPerLevel[2]
Field 72=72 EffectRealPointsPerLevel[3]
Field 73=73 EffectBaseDamage[1] ($s1)
Field 74=74 EffectBaseDamage[2] ($s2)
Field 75=75 EffectBaseDamage[3] ($s3)
Field 76=76 EffectImplicitTargetA[1]
Field 77=77 EffectImplicitTargetA[2]
Field 78=78 EffectImplicitTargetA[3]
Field 79=79 EffectImplicitTargetB[1]
Field 80=80 EffectImplicitTargetB[2]
Field 81=81 EffectImplicitTargetB[3]
Field 82=82 EffectImplicitTargetB[1]
Field 83=83 EffectImplicitTargetB[2]
Field 84=84 EffectImplicitTargetB[3]
Field 85=85 EffectRadiusIndex[1]
Field 86=86 EffectRadiusIndex[2]
Field 87=87 EffectRadiusIndex[3]
Field 88=88 EffectApplyAuraName[1]
Field 89=89 EffectApplyAuraName[2]
Field 90=90 EffectApplyAuraName[3]
Field 91=91 EffectAmplitude[1]
Field 92=92 EffectAmplitude[2]
Field 93=93 EffectAmplitude[3]
Field 94=94 Effectunknown[1]
Field 95=95 Effectunknown[2]
Field 96=96 Effectunknown[3]
Field 97=97 EffectChainTarget[1]
Field 98=98 EffectChainTarget[2]
Field 99=99 EffectChainTarget[3]
Field 100=100 EffectItemType[1]
Field 101=101 EffectItemType[2]
Field 102=102 EffectItemType[3]
Field 103=103 Spell 1 (creature etc)
Field 104=104 Spell 2 (creature etc)
Field 105=105 Spell 3 (creature etc)
Field 106=106 EffectTriggerSpell[1]
Field 107=107 EffectTriggerSpell[2]
Field 108=108 EffectTriggerSpell[3]
Field 109=109 EffectPointsPerComboPoint[1]
Field 110=110 EffectPointsPerComboPoint[2]
Field 111=111 EffectPointsPerComboPoint[2]
Field 112=112 Spell Visual.dbc
Field 113=113
Field 114=114 IconID
Field 115=115 Active Icon ID
Field 116=116 Spell Priority
Field 117=117 Spell Name
Field 118=118 NameAlt[1]
Field 119=119 NameAlt[2]
Field 120=120 NameAlt[3]
Field 121=121 NameAlt[4]
Field 122=122 NameAlt[5]
Field 123=123 NameAlt[6]
Field 124=124 NameAlt[7]
Field 125=125 NameFlags
Field 126=136 Rank
Field 127=127 RankAlt[1]
Field 128=128 RankAlt[2]
Field 129=129 RankAlt[3]
Field 130=130 RankAlt[4]
Field 131=131 RankAlt[5]
Field 132=132 RankAlt[6]
Field 133=133 RankAlt[7]
Field 134=134 RankFlags
Field 135=135 Description
Field 136=136 DescriptionAlt[1]
Field 137=137 DescriptionAlt[2]
Field 138=138 DescriptionAlt[3]
Field 139=139 DescriptionAlt[4]
Field 140=140 DescriptionAlt[5]
Field 141=141 DescriptionAlt[6]
Field 142=142 DescriptionAlt[7]
Field 143=143 DescriptionFlags
Field 144=144 BuffDescription
Field 145=145 BuffDescriptionAlt[1]
Field 146=146 BuffDescriptionAlt[2]
Field 147=147 BuffDescriptionAlt[3]
Field 148=148 BuffDescriptionAlt[4]
Field 149=149 BuffDescriptionAlt[5]
Field 150=150 BuffDescriptionAlt[6]
Field 151=151 BuffDescriptionAlt[7]
Field 152=152 BuffDescriptionFlags
Field 153=153 ManaCostPercentage
Field 154=154 StartRecoveryCategory
Field 155=155 StartRecoveryTime
Field 156=156
Field 157=157 SpellFamilyName *New
Field 158=158
Field 159=159
Field 160=160
Field 161=161
Field 162=162
Field 163=163
Field 164=164
Field 165=165
Field 166=166

ID Radius Name
=== ======= ========
135 = 100 Tower 100
114 = 35 Hunter Range
1 = 0 Self Only
2 = 5 Combat Range
3 = 20 Short Range
4 = 30 Medium Range
5 = 40 Long Range
6 = 100 Vision Range
7 = 10 Very Short Range
8 = 20 Short Range
9 = 30 Medium Range
10 = 40 Long Range
11 = 15 Shorter Range
12 = 5 Interact Range
13 = 50000 Anywhere
14 = 60 Extra Long Range
34 = 25 Medium-Short Range
35 = 35 Medium-LOng Range
36 = 45 Longer Range
37 = 50 Extended Range
38 = 25 Extended Medium Range
54 = 30 Geoff Monster Shoot
74 = 30 Ranged Weapon
94 = 40 Sting
95 = 25 Charge
96 = 2 Trap
134 = 80 Tower 80


Мануал был написан мной еще очень давно .. Просмотрел в поисковике вроде такой темы тут нету .
Если эта тема повторяется то прошу прощения.
Быль

Сидим пьем пиво толпой. Время позднее. Завели тему про секс. Ну и кто-то вдохновленно рассказывает про технику "минет - глубокое горло"
Интересно, все смеются, комментируют. А самая скромная девушка, грустно промолчав весь вечер, сидя на коленях у своего парня с тоской в глазах выдала:
- А если до горла не достает?
Сообщение # 1 отредактировано VaShUe28t - Пятница, 31.08.2012, 18:41
Стивин
Скаут
Копипаст
Сообщение # 2 написано 31.08.2012 в 18:41
VaShUe28t
Скаут
Quote (Стивин)
Копипаст

Это было написано лично мной еще когда был только 2.4.3 сервера .. Я его выкладывал в некоторых местах причём очень давно .Если Вы думаете что я его выкрал от куда то .. то дайте пожалуйста ссылку на эту тему другого человека ..
Быль

Сидим пьем пиво толпой. Время позднее. Завели тему про секс. Ну и кто-то вдохновленно рассказывает про технику "минет - глубокое горло"
Интересно, все смеются, комментируют. А самая скромная девушка, грустно промолчав весь вечер, сидя на коленях у своего парня с тоской в глазах выдала:
- А если до горла не достает?
Сообщение # 3 написано 31.08.2012 в 18:43
Стивин
Скаут
ну-ну , Тык
Сообщение # 4 написано 31.08.2012 в 19:17
VaShUe28t
Скаут
Как я и говорил что давно еще выкладывал на разные ресурсы ..Ну это не значит что я компипастил с другого ресурса .
Быль

Сидим пьем пиво толпой. Время позднее. Завели тему про секс. Ну и кто-то вдохновленно рассказывает про технику "минет - глубокое горло"
Интересно, все смеются, комментируют. А самая скромная девушка, грустно промолчав весь вечер, сидя на коленях у своего парня с тоской в глазах выдала:
- А если до горла не достает?
Сообщение # 5 написано 31.08.2012 в 20:24
BlackFlame
Старший Маршал
Quote (VaShUe28t)
говорил что давно еще выкладывал на разные ресурсы

Ловко отмазался haha Почти уверен, что копипаст, причём грубо выдернутый откуда-то.
Сообщение # 6 написано 31.08.2012 в 21:37
_dm666
<3 Death Metal
Такое видел на ТК.
Сообщение # 7 написано 31.08.2012 в 23:25
Tru[i]ce
Скаут
VaShUe28t, Написано много все не смог дочитать( ТАкой вопрос какая колонка отвечает за продолжительность спела? И на сколько я знаю каждый спел состоит из 3 еще как убрать или добавить свое ?

Например я хочу сделать спел бесконечным и одну из 3 мини-спеллов заменить на другой) Можеш объяснить?
Сообщение # 8 написано 01.09.2012 в 12:24
moJitoice
Капрал
Quote (VaShUe28t)
Это было написано лично мной еще когда был только 2.4.3 сервера

АХАХАХААХАХХА опозорился, на 2.4.3. структура колосально отличается

Quote (Tru|i|ce)
колонка отвечает за продолжительность спела
- колонка DurationIndex; // 40 m_durationIndex ( индекс берётся из дбц файла спелл дуратион )

Quote (Tru|i|ce)
спел состоит из 3 еще
ну,это както стрёмно звучит, спелл состоит не из 3х мини спеллов, а из 3х эффектов, которые описываются тут :
Effect[3]; // 71-73 m_effect
int32 EffectDieSides[3]; // 74-76 m_effectDieSides
float EffectRealPointsPerLevel[3]; // 77-79 m_effectRealPointsPerLevel
int32 EffectBasePoints[3]; // 80-82 m_effectBasePoints (don't must be used in spell/auras explicitly, must be used cached Spell::m_currentBasePoints)
uint32 EffectMechanic[3]; // 83-85 m_effectMechanic
uint32 EffectImplicitTargetA[3]; // 86-88 m_implicitTargetA
uint32 EffectImplicitTargetB[3]; // 89-91 m_implicitTargetB
uint32 EffectRadiusIndex[3]; // 92-94 m_effectRadiusIndex - spellradius.dbc
uint32 EffectApplyAuraName[3]; // 95-97 m_effectAura
uint32 EffectAmplitude[3]; // 98-100 m_effectAuraPeriod
float EffectMultipleValue[3]; // 101-103 m_effectAmplitude
uint32 EffectChainTarget[3]; // 104-106 m_effectChainTargets
uint32 EffectItemType[3]; // 107-109 m_effectItemType
int32 EffectMiscValue[3]; // 110-112 m_effectMiscValue
int32 EffectMiscValueB[3]; // 113-115 m_effectMiscValueB
uint32 EffectTriggerSpell[3]; // 116-118 m_effectTriggerSpell
float EffectPointsPerComboPoint[3]; // 119-121 m_effectPointsPerCombo
uint32 EffectSpellClassMaskA[3]; // 122-124 m_effectSpellClassMaskA, effect 0
uint32 EffectSpellClassMaskB[3]; // 125-127 m_effectSpellClassMaskB, effect 1
uint32 EffectSpellClassMaskC[3]; // 128-130 m_effectSpellClassMaskC, effect 2
Сообщение # 9 написано 16.10.2012 в 10:39
Форум » TrinityCore » Патчи / Моды / Фиксы для Trinity » Спелопедия (Мануал по созданию Спелов.)
  • Страница 1 из 1
  • 1
Поиск: