• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » Помощь в спелах, талантах, символах для начинающих! (trinity core 3.3.5a)
Помощь в спелах, талантах, символах для начинающих!
forc1k
Скаут
Доброго времени суток Ув.Форумчани-JP при начале работы с сервером trinity образовалось несколько вопросов, если не затруднит ответить буду очень благодарен (+)!
p.s гугл мало чем смог помочь..
// Пользуюсь Навикатом и нотпадом, с sql знаком! По возможности примеры привести без использования сторонних программ. only notepad

#1 как изменить спел - добавить или отнять количество % маны восстанавливаемой закл к примеру "Печать мудрости" id20166 на каждый уровень скила (где вообще находятся спелы в базе)

#2 как изменить талант - добавить или изменить % затрат маны на закл к примеру "Средоточие чар" id12840 на каждый уровень прокачки (где вообще находятся таланты в базе)

#3 как изменить символ - к примеру что то не простое "Символ удара в спину" id42956 зделать продление не на 2 сек а на 1 минуту (где вообще находятся символы в базе)

#4 как добавить заклинание босу - например накидывать закл(id54396) на всех игроков в радиусе 200 метров (где в базе находятся файлы sql для правки боссов)

#5 как изменить (заменить) бонус сета - к примеру взять сет id890 "Броня теневого клинка" (разбойник) бонус двух предметов добавляет +15 энергии за использование закл. где менять количество восполняемой энергии например на +20 или на +20 спустя 4 сек? (где находятся таблицы со спелами от бонуса сетов?)

#6 где находятся таблицы с Великими подвигами такими как "1-й на сервере! Жрец 80-го уровня" (нужно для очистки)

#7 как поставить такой скрипт как "Арена спектратор" пожалуйста очередность действий..

// Надеюсь что я не заставлю вас напрягаться, но полный ответ на тему поможет многим ночевкам.. Спасибо!
Сообщение # 1 отредактировано forc1k - Понедельник, 07.09.2015, 22:48
p620
Маршал
Первые три вопроса:

Дело в том, что создать полноценную способность, на которых построены и таланты, и символы, без патча в клиент по очевидным причинам невозможно. Однако, Вы можете создать "технические" способности при помощи использования таблицы spell_dbc, для которых затем настроите срабатывания при помощи задействования spell_scripts / spell_proc_event (названия этих таблиц могут отличаться на свежих ревизиях ядра).
Таким образом, при использовании различного рода "костылей" Вы сможете (или не сможете, напрямую зависит от того, что хотите реализовать) добиваться желаемого.
Простой пример - возьмем Ваш первый вопрос.
Вы можете создать техническое заклинание в spell_dbc, установив специальные флаги использования, скрыть его из combat log'а, aurabar'а и spellbook'а, если пожелаете. Добавить ему dummy effect (заклинание НИЧЕГО не будет делать) и поставить стоимость прочтения равной какому-то количеству маны. Или поставить эффект восстановления ресурса (SPELL_EFFECT_ENERGIZE (30) ), а стоимость прочтения установить в нуль. Тогда способность будет восстанавливать ману. После того, как Вы закончите с созданием способности, Вы должны будете обусловить ее срабатывание. В данном случае все весьма просто. Вы создадите запись в spell_scripts, где привяжете сценарий к целевому заклинанию (в Вашем случае - к "Печати мудрости"), который будет заставлять того, кто произносит данное заклинание, произносить ещё и Ваше техническое (которое и будет поглощать или восполнять ресурс).
Альтернатива данному решению - создание сценария в ядре с такой же привязкой к нужной способности. В рассматриваемом случае - крайне избыточное решение, но частенько требуется привязать к способности такой функционал, который либо не обеспечивается инструментарием обработки .dbc / сервер-сайдовых таблиц в принципе, либо обеспечивается, но для этого потребуется несколько раз пальнуть себе в пятку через рот.
Классическим же (близз-лайковым, если угодно) способом решения данных вопросов является прямая правка требуемых клиентских баз данных (.dbc), но это потребует добавления патча с измененными базами данных в клиент, а не только заброса оных на сервер-сайд.
Что же касается символов и талантов - и то, и другое является производным от способностей. Фактически они накладывают специальные невидимые для игрока ауры-модификаторы, которые могут изменить... в общем, практически что угодно. За исключением того, что получение талантов привязывается к взаимодействию с соответствующими деревьями, а символов - к использованию предметов.
В заключение добавлю, что я здесь описал лишь самую общую и размытую теорию по работе данных аспектов игрового процесса. За спецификой создания способностей/талантов/символов обращайтесь в поиск по форуму (здесь данные темы несколько раз обсуждались) или в гугл.

Вопрос #4:

Зависит от того, как реализован босс.
В конечном счете все обрабатывается серверным ядром, но сам сценарий обработки может быть расписан либо в базе (через SmartAI, например), либо в ядре (есть ещё теоретические извращения, где используется большое количество технических способностей, различных костылей в базе и прочего, подразумевающие создание псевдоAI боссов, но это крайне нестабильная и неадекватная мера, за исключением, разве что, совсем экстраординарных ситуаций).
Если AI босса сконфигурирован в базе - Вам следует смотреть и изучать SmartAI. Но функционал данного инструментария весьма сильно ограничен (хотя его и с лихвой хватит для обработки приведенного Вами примера), потому для серьезных боссов, вроде тех, что составляют рейдовые подземелья и подавляющее большинство героических, AI пишется в ядре. Их Вы исправить (равно как и создать) не сможете, если не имеете: а) доступа к исходному коду ядра, б) хотя бы средних знаний C++.

Вопрос #5:

См. ответы на вопросы 1, 2 и 3. Бонусы от комплектов - тоже ауры.

Вопрос #6:

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

Вопрос #7:

К сожалению, очередность действий достаточно сложно описать, учитывая, что реализовать подобное можно исключительно через ядро. Соответственно, сценарий нужно сначала написать. Если же у Вас уже есть готовый, а также доступ к исходному коду Вашего ядра - проведите поиск по форуму, уверен, данный вопрос здесь уже поднимался.

П.С: Список нескольких КРАЙНЕ годных (но, увы, зарубежных) ресурсов по сервер-сайдовому или клиент-сайдовому WoW моддингу:
1) http://collab.kpsn.org/ <-- TrinityCore wiki. Англоязычный, крайне полезный ресурс. Содержит описание практически каждой колонки для каждой таблицы всех серверных БД, используемых офф-ревой (не самой последней, правда) ядра.
2) http://www.pxr.dk/wowdev/wiki/ <-- Еще одна англоязычная база знаний, но на этот раз по клиентской стороне вопроса. Пусть и не очень точная, но новичку будет за глаза. Содержит описания не только для клиентских баз данных, но и для файлов физических карт, используемых форматах моделей, текстур и прочего.
3) http://modcraft.superparanoid.de/ <-- Англоязычное, не смотря на домен первого уровня, сообщество, представляющее собой форум различной степени годности разработчиков клиент-сайда / сервер-сайда рассматриваемой игры (некоторые члены данного форума сидят и там). Дополнительное решение, если требуется интерактивная помощь с каким-то серьезным вопросом (прошу заметить, что я ни коим разом не сравниваю степень одаренности местных разработчиков и забугорных, тамошний контингент запросто сам может заторчать, просто, в отличие от данного форума, там уже есть темы для разрешения подобных проблем, здесь же, в основном, рассматриваются базовые проблемы обобщенного генеза, а не какая-то конкретная углубленка).
Сообщение # 2 отредактировано p620 - Вторник, 08.09.2015, 00:44
Форум » TrinityCore » [TrinityCore] Help » Помощь в спелах, талантах, символах для начинающих! (trinity core 3.3.5a)
  • Страница 1 из 1
  • 1
Поиск: