Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=76)
-   -   Компиляция и настройка ScriptDev2 (https://forum.zone-game.info/showthread.php?t=3418)

PROGRAMMATOR 15.04.2009 00:59

Компиляция и настройка ScriptDev2
 
Продолжаем обучение компиляции сервера MaNGOS. На этот раз речь пойдет о его составляющей - ScriptDev2. MaNGOS успешно работает без этого продукта, но как бы сказать - не полноценно. Ведь мобы, которые делают дальние атаки магией, без этого продукта будут бежать к Вам и бить в упор, что явно не как на официальном сервере. Ну, что же, продолжим.

После того как Вы все скачали, мы можем продолжать двигаться дальше, а дальше нам нужно подготовить исходники ScriptDev2 к компиляции. Для этого, создайте папку ScriptDev2 в директории src\bindings исходников MaNGOS и переместите туда скаченные с SVN'а файлы ScriptDev2. Это будет выглядеть так:
Цитата:

c:\mangos\src\bindings\ScriptDev2\
Теперь перейдите в каталог .git\info и откройте файл exclude, выглядит это все таким образом:
Цитата:

c:\mangos\.git\info\exclude
Открываете его любым текстовым редактором и добавляете исключения для Git'а в виде таких строк:
Цитата:

src/bindings/ScriptDev2/*
bin/*
Все это дело сохраняете и переходим к компиляции исходников ScriptDev2. Запускаете файл scriptVC90.sln который находится в следующей директории:
Цитата:

c:\mangos\src\bindings\ScriptDev2\
Подробнее показано на рисунке ниже.

http://img.zone-game.info/image-F4AD_49E4FD5D.jpg

И перед Вами снова открывается Visual Studio. Действия перед компиляцией ничем не отличаются от тех, что мы проделали с проектом MaNGOS в статье Компиляция и базовая настройка сервера MaNGOS (3.0.9). Так что вернитесь в ту статью, и посмотрите как нужно устанавливать настройки проекта и как его после этого компилировать.

Компиляция ScriptDev2 занимает куда меньше времени, чем аналогичный процесс с исходниками MaNGOS. Всего несколько секунд и окно Вывода сообщает нам о том, что компиляция завершена.

http://img.zone-game.info/image-A24A_49E4FEFE.jpg

Конечно, могут быть и ошибки, особенно когда читаете не внимательно и делаете все по своему. Так что если у Вас ошибки, то постарайтесь прочитать каждое слово в этой статье и попытайтесь понять суть написанного. Если же все как у меня, то я Вас поздравляю!

Переходим к установке ScriptDev2 на сервер MaNGOS, все что Вы только что скомпилировали, лежит в каталоге bin\Win32_Release исходников MaNGOS.
Цитата:

c:\mangos\bin\Win32_Release\
Переходим в этот каталог и что мы видим? А видим мы, что все как и было, но это только так кажется. На самом то деле изменился размер .dll файла MaNGOSScript.dll и притом в несколько раз! Вот этот файл нам нужно скопировать в сервер MaNGOS который мы установили по пути:
Цитата:

c:\server_mangos\
При вопросе о замене файла нажмите да. Дальше необходимо поместить в сервер и конфигурационный файл scriptdev2.conf.dist.in который находится в директории с исходниками ScriptDev2:
Цитата:

c:\mangos\src\bindings\ScriptDev2\
Не забудьте переименовать файл в scriptdev2.conf. Теперь откройте и отредактируйте под свои нужды следующую строку:

Цитата:

ScriptDev2DatabaseInfo = "127.0.0.1;3306;ваш_логин;ваш_пароль;scriptdev2"
  • ваш_логин - напоминаю, что это логин указанный при установке MySQL
  • ваш_пароль - напоминаю, что это пароль указанный при установке MySQL

После проделанного осталось лишь создать базу данных scriptdev2 и заполнить ее данными. Как Вы помните в статье Компиляция и базовая настройка сервера MaNGOS (3.0.9) я приводил пример как создать базу данных, так что описывать повторно этот процесс я не буду. Но немного проясню ситуацию с заполнением данными этой базы. В директории:

Цитата:

c:\mangos\src\bindings\ScriptDev2\sql\
Содержатся следующие скрипты:
  • mangos_scriptname_full.sql - заливаете в базу данных mangos
  • scriptdev2_create_structure.sql - заливаете в базу данных scriptdev2
  • scriptdev2_script_full.sql - заливаете в базу данных scriptdev2

И только после этого переходим к установке SD2-ACID. В скаченных с SVN'а файлах находится два скрипта:
  • 008_acid_905_mangos.sql - заливаете в базу данных mangos
  • 008_acid_905_scriptdev.sql - заливаете в базу данных scriptdev2

И последний шаг - это русификация скриптов. Для этого просто залейте файл rudb_r28_scriptdev2.sql, который Вы скачали с SVN'а RuDB, в базу данных scriptdev2. Все, теперь можно сказать, что Вы научились собирать полную версию сервера MaNGOS. Надеюсь это Вам пригодится и я не зря потратил свое время на написание этой статьи.

Если остались вопросы, то не стесняемся, задаем их ;)

Копирование статьи без моего письменного разрешения - запрещено!

Zone-Game 15.04.2009 04:36

Ответ: Компиляция и настройка ScriptDev2
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 30864)
[*]Русификация диалогов SD2-ACID доступна для скачивания с SVN'а разработчиков RuDB. Важно! Русификацию нужно ставить после установки основной базы SD2-ACID

Цитата:

https://rudb.svn.sourceforge.net/svnroot/rudb/тело/scriptdev2 - что бы меньше вопросов потом было :rolleyes:
PROGRAMMATOR, не заходит через прямую ссылку.:face2:

PROGRAMMATOR 15.04.2009 04:43

Ответ: Компиляция и настройка ScriptDev2
 
Исправил статью, я вначале не обратил внимания, что не открывает. Все из-за русских букв.

Sava 18.04.2009 19:42

Ответ: Компиляция и настройка ScriptDev2
 
Ну и как же без исходного кода ScriptDev2, его можно и даже нужно скачивать с SVN'а разработчиков

Не могли бы вы сказать что именно необходимо взять отсюда.

Ferse 07.07.2009 12:43

Ответ: Компиляция и настройка ScriptDev2
 
Цитата:

Сообщение от Sava (Сообщение 31147)
Ну и как же без исходного кода ScriptDev2, его можно и даже нужно скачивать с SVN'а разработчиков

Не могли бы вы сказать что именно необходимо взять отсюда.

заходи по этому адресу http://scriptdev2.svn.sourceforge.net/ и внизу жми на Download......... и сразу всё скачаешь.

Ferse 11.07.2009 00:54

Ответ: Компиляция и настройка ScriptDev2
 
Цитата:

Сообщение от Ferse (Сообщение 35813)
заходи по этому адресу http://scriptdev2.svn.sourceforge.net/ и внизу жми на Download......... и сразу всё скачаешь.

правда оно багнутое

Aroled 03.03.2010 20:23

Re: Компиляция и настройка ScriptDev2
 
при компиляции вілазить такой лог
Цитата:

1>------ Построение начато: проект: ScriptDev2, Конфигурация: Release Win32 ------
1>Extracting revision
1>Системе не удается найти указанный путь.
1>Project : error PRJ0019: Инструмент вернул код ошибки из "Extracting revision"
1>Журнал построения был сохранен в "file://g:\подготовка\КОМПИЛЯЦИИ\src\bindings\scriptdev2\V C90\ScriptDev2__Win32_Release\BuildLog.htm"
1>ScriptDev2 - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
с чем єто может бть связано.
Да кстати
Цитата:

Теперь перейдите в каталог .git\info и откройте файл exclude, выглядит это все таким образом:
Цитата:c:\mangos\.git\info\exclude
у меня нет такого каталога - что делать.

Санитар 03.03.2010 23:29

Re: Компиляция и настройка ScriptDev2
 
Попытался скомпиллить scriptdev2, скачанный сегодня с https://scriptdev2.svn.sourceforge.n...ot/scriptdev2/ черепахой.При построении Ms VC++ 2008 выдает вот это:

1>------ Построение начато: проект: ScriptDev2, Конфигурация: Release Win32 ------
1>Extracting revision
1>Компиляция...
1>precompiled.cpp
1>c:\mangos-mangos-b55708e\src\bindings\scriptdev2\include\../ScriptMgr.h(58) : error C2061: синтаксическая ошибка: идентификатор "SpellEffectIndex"
1>c:\mangos-mangos-b55708e\src\bindings\scriptdev2\include\../ScriptMgr.h(59) : error C2061: синтаксическая ошибка: идентификатор "SpellEffectIndex"
1>c:\mangos-mangos-b55708e\src\bindings\scriptdev2\include\../ScriptMgr.h(60) : error C2061: синтаксическая ошибка: идентификатор "SpellEffectIndex"
1>Журнал построения был сохранен в "file://c:\mangos-mangos-b55708e\src\bindings\ScriptDev2\VC90\ScriptDev2__W in32_Release\BuildLog.htm"
1>ScriptDev2 - ошибок 3, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

В чем дело?

Perfecto 04.03.2010 08:19

Re: Компиляция и настройка ScriptDev2
 
Aroled просто этот каталог скрытый.
такие проблемы возможны при компиляции c разных VS или если мангос был скомпилен на debug, a scriptdev2 на release (или наоборот)
Еще также перед компиляцией мангоса нужно наложить патч MaNGOS-9483-ScriptDev2.patch (9483 число может быть другим, это ревизия когда последний раз этот файл изменялся), находится этот патч в директории /src/bindings/scriptdev2/patches/

Warrex 22.03.2010 11:32

Re: Компиляция и настройка ScriptDev2
 
при компиляции ScriptDev2 выдает ошибки ввиде:
PHP код:

1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_salramm(void)" (?AddSC_boss_salramm@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_culling_of_stratholme(void)" (?AddSC_instance_culling_of_stratholme@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_meathook(void)" (?AddSC_boss_meathook@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_malganis(void)" (?AddSC_boss_malganis@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_culling_of_stratholme(void)" (?AddSC_culling_of_stratholme@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_lord_epoch(void)" (?AddSC_boss_lord_epoch@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_halls_of_reflection(void)" (?AddSC_instance_halls_of_reflection@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_scourgelord_tirannus(void)" (?AddSC_boss_scourgelord_tirannus@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_pit_of_saron(void)" (?AddSC_instance_pit_of_saron@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_forge_of_souls(void)" (?AddSC_instance_forge_of_souls@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_icecrown_teleporter(void)" (?AddSC_icecrown_teleporter@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_icecrown_spire(void)" (?AddSC_icecrown_spire@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_icecrown_spire(void)" (?AddSC_instance_icecrown_spire@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_lavanthor(void)" (?AddSC_boss_lavanthor@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddS[/QUOTE][/QUOTE]cripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_zuramat(void)" (?AddSC_boss_zuramat@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_ichoron(void)" (?AddSC_boss_ichoron@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_xevozz(void)" (?AddSC_boss_xevozz@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_erekem(void)" (?AddSC_boss_erekem@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_moragg(void)" (?AddSC_boss_moragg@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_cyanigosa(void)" (?AddSC_boss_cyanigosa@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_dred(void)" (?AddSC_boss_dred@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_instance_trial_of_the_crusader(void)" (?AddSC_instance_trial_of_the_crusader@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_twin_valkyr(void)" (?AddSC_twin_valkyr@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_jaraxxus(void)" (?AddSC_boss_jaraxxus@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>ScriptLoader.obj error LNK2019ссылка на неразрешенный внешний символ "void __cdecl AddSC_northrend_beasts(void)" (?AddSC_northrend_beasts@@YAXXZв функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
1>..\..\..\..\bin\win32_release/MaNGOSScript.dll fatal error LNK112025 неразрешенных внешних элементов 

Нимогу разобраться в чем проблемма. В С++ еще толком неразбераюсь только осваиваю. Я так понял проблемма вроде в ScriptLoader.cpp только непойму в чем именно!!! Подскажите пожалуйста!


Текущее время: 23:05. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot