Проверенный
Пользователь
- Сообщения
- 1,536
- Реакции
- 2,324
- Помог
- 39 раз(а)
Введение.
Для компилирования плагина Вам нужно поместить его исходник с разрешением .sma в папку scripting ( /amxmodx/scripting )
Если с исходником идет файл с разрешением .inc - помещаем его в папку include ( /amxmodx/scripting/include )
Первый способ - компилирование всех плагинов в директории scripting
Данный вариант скомпилирует все ваши sma файлы, которые лежат в папке scripting
Второй способ - компилирование конкретного плагина
Если нужно скомпилировать какой-то отдельный плагин, тогда поступаем следующим образом:
Третий способ - компилирование с помощью командной строки
Четвертый способ - компилирование с помощью notepad++
Подразумевается, что мы работаем с терминалом и не имеем GUI
Для начала нужно попасть в нашу директорию с исходниками
Путь будет немного отличаться у каждого из-за названия своей учетной записи
Команда:
Выставляем права на исполнение:
Первый способ - компилирование всех плагинов в директории scripting
Данный вариант скомпилирует все ваши sma файлы, которые лежат в папке scripting
Второй способ - компилирование конкретного плагина
Если нужно скомпилировать какой-то отдельный плагин, тогда поступаем следующим образом:
Онлайн компилятор я не рассматриваю, потому что он не удобен из-за отсутствия кастомных директив ( .inc), которые требуются для работы вашего плагина.
Для компилирования плагина Вам нужно поместить его исходник с разрешением .sma в папку scripting ( /amxmodx/scripting )
Если с исходником идет файл с разрешением .inc - помещаем его в папку include ( /amxmodx/scripting/include )
Компилирование на Windows
Первый способ - компилирование всех плагинов в директории scripting
Данный вариант скомпилирует все ваши sma файлы, которые лежат в папке scripting
- Запускаем программу compile.exe и ждем завершения компилирования
- Готовые файлы будут лежать в папке compiled ( /amxmodx/scripting/compiled )
Второй способ - компилирование конкретного плагина
Если нужно скомпилировать какой-то отдельный плагин, тогда поступаем следующим образом:
- Переносим нужный нам файл sma на иконку compile.exe
- Готовый файл будет лежать в папке compiled ( /amxmodx/scripting/compiled )
Третий способ - компилирование с помощью командной строки
- Находясь в папке scripting, нажать SHIFT + ПКМ в свободном месте директории и выбрать "открыть окно команд".
- Использовать команду amxxpc <имя файла.sma> [опции], например, amxxpc admin.sma.
- Если компиляция прошла без ошибок, то скомпилированный .amxx файл будет лежать в директории scripting/compiled с тем же именем, что и у .sma файла.
-A <число> - выделение байтов для сегментов данных и стека
-a - сохранить код ассемблера в отдельный файл
-C [+/-] - компактное кодирование выходного файла (по умолчанию=-)
-c <имя> - кодировка, к примеру, 1252 для Windows Latin-1
-D путь - путь к активной директории
-d0 - без символьной информации, без проверки во время выполнения
-d1 - [по умолчанию] проверки во время выполнения, без символьной информации
-d2 - полная отладочная информация и динамические проверки
-d3 - полная отладочная информация и динамические проверки, без оптимизации
-e <имя> - имя файла с ошибками
-H <hwnd> - windows окно, в которое следует отослать информацию при завершении компиляции
-i <имя> - путь к .inc файлам
-l - создать .lst файл (только предварительный процесс)
-o <имя> - установить имя выходного файла .amxx
-p <имя> - установить префикс для выходного файла
-r [имя] - написать отчет в консоль или в специальный файл
-a - сохранить код ассемблера в отдельный файл
-C [+/-] - компактное кодирование выходного файла (по умолчанию=-)
-c <имя> - кодировка, к примеру, 1252 для Windows Latin-1
-D путь - путь к активной директории
-d0 - без символьной информации, без проверки во время выполнения
-d1 - [по умолчанию] проверки во время выполнения, без символьной информации
-d2 - полная отладочная информация и динамические проверки
-d3 - полная отладочная информация и динамические проверки, без оптимизации
-e <имя> - имя файла с ошибками
-H <hwnd> - windows окно, в которое следует отослать информацию при завершении компиляции
-i <имя> - путь к .inc файлам
-l - создать .lst файл (только предварительный процесс)
-o <имя> - установить имя выходного файла .amxx
-p <имя> - установить префикс для выходного файла
-r [имя] - написать отчет в консоль или в специальный файл
Options:
-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=-)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d0 no symbolic information, no run-time checks
-d1 [default] run-time checks, no symbolic information
-d2 full debug information and dynamic checking
-d3 full debug information, dynamic checking, no optimization
-e<name> set name of error file (quiet compile)
-H<hwnd> window handle to send a notification message on finish
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of output file
-p<name> set name of "prefix" file
-r[name] write cross reference report to console or to specified file
-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=-)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d0 no symbolic information, no run-time checks
-d1 [default] run-time checks, no symbolic information
-d2 full debug information and dynamic checking
-d3 full debug information, dynamic checking, no optimization
-e<name> set name of error file (quiet compile)
-H<hwnd> window handle to send a notification message on finish
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of output file
-p<name> set name of "prefix" file
-r[name] write cross reference report to console or to specified file
Четвертый способ - компилирование с помощью notepad++
- Скачиваем сам notepad++ с оф. сайта
- Нам понадобится плагин NppExec
- Скачиваем его через Plugin Manager ( Плагины => Plugin Manager => Show Plugin Manager )
4. После установки NppExec, подтверждаем перезапуск notepad++
5. Настроим наш NppExec для компилирования плагинов ( Плагины => NppExec => Execute )
6. В появившемся окне надо указать путь для нашего компилятора
Код:
cd $(CURRENT_DIRECTORY)
Код:
"C:\Users\Admin\Desktop\ReAMXX\pb\compile.exe" "$(FILE_NAME)"
C:\Users\Admin\Desktop\ReAMXX\pb\ - это ваш путь до файла compile.exe, подставьте тут свой путь
7. Нажимаем Save... и указываем название нашего скрипта
8. Снова Save и затем OK
9. Настройка скрипта завершена. Сделаем горячую клавишу для удобства.
10. Открываем расширенные настройки ( Плагины => NppExec => Advanced Options )
11. В появившемся окне находим Associated script и выбираем название нашего скрипта, который мы создали ранее
12. Нажимаем Add/Modify и в поле Menu items должен появится наш скрипт
13. Нажимаем ОК и перезапускам notepad++
14. Заходим Опции => Горячие клавиши и выбираем вкладку Plugins Commands
15. Находим Execute... и Direct Execute Previous и сбрасываем их настройки ( снимаем галочки и выставляем None )
16. В этом же окне находим наш скрипт и задаем ему клавишу активации ( у меня F6 )
17. Теперь при нажатии клавиши F6, наш скрипт будет скомпилирован.
Компилирование на Linux
Подразумевается, что мы работаем с терминалом и не имеем GUI
Для начала нужно попасть в нашу директорию с исходниками
Путь будет немного отличаться у каждого из-за названия своей учетной записи
Команда:
где user - имя вашего пользователя в системе, а server_dir - название папки, где находится сервер (возможно у вас файлы извлечены в корневую директорию пользователя, тогда этот шаг в адресе не нужен)cd /home/user/server_dir/cstrike/addons/amxmodx/scripting
Выставляем права на исполнение:
chmod 0754 amxxpc compile.sh
Usage: pawncc <filename> [filename...] [options]
Options:
-A<num> - alignment in bytes of the data segment and the stack
-a - output assembler code
-C[+/-] - compact encoding for output file (default=-)
-c <name> - codepage name or number; e.g. 1252 for Windows Latin-1
-d0 - no symbolic information, no run-time checks
-d1 - [default] run-time checks, no symbolic information
-d2 - full debug information and dynamic checking
-d3 - full debug information, dynamic checking, no optimization
-e <name> - set name of error file (quiet compile)
-i <name> - path for include files
-l - create list file (preprocess only)
-o<name> - set base name of (P-code) output file
-p<name> - set name of "prefix" file
-r[name] - write cross reference report to console or to specified file
-S<num> - stack/heap size in cells (default=4096)
-s<num> - skip lines from the input file
-t<num> - TAB indent size (in character positions, default=8)
-v<num> - verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
-w<num> - disable a specific warning by its number
-E - treat warnings as errors
-X<num> - abstract machine size limit in bytes
-\ - use '\' for escape characters
-^ - use '^' for escape characters
-;[+/-] - require a semicolon to end each statement (default=-)
-([+/-] - require parantheses for function invocation (default=-)
sym=val - define constant "sym" with value "val"
sym= - define constant "sym" with value 0
Options:
-A<num> - alignment in bytes of the data segment and the stack
-a - output assembler code
-C[+/-] - compact encoding for output file (default=-)
-c <name> - codepage name or number; e.g. 1252 for Windows Latin-1
-d0 - no symbolic information, no run-time checks
-d1 - [default] run-time checks, no symbolic information
-d2 - full debug information and dynamic checking
-d3 - full debug information, dynamic checking, no optimization
-e <name> - set name of error file (quiet compile)
-i <name> - path for include files
-l - create list file (preprocess only)
-o<name> - set base name of (P-code) output file
-p<name> - set name of "prefix" file
-r[name] - write cross reference report to console or to specified file
-S<num> - stack/heap size in cells (default=4096)
-s<num> - skip lines from the input file
-t<num> - TAB indent size (in character positions, default=8)
-v<num> - verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
-w<num> - disable a specific warning by its number
-E - treat warnings as errors
-X<num> - abstract machine size limit in bytes
-\ - use '\' for escape characters
-^ - use '^' for escape characters
-;[+/-] - require a semicolon to end each statement (default=-)
-([+/-] - require parantheses for function invocation (default=-)
sym=val - define constant "sym" with value "val"
sym= - define constant "sym" with value 0
Первый способ - компилирование всех плагинов в директории scripting
Данный вариант скомпилирует все ваши sma файлы, которые лежат в папке scripting
- Запускаем скрипт командой ./compile.sh и ждем завершения компилирования.
- Получаем отчет о выполненном задании и нажимаем Q, чтобы закрыть отчет
- Готовые файлы будут лежать в папке compiled ( /amxmodx/scripting/compiled )
Второй способ - компилирование конкретного плагина
Если нужно скомпилировать какой-то отдельный плагин, тогда поступаем следующим образом:
- Запускаем скрипт командой ./amxxpc timeleft.sma и ждем завершения компилирования.
- Готовый файл будет лежать в этой же папке ( /amxmodx/scripting )
Онлайн компилятор я не рассматриваю, потому что он не удобен из-за отсутствия кастомных директив ( .inc), которые требуются для работы вашего плагина.
Download all Attachments
-
698.1 KB Просмотры: 1,150
-
548.1 KB Просмотры: 443
Последнее редактирование модератором: