Сегодня я вам хочу рассказать, как добавлять скрипты в исходный код ядра, если нету "патча".
С программ нам надо только любой текстовый редактор. Я советую Notepad++.
Значит, у нас есть файл npc_customize_master.cpp, он нам и надо.
Открываем папку с вашими исходниками и проходим по ссылке src\server\scripts\Custom.
Нету разницы, куда мы засунем этот скрипт, главное что бы он был объявлен!
Принципе лично я бросаю такие скрипты в src\server\scripts\World... Но кому как...
Если мы засунули файл в src\server\scripts\Custom, открываем там же этот npc_customize_master.cpp и CMakeLists.txt, файл со скриптом прокручиваем вниз и находим там строчку void AddSC_npc_customize_master(). В CMakeLists.txt , под строкой ${scripts_STAT_SRCS}, объявляем файл npc_customize_master.cpp
Выгладить оно должно так:
Code
# Copyright © 2008-2011 TrinityCore <http://www.trinitycore.org/]
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
set(scripts_STAT_SRCS
${scripts_STAT_SRCS}
Custom/npc_customize_master.cpp
)
message(" -] Prepared: Custom")
Закрываем, сохроняем.
Дальше идем по адресу src\server\game\Scripting и открываем ScriptLoader.cpp. Тут нам и надо ту строчу, которую мы нашли. Т.е. void AddSC_npc_customize_master().
Тут тоже особо парится не надо, но для порядка будем делать так:
Ищем строчу #ifdef SCRIPTS
Под ней мы видим уже много чего.
Code
//world
void AddSC_areatrigger_scripts();
void AddSC_emerald_dragons();
void AddSC_generic_creature();
void AddSC_go_scripts();
void AddSC_guards();
И т.д....
Под #ifdef SCRIPTS пишем
Code
//Custom
void AddSC_npc_customize_master();
В конце обязательно должен быть ; ибо при компиляции выдаст ошибку!!
Дальше в том же файле ищем строчку
Code
/* This is where custom scripts should be added. */
Под ней пишем:
Code
AddSC_npc_customize_master();
Должно быть так:
Quote
void AddCustomScripts()
{
#ifdef SCRIPTS
/* This is where custom scripts should be added. */
AddSC_DuelReset();
#endif
}
Закрываем, сохраняем.
Все можно "провозить" CMake'ом и компилировать...
Если вы сделали все правильно и возникли ошибки при компиляции, прошу, пробуйте сами разобраться или же пишите автору скрипта...
Спасибо за внимание.