|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Копия спеллов |
Копия спеллов |
Собственно делаю новые спеллы, на основе старых, но чет не работает)
Запись в дбц спеллов: Код 503172,0,0,0,0x1D0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,,0x0,,0x0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0x400,100,0,0,0,0,0,0,0,0,0,,1,0.0,0,0,0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0,0x0,-1,0,0x0,6,0,0,1,0,0,0.0,0.0,0.0,999,0,0,0,0,0,1,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,503173,0,0,0.0,0.0,0.0,0,0,0x0,0,0x0,0,0,0,0,0,0x0,3183,0,0x0,,,,,,,,,"Item - Shaman T10 Enhancement 2P Bonus",,,,,,,,0xFF01FE,,,,,,,,,"Уровень 3",,,,,,,,0xFF01FE,,,,,,,,,"При использовании способности ""Ярость шамана"" вы также наносите на $503173s1% больше урона в течение $503173d.",,,,,,,,0xFF01FE,,,,,,,,,"",,,,,,,,0xFF01FC,0,0x0,0,0,11,0x0,0x0,0x0,0,0,0x0,0,1.0,1.0,1.0,0x0,0,0,0,0,0,0x1,0,0,0,1.0,0.0,0.0,0,0, //503173,0,0,0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,,0x0,,0x0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0x0,101,0,0,1,1,8,0,0,0,0,,1,0.0,0,0,0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0,0x0,-1,0,0x0,6,0,0,1,0,0,0.0,0.0,0.0,31,0,0,0,0,0,1,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0,0,0x0,0,0x0,0,0,0,0,0,0x0,2017,0,0x0,,,,,,,,,"Ярость элементаля",,,,,,,,0xFF01FE,,,,,,,,,"",,,,,,,,0xFF01FC,,,,,,,,,"Увеличивает наносимый урон на $s1%.",,,,,,,,0xFF01FE,,,,,,,,,"Увеличивает наносимый урон на $s1%.",,,,,,,,0xFF01FE,0,0x0,0,0,0,0x0,0x0,0x0,0,0,0x0,0,1.0,1.0,1.0,0x0,0,0,0,0,0,0x8,0,0,0,0.0,0.0,0.0,0,0, 503174,0,0,0,0x1D0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,,0x0,,0x0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0x0,101,0,0,0,0,0,0,0,0,0,,1,0.0,0,0,0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0,0x0,-1,0,0x0,6,0,0,1,0,0,0.0,0.0,0.0,36,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0,0,0x0,0,0x0,0,0,0,0,0,0x0,3183,0,0x0,,,,,,,,,"Item - Shaman T10 Enhancement 4P Bonus",,,,,,,,0xFF01FE,,,,,,,,,"Уровень 3",,,,,,,,0xFF01FE,,,,,,,,,"При пятикратном суммировании эффекта ""Оружие Водоворота"" ваша сила атаки с вероятностью $s1% может увеличиться на $503175s1% на $503175d.",,,,,,,,0xFF01FE,,,,,,,,,"",,,,,,,,0xFF01FC,0,0x0,0,0,11,0x0,0x0,0x0,0,0,0x0,0,1.0,1.0,1.0,0x0,0,0,0,0,0,0x1,0,0,0,1.0,0.0,0.0,0,0, //503175,0,0,0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,,0x0,,0x0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0x0,101,0,0,1,1,1,0,0,0,0,,1,0.0,0,0,0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0,0x0,-1,0,0x0,6,0,0,1,0,0,0.0,0.0,0.0,41,0,0,0,0,0,1,0,0,0,0,0,0,0,0,166,0,0,0,0,0,0.0,0.0,0.0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0.0,0.0,0.0,0,0,0x0,0,0x0,0,0,0,0,0,0x0,459,0,0x0,,,,,,,,,"Сила Водоворота",,,,,,,,0xFF01FE,,,,,,,,,"",,,,,,,,0xFF01FC,,,,,,,,,"Сила атаки увеличивается на $s1%.",,,,,,,,0xFF01FE,,,,,,,,,"Сила атаки увеличена на $s1%.",,,,,,,,0xFF01FE,0,0x0,0,0,0,0x0,0x0,0x0,0,0,0x0,0,1.0,1.0,1.0,0x0,0,0,0,0,0,0x8,0,0,0,0.0,0.0,0.0,0,0, Просто копирую из обычного, меняя только шанс срабатывания. По идеи при срабатывании 503172 должен следовать 503173, но ничего не прокает. Мб какая-то доп. дбц есть? или в ядре где-то записать надо? Не понимаю подскажите пж. З.Ы. Другие спеллы, без прока, работают. Но там где должен следовать еще один, не работает. Буду очень благодарен за помощь, пж это важно.
Сообщение # 1 написано 15.09.2016 в 21:56
|
Не знаю поможет ли тебе это, но если ты добавляешь новый спел в серверные dbc, а в клиент этот спел не пихнул, то метод player->CastSpell, который вызывается при касте спела не будет срабатывать, т.к у игрок не знает такого спела. Если эта проблема, то нужен патч в клиент или же менять старые спелы, но опять же многая визуализация решается только патчем в клиент. Без патча можно менять время действия спела, к примеру.
Сообщение # 2 написано 16.09.2016 в 01:11
|
Ну а при написании команды .cast ID всё ок, спел делает то, что нужно? И пишется ли что-то в чат?
Сообщение # 4 написано 16.09.2016 в 11:19
|
Очень тяжело объясняешь, а вдумываться желания нет.
если 503173 новый спел и при его касте всё работает, то с ним всё ок, что в сервере, что в клиенте. Если при касте 503172 должен срабатывать 503173, но не срабатывает, значит ядро не делает то, что нужно. Это может быть из-за не верно настроеных параметров 503172 спела в spell.dbc, там куча данных, в этом не разбираюсь(а ты скажешь, что скопировал какой-то рабочий спел, просто изменив ид и почему не работает ты не знаешь), поэтому тоже не знаю, но проблемой похоже являются параметры 503172 спела в дбц
Сообщение # 6 написано 16.09.2016 в 17:43
|
Ranege, Да все верно, это комплектные бафы, 503172 дает шанс срабатывания 503173, т.е. допустим, при касте Ярость шамана, дополнительно прокает 503173, но этого не происходит. Думаю надо где-то это еще прописать, но не найду где. Спелы готовые копировал просто поменял айды. И так же во втором спелле должен так же прокать следующий но там в первом даже нет ссылки на второй...
Сообщение # 7 написано 16.09.2016 в 19:13
|
Не знаю поможет ли тебе это, но если ты добавляешь новый спел в серверные dbc, а в клиент этот спел не пихнул, то метод player->CastSpell, который вызывается при касте спела не будет срабатывать, т.к у игрок не знает такого спела. Как же в таком случае вообще работают serverside-only способности, регистрируемые в таблице `world.spell_dbc`, если они не листятся на клиенте? Ranege, Ну как объяснить, спеллы все есть, при касте 503173 дается баф на +%урона, но при 503172 ничего не срабатывает, потому что это шанс и должен идти следующий спелл 503173, но не следует почему-то Предполагаю, что Вы решили сделать способность по образцу другой, уже существующей в официальном контенте. В этом случае, если Вы нигде не напортачили, предлагаю Вам ознакомиться с функционалом таблицы `world.spell_proc_event`. Скорее всего для копируемой Вами способности там содержалась запись. В противном случае советую посмотреть в `world.spell_script_names` и готовиться к тому, что функционал реализован через сценарий ядра.
Сообщение # 8 написано 16.09.2016 в 21:42
|
Как же в таком случае вообще работают serverside-only способности, регистрируемые в таблице `world.spell_dbc`, если они не листятся на клиенте? Я их лично использую только через статик метод TryRefreshStackOrCreate в собственных целях, когда добавляю что-либо в дбц, не перенося патч с спелом в клиент. Но когда мне нужно повесить не ауру, а сделать каст и чтобы его сделал именно игрок(OnGossipSelect, к примеру, - player->CastSpell(player,id,tru)), у него должен обязательно быть патч с этим новым спелом, иначе каст не происходит
Сообщение # 9 написано 17.09.2016 в 01:58
|
В этом случае, если Вы нигде не напортачили, предлагаю Вам ознакомиться с функционалом таблицы `world.spell_proc_event` Да, действительно работает, спасибо огромное на этом. Но следует еще вопрос по второму спеллу, в котором последующий спелл прописан только в описании, но он тоже должен прокать как и этот, т.е. не упоминается в самом коде, и его нет не в одной ни в другой таблице...
Сообщение # 10 написано 17.09.2016 в 02:31
|
Следует помнить, что TrinityCore - лишь эмулятор, а не оригинал: среди всего прочего, он не обрабатывает Spell.dbc так, как должен. Если Вы действительно внимательно все осмотрели и не увидели никаких отсылок на следующую в цепочке срабатывания способность, но уверены, что она корректно вызывается на Вашей версии эмулятора - следует приглядеться к ядру (даже без ссылок на него из базы). Если там совсем уж экзотика - возможно искомый функционал реализован хаком. Я их лично использую только через статик метод TryRefreshStackOrCreate в собственных целях, когда добавляю что-либо в дбц, не перенося патч с спелом в клиент. Но когда мне нужно повесить не ауру, а сделать каст и чтобы его сделал именно игрок(OnGossipSelect, к примеру, - player->CastSpell(player,id,tru)), у него должен обязательно быть патч с этим новым спелом, иначе каст не происходит В настоящий момент, к сожалению, я не могу проверить соответствующую информацию, но предполагаю, что лишь сам игрок не видит того, что на самом деле произошло. Так или иначе, я проверю это при первой возможности.
Сообщение # 11 написано 17.09.2016 в 02:48
|
Я иногда добавляю новые спелы и вызывал данный метод, который ничего в результате не делал. Есть предположение, что если написать player1->CastSpell(player2,id,true) и у player1 будет патч, то каст скорей произойдёт, чем не произойдёт на player2, но когда player2 кастует на себя без патча новый спел, то вот так, проверьте, если что-то получится, будет весьма интересно услышать что-то новое
Сообщение # 12 написано 17.09.2016 в 10:06
|
Обновлю, нужно все же решить, в одном спелле, в дбц, не указано никаких ветвей к другому, кроме описания, но он должен прокать, нигде не могу найти продолжение... Где может быть прописан путь от одного к другому, для прока...
Сообщение # 13 написано 15.10.2016 в 02:49
|
Скорее всего ядро. Аура является "пустышкой", что типично для подобной реализации, так что посмотрите запись об этой способности в `world.spell_script_names`. Также посмотрите ссылки из ядра на способность с ID(71166), так как на одно из ее базовых значений ссылается исходная аура в своем описании. К сожалению, на данный момент я не могу сообщить Вам большего, т.к. все еще не располагаю серверной сборкой. |
| |||
| |||