Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Компиляция и настройка ScriptDev2
#1
Продолжаем обучение компиляции сервера 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\
Подробнее показано на рисунке ниже.

[Изображение: image-F4AD_49E4FD5D.jpg]

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

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

[Изображение: 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. Надеюсь это Вам пригодится и я не зря потратил свое время на написание этой статьи.

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

Копирование статьи без моего письменного разрешения - запрещено!
Ответ
#2
PROGRAMMATOR Написал:[*]Русификация диалогов SD2-ACID доступна для скачивания с SVN'а разработчиков RuDB. Важно! Русификацию нужно ставить после установки основной базы SD2-ACID

Цитата:https://rudb.svn.sourceforge.net/svnroot/rudb/тело/scriptdev2 - что бы меньше вопросов потом было Rolleyes

PROGRAMMATOR, не заходит через прямую ссылку.:face2:
Ответ
#3
Исправил статью, я вначале не обратил внимания, что не открывает. Все из-за русских букв.
Ответ
#4
Ну и как же без исходного кода ScriptDev2, его можно и даже нужно скачивать с SVN'а разработчиков

Не могли бы вы сказать что именно необходимо взять отсюда.
Ответ
#5
Sava Написал:Ну и как же без исходного кода ScriptDev2, его можно и даже нужно скачивать с SVN'а разработчиков

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

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

правда оно багнутое
Ответ
#7
при компиляции вілазить такой лог
Цитата:1>------ Построение начато: проект: ScriptDev2, Конфигурация: Release Win32 ------
1>Extracting revision
1>Системе не удается найти указанный путь.
1>Project : error PRJ0019: Инструмент вернул код ошибки из "Extracting revision"
1>Журнал построения был сохранен в "file://g:\подготовка\КОМПИЛЯЦИИ\src\bindings\scriptdev2\VC90\ScriptDev2__Win32_Release\BuildLog.htm"
1>ScriptDev2 - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
с чем єто может бть связано.
Да кстати
Цитата:Теперь перейдите в каталог .git\info и откройте файл exclude, выглядит это все таким образом:
Цитата:c:\mangos\.git\info\exclude
у меня нет такого каталога - что делать.
Ответ
#8
Попытался скомпиллить scriptdev2, скачанный сегодня с https://scriptdev2.svn.sourceforge.net/s...criptdev2/ черепахой.При построении 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__Win32_Release\BuildLog.htm"
1>ScriptDev2 - ошибок 3, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

В чем дело?
Ответ
#9
Aroled просто этот каталог скрытый.
такие проблемы возможны при компиляции c разных VS или если мангос был скомпилен на debug, a scriptdev2 на release (или наоборот)
Еще также перед компиляцией мангоса нужно наложить патч MaNGOS-9483-ScriptDev2.patch (9483 число может быть другим, это ревизия когда последний раз этот файл изменялся), находится этот патч в директории /src/bindings/scriptdev2/patches/
Просьба к пользователям, соблюдайте правила. Экономьте свои/наши время и нервы
Ответ
#10
при компиляции ScriptDev2 выдает ошибки ввиде:
PHP код:
<?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 LNK1120: 25 неразрешенных внешних элементов
Нимогу разобраться в чем проблемма. В С++ еще толком неразбераюсь только осваиваю. Я так понял проблемма вроде в ScriptLoader.cpp только непойму в чем именно!!! Подскажите пожалуйста!
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Компиляция ядра, создание сборки Trinity Core 3.3.5a под Win32 PuShKinG 199 151,578 10-30-2019, 10:18 AM
Последний пост: VikingBO
  Компиляция исходных кодов TrinityCore на Linux Kirito 0 5,150 03-04-2012, 10:38 PM
Последний пост: Kirito
  Компиляция сервера под Линукс на винде maa 5 4,101 12-20-2011, 06:28 PM
Последний пост: Itachi
  Компиляция и базовая настройка сервера MaNGOS (3.0.9) PROGRAMMATOR 125 59,890 04-12-2011, 01:43 PM
Последний пост: PROGRAMMATOR
  Настройка портов Апача в денвере. Cool_prime 4 7,160 05-02-2010, 10:16 PM
Последний пост: Cool_prime
  Linux, компиляция, С++ Arsenn 5 4,095 03-10-2010, 03:23 PM
Последний пост: Arsenn
  Настройка Fugunsk 0 5,141 01-24-2009, 06:36 PM
Последний пост: Fugunsk

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)