Nozdormu | Дата: Вівторок, 27.12.2011, 11:46 | Сообщение # 1 |
Капрал
Группа: V.I.P
|
Здравствуйте Ув. пользователи. Сегодня я вам хочу рассказать, как добавлять скрипты в исходный код ядра, если нету "патча".
С программ нам надо только любой текстовый редактор. Я советую Notepad++.
Начнем... Буду показывать на примере npc-customize от Crispi
Значит, у нас есть файл 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
Выгладить оно должно так:
# 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 Под ней мы видим уже много чего.
//world void AddSC_areatrigger_scripts(); void AddSC_emerald_dragons(); void AddSC_generic_creature(); void AddSC_go_scripts(); void AddSC_guards(); И т.д....
Под #ifdef SCRIPTS пишем //Custom void AddSC_npc_customize_master(); В конце обязательно должен быть ; ибо при компиляции выдаст ошибку!!
Дальше в том же файле ищем строчку /* This is where custom scripts should be added. */ Под ней пишем: AddSC_npc_customize_master();
Должно быть так:
void AddCustomScripts() { #ifdef SCRIPTS /* This is where custom scripts should be added. */
AddSC_DuelReset(); #endif }
Закрываем, сохраняем. Все можно "провозить" CMake'ом и компилировать...
Если вы сделали все правильно и возникли ошибки при компиляции, прошу, пробуйте сами разобраться или же пишите автору скрипта...
Спасибо за внимание. 
Сообщение отредактировал Dinoza - Субота, 21.01.2012, 01:43 |
|
|
|
Darkensand | Дата: Вівторок, 27.12.2011, 12:03 | Сообщение # 2 |
Главный Админ
Лучший из лучших
Группа: Администратор
|
Dinoza, Спасибо
|
|
|
|