• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Добавление скриптов
Dinoza
para bellum
Здравствуйте Ув. пользователи портала WoW JP. Сегодня я вам хочу рассказать, как добавлять скрипты в исходный код ядра, если нету "патча".

С программ нам надо только любой текстовый редактор. Я советую Notepad++.

Начнем... Буду показывать на примере npc-customize от Crispi

Значит, у нас есть файл npc_customize_master.cpp, он нам и надо.
Открываем папку с вашими исходниками и проходим по ссылке src\server\scripts\Custom.
Нету разницы, куда мы засунем этот скрипт, главное что бы он был объявлен!
Принципе лично я бросаю такие скрипты в src\server\scripts\World... Но кому как... smile

Если мы засунули файл в src\server\scripts\Custom, открываем там же этот npc_customize_master.cpp и CMakeLists.txt, файл со скриптом прокручиваем вниз и находим там строчку void AddSC_npc_customize_master(). В CMakeLists.txt , под строкой ${scripts_STAT_SRCS}, объявляем файл npc_customize_master.cpp

Выгладить оно должно так:

Quote
# 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
Под ней мы видим уже много чего.

Quote
//world
void AddSC_areatrigger_scripts();
void AddSC_emerald_dragons();
void AddSC_generic_creature();
void AddSC_go_scripts();
void AddSC_guards();

И т.д....

Под #ifdef SCRIPTS пишем
Quote
//Custom
void AddSC_npc_customize_master();

В конце обязательно должен быть ; ибо при компиляции выдаст ошибку!!

Дальше в том же файле ищем строчку
Quote
/* This is where custom scripts should be added. */

Под ней пишем:
Quote
AddSC_npc_customize_master();


Должно быть так:

Quote
void AddCustomScripts()
{
#ifdef SCRIPTS
/* This is where custom scripts should be added. */

AddSC_DuelReset();
#endif
}


Закрываем, сохраняем.
Все можно "провозить" CMake'ом и компилировать... shades

Если вы сделали все правильно и возникли ошибки при компиляции, прошу, пробуйте сами разобраться или же пишите автору скрипта...

Спасибо за внимание. up v
Сообщение # 1 отредактировано Dinoza - Понедельник, 02.01.2012, 22:09
kosatas
Скаут
Хороший гайд! Лови аплеуху в виде + !

Но исправь
Quote (Dinoza)
Nodpad ++

На Notepad++

Ёще интересно, обрыл всю папку с сервером, а такого адреса не нашел

Quote (Dinoza)
src\server\scripts\Custom


help
Сообщение # 2 отредактировано kosatas - Понедельник, 14.11.2011, 10:28
Dinoza
para bellum
kosatas,
Quote (Dinoza)
Нету разницы, куда мы засунем этот скрипт, главное что бы он был объявлен!

кидаем в src\server\scripts\World тогда up
Сообщение # 3 написано 14.11.2011 в 10:30
kosatas
Скаут
Все-таки не могу найти папку
Quote (Dinoza)
src


help

Ты уж извини новичка... wink
Сообщение # 4 отредактировано kosatas - Понедельник, 14.11.2011, 10:48
Dinoza
para bellum
Добавление Custom скртптов в исходники ядра
т.е. в готовую сборку никак...
Сообщение # 5 написано 14.11.2011 в 10:47
kosatas
Скаут
Кинь скайпик в лс.
Сообщение # 6 отредактировано kosatas - Понедельник, 14.11.2011, 10:50
Александрович
Местный Житель
Dinoza, Полезная тема ))) + заработал ))
v
Сообщение # 7 написано 14.11.2011 в 11:42
Pro100_IceBerG
Скаут
Dinoza,

Просто и понятно bye
Сообщение # 8 написано 14.11.2011 в 14:19
cool_core
Скаут
Quote (Pro100_IceBerG)
Просто и понятно

Согласен автору спасибо)
Сообщение # 9 написано 22.03.2012 в 07:10
Dinoza
para bellum
незачто)
Сообщение # 10 написано 31.03.2012 в 17:11
  • Страница 1 из 1
  • 1
Поиск: