Добро пожаловать

Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация

Статья Компиляция плагинов SourceMod

Тема в разделе "Counter-Strike: Source", создана пользователем ProroK, 4 фев 2017.

  1. ProroK

    ProroK Забанен

    658
    107
    150
    Вместе с файлами SourceMod идет и компилятор. Обычно он находится в директории ..sourcemod/scripting/.

    Чтобы откомпилировать .sp исходник нужно:
    1. Для удобства поместить ваш .sp файл в директорию scripting.
    2. Если с исходником идет файл(ы) .inc, то их нужно поместить в директорию scripting/include.
    2. Мышкой переместить ваш .sp файл прямо на compile.exe.

    compile.jpg

    3. Если компиляция прошла без ошибок, то скомпилированный .smx файл будет лежать в директории scripting/compiled с тем же именем, что и у .sp файла.

    compiled.jpg

    Компиляцию можно сделать и через командную строку:
    1. Запустить cmd и перейти в директорию scripting.
    2. Использовать команду spcomp <имя файла.sp> [опции], например, spcomp nextmap.sp.
    3. Если компиляция прошла без ошибок, то скомпилированный .smx файл будет лежать в директории scripting/compiled с тем же именем, что и у .sp файла.

    Список опций компилятора:
    PHP:
    -A<число> - выделение байтов для сегментов данных и стека
    -сохранить код ассемблера в отдельный файл
    -c<имя> - кодировкак примеру1252 для Windows Latin-1
    -Dпуть путь к активной директории
    -e<имя> - имя файла с ошибками
    -H<hwnd> - windows окнов которое следует отослать информацию при завершении компиляции
    -i<имя> - путь к .inc файлам
    -создать .lst файл (только предварительный процесс)
    -
    o<имя> - установить имя выходного файла
    -O<число> - уровень оптимизации (по-умолчанию=-O2)
    без оптимизации
    полная оптимизация
    -p<имя> - установить префикс для выходного файла
    -r[имя] - написать отчет в консоль или в специальный файл
    -S<число> - размер стека/динамической памяти в ячейках (по-умолчанию=4096)
    -
    s<число> - пропустить строк из .inc файла
    -t<число> - размер отступа TAB (в символахпо-умолчанию=8)
    -
    v<число> - режим вывода ошибок0=тихий1=нормальный2=подробный (по-умолчанию=1)
    -
    w<число> - отключение определенного числа предупреждений
    -X<число> - абстрактный машинный предел размера в байтах
    -XD<число> - абстрактный машинный предел стека/динамической памяти в байтах
    -\ - использовать '\', как символ выхода
    -^ - использовать '
    ^', как символ выхода
    -;[+/-] - требование точки с запятой в конце каждого выражения (по-умолчанию=-)
    sym=val - объявляет константу "sym" со значением "val"
    sym= - объявляет константу "sym" со значением 0
    Существует также онлайн компиляция плагинов SM:

    Часто задаваемые вопросы:
    Q: Как проверить, что созданный плагин подключен ? У меня например, не работает.
    A: Команда на сервере: sm plugins list
     
    Mr_Jluc нравится это.