Jump to content

[Урок] Основы компиляции исходного кода MTA на ОС Windows


Recommended Posts

1. Введение

И так дорогие читатели, я решил написать русскую статью, о том как можно скомпилировать исходный код MTA.

Исторический сложилось что ихний проект делался на 2008 студии, возможно со временем, разработчики перепишут весь исходный код по Microsoft Visual Studio 2010. По скольку стандарт программирования поменялся, это будет не так просто переписать для компилятора *MSVC 2010.

2. Установка MSVS 2008.

Для начала скачаем Microsoft Visual Studio 2008 professional edition отсюда, тут вы скачаете 90 дневную пробную версию, затем когда пройдет 90 дней, ее можно просто переустановить и пользоваться вновь. После того как скачаете установите ее себе.

3. Установка обновления SP1 для MSVS 2008.

После установки Visual Studio вам нужно установить обновление для неё, берём и скачаем его отсюда, затем устанавливаем.

4. Установка DirectX SDK

Теперь нужно скачать SDK для DirectX отсюда. DirectX SDK необходим, на нем завязывается вся графика и GUI проекта MTA.

5. Установка дополнительных компонентов

После этого вам нужно скачать Windows SDK for Windows Server 2008 вместе с .NET Framework 3.5. качаем это отсюда.

6. Подключение необходимых файлов к проекту.

Вы установили все компоненты для MSVS 2008, но теперь вам нужно будет подключить необходимые библиотеки и файлы включения, если вы этого не делали:

1. Открываем Tools->Options

2. Ищем вкладку "Projects and Solutions"

3. Далее ищем "VC++ Directories"

4. Возле надписи "Show directories for:" выбираем Include files

5. Кликаем на кнопку добавления ( значок папки вверху ) И указываем путь до папки.

6. Тоже самое проделайте и с библиотеками ( "Library files" )

В моем случае я подключал только DirectX SDK.

7. Скачивание исходного кода МТА

Теперь можно приступить к скачке исходных кодов MTA. Опять таки что-бы руками не выдирать исходный код, для этого есть программа хорошая и называется она TortoiseSVN , скачав ее и установив, можно теперь начать выдирать исходный код MTA. Для этого создадим папку и назовем ее MTA_SourceCode, к примеру, кликнув по ней правой кнопкой мыши и мы увидим следующее:

screenshot025a.jpg

теперь нажмем там export... и введем ссылку на исходный код "http://mtasa-blue.googlecode.com/svn/trunk/"

как показано на рисунке:

screenshot026fh.jpg

8. Установка МТА

Устанавливаем это

the latest nightly

и это:

MTASA 1.4 data files

после установки, они будут лежать примерно тут C:\Program Files\MTA San Andreas 1.4\ ( вы также можете изменить путь, но это не рекомендуется т.к когда вы будете компилировать МТА, все файлы будут ставится именно в эту директорию по умолчанию )

9. Компиляция МТА

Приступаем к компиляции МТА.

Зайдите в нашу папку где мы скачали исходный код MTA, и найдите следующею директорию под названием "Shared" вот тут лежит проект студии под названием "Core 2008" его мы и запускаем:

screenshot027pf.jpg

это так сказать и есть вся группа проектов, которая собрана в кучу, что существенно упрощает программисту работу.

Теперь тут вы сами решаете компилировать частями или все проекты. нажмем Build Solution, компиляция начнется и может занять от 2 минут и до 7, все зависит от вашей мощности компьютера:

screenshot028g.jpg

после завершения компиляции внизу будет написано, сколько у вас проектов откомпилировалось, в случае неудачи будут написаны провалы, такое могло быть и за не установленных компонентов... Теперь о скомпилированных проектах, куда-же они компилируются (спросите вы)? Изначально они были настроенные на то что-бы, при компиляции файлы выходили сюда: "C:\Program Files\MTA San Andreas 1.4\", значит все что вы откомпилируете все будет лежать там. Вы также можете все настроить, и не забываем компилировать в режиме release. Ну и на последок скажу что все скриптовые функции находятся вот тут:

Client - Deathmatch

и

Server - Deathmatch

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

Примечание:

MSVS 2008 - сокращенное слово, которое означает Microsoft Visual Studio 2008.

Edited by Guest
Link to comment
  • Replies 62
  • Created
  • Last Reply

Top Posters In This Topic

Sektor, А что ты сделал? Если тебя так знают.

Да не, просто пол дня на ирк канале провел пытаясь скомпилировать МТА, сразу сложилось впечатление что с visual studio общается в первый раз, так как не понимал что такое solution file и clean & rebuild. :-P

А вообще, молодец что статью написал.

Link to comment

Я плохо говорил по английский))) Сейчас интересуюсь другим вопросом, построение плагинов для MTA 1.1.1. Вообщем надо передавать не только серверу данные, но и клиенту.

Link to comment

Придумал. Нету такой функции которая может менять параметры огня оружия. Необходимо сделать плагин для мода (для всей публики выложу если сделаю).

Edited by Guest
Link to comment
Тяжелый случай...

буду думать, что поделаешь, надо наконец-то сделать что-то крутое... Проедется в клиент один Плагин устанавливать и на сервер...

Link to comment
Тяжелый случай...

буду думать, что поделаешь, надо наконец-то сделать что-то крутое... Проедется в клиент один Плагин устанавливать и на сервер...

Я имел в виду вас, как тяжелый случай.

Я вам уже отвечал про характеристики оружия.

Link to comment
Тяжелый случай...

буду думать, что поделаешь, надо наконец-то сделать что-то крутое... Проедется в клиент один Плагин устанавливать и на сервер...

Думаете изменить параметры оружия это одна функция? Сейчас уже идёт разработка над Custom Weapon Stats и если было бы так всё просто как Вы говорите - уже было бы всё готово.

Плагином Вы это не сможете сделать, потому что у Вас не будет досутпа к памяти клиента.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...