Русское сообщество по скриптингу

Компиляция AMX Mod X

Статьи или фрагменты кода для новичков и уже опытных скриптеров по Metamod.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по Metamod.

Компиляция AMX Mod X

Сообщение DJ_WEST » 21 дек 2010, 17:54

В данной статье будет рассмотрена компиляция плагина для Metamod под названием AMX Mod X версии 1.8.2. Для успешной компиляции AMXX нам понадобятся следующие средства:
  1. Вы должны зарегистрироваться, чтобы видеть ссылки.

    hlsdk-2.3-p3.zip

  2. Вы должны зарегистрироваться, чтобы видеть ссылки.

    metamod-1.19-win.src.zip

  3. Вы должны зарегистрироваться, чтобы видеть ссылки.

После скачивания компонентов распакуйте их в директорию C:\AMX Mod X, например. Таким образом содержание данной папки должно быть таким:
C:\AMX Mod X\metamod-1.19 - директория с исходниками Metamod.
C:\AMX Mod X\hlsdk-2.3-p3 - директория с HL SDK.
C:\AMX Mod X\amxmodx-source - директория с исходниками AMXX (у вас папка может называться по другому, для удобства можно переименовать в указанное).

Прежде всего рассмотрим компиляцию библиотек под Windows. Под данной ОС компиляция проходит с помощью программного средства под названием Вы должны зарегистрироваться, чтобы видеть ссылки.. При написании данной статьи использовалась версия VS 2010 (но подойдет 2005 и 2008 версии). Запускаем файл проекта для Visual Studio - C:\AMX Mod X\amxmodx-source\amxmodx\msvc8\amxmodx_mm.vcproj. Если версия созданного проекта отличается от версии вашего VS, будет предложена конвертация запущенного проекта в формат подходящий для вашего VS:
[align=center]
vs_convert.jpg
[/align]

После успешной конвертации слева на панели можно будет увидеть файлы проекта, выбираем amxmodx_mm:
[align=center]
vs_browser.jpg
[/align]
Сверху на панели вместо JITDebug выбираем JITRelease.

Чтобы изменить настройки проекта, зайдите в "Проект - Свойства" (или Alt+F7). В "Свойства конфигурации - С\C++" находится опция "Дополнительные каталоги включаемых файлов", в ней прописаны пути к файлам, которые необходимо включить в проект при компиляции (include). Следовательно, здесь прописаны пути к Metamod и HLSDK исходникам. Конечно, вы можете изменить путь к файлам прямо в данных настройках, но лучше оставить, как есть и воспользоваться текущим вариантом через переменные среды.

Зайдите в "Панель управления - Система - Дополнительно - Переменные среды", откроется новое окно в под-окне "Системные переменные" нажмите кнопку "Создать", затем впишите имя переменной - METAMOD, значение переменной - C:\AMX Mod X\metamod-1.19\metamod. Точно также добавляем переменную HLSDK со значением C:\AMX Mod X\hlsdk-2.3-p3\multiplayer. Нажимаем "ОК", сохраняя изменения. Если у вас был запущен VS в данный момент, то для применения изменений необходимо его перезапустить.

Мы подготовили и настроили среду для компиляции проекта AMXX, теперь перейдем непосредственно к процессу компиляции, нажимаем F5 или зеленый треугольник на панели инструментов. После процесса компиляции, проверяем нет ли ошибок или предупреждений в логах (нижнее окно).
В VS 2010 идет дополнительно Microsoft SDK, в котором также есть константы с аналогичными именами из HLSDK, к примеру, данное предупреждение:
Код: Выделить всё
C:\AMX Mod X\hlsdk-2.3-p3\multiplayer\engine\eiface.h(416): warning C4005: ARRAYSIZE: изменение макроопределения
          c:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1140): см. предыдущее определение "ARRAYSIZE"

Нажимаем два раза на строку ошибки с winnt.h и сразу переходим к проблемному месту в файле. Для устранения проблемы просто закомментируем строчку:
[pawn]//#define ARRAYSIZE(A)    RTL_NUMBER_OF_V2(A)        [/pawn]
Также может быть такое предупреждение:
Код: Выделить всё
C:\AMX Mod X\hlsdk-2.3-p3\multiplayer\dlls\enginecallback.h(62): warning C4005: SERVER_EXECUTE: изменение макроопределения
          c:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winspool.h(3137): см. предыдущее определение "SERVER_EXECUTE"

Также закомментируем код в файле winspool.h:
[pawn]/*
#define SERVER_EXECUTE       (STANDARD_RIGHTS_EXECUTE       |\
                              SERVER_ACCESS_ENUMERATE)
*/
 [/pawn]
Перезапускаем компиляцию через Ctrl+Alt+F7. Теперь компиляция должна пройти без ошибок и предупреждений:
Код: Выделить всё
Построение успешно завершено.

Затраченное время: 00:00:50.16
========== Перестроение всех: успешно: 1, с ошибками: 0, пропущено: 0 ==========

Библиотеку amxmodx_mm.dll теперь можно найти в директории C:\AMX Mod X\amxmodx-source\amxmodx\msvc8\JITRelease.
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Компиляция AMX Mod X

Сообщение Valer4 » 22 дек 2018, 07:01

Аватара пользователя
Valer4
 
Сообщения: 52
Зарегистрирован: 07 окт 2010, 14:12
Откуда: Байконур
Благодарил (а): 5 раз.
Поблагодарили: 5 раз.

Пред.

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6