Главная Новости Услуги Форум | База знаний

Вверх

Меню
Пользователей онлайн
Онлайн игроков: 60

Компиляция плагина AMX Mod X — compile .sma в .amxx

Компиляция плагина AMX Mod X — из .sma в .amxx

После того как вы написали исходник плагина (файл .sma), его нужно скомпилировать — превратить в байт-код .amxx, который понимает сервер. Компилятор называется amxxpc и поставляется вместе с AMX Mod X.

Способ 1. Локальная компиляция (Windows/Linux)

Где взять компилятор?

Скачайте AMX Mod X с официального сайта: amxmodx.org или используйте готовый пакет из нашей сборки rehlds. В папке addons/amxmodx/scripting/ лежит amxxpc.exe (Windows) или amxxpc (Linux) и все инклуды *.inc.

Шаг 1. Положите ваш .sma рядом с компилятором

addons/amxmodx/scripting/plugin_hello.sma

Шаг 2. Запустите компилятор

Windows (двойной клик или через cmd):

cd addons\amxmodx\scripting\
amxxpc.exe plugin_hello.sma

Linux (через терминал):

cd addons/amxmodx/scripting/
chmod +x amxxpc
./amxxpc plugin_hello.sma

Шаг 3. Результат

Готовый плагин появится в подпапке compiled/ или рядом — plugin_hello.amxx. Это и есть скомпилированный плагин.

Шаг 4. Установка на сервер

  1. Скопируйте plugin_hello.amxx в cstrike/addons/amxmodx/plugins/ на сервере.
  2. Откройте cstrike/addons/amxmodx/configs/plugins.ini и добавьте строку: plugin_hello.amxx
  3. Перезапустите сервер или выполните amxx_reload в консоли.
  4. Проверьте: amxx plugins — должно показать ваш плагин со статусом "running".

Способ 2. Онлайн-компилятор (быстро для новичков)

Существуют веб-компиляторы AMXX — вставляете код в форму, нажимаете "Compile", получаете .amxx. Удобно для тестов, но не подходит для плагинов с кастомными инклудами.

Частые ошибки компиляции

  • cannot read from file: "amxmodx.inc" — компилятор не видит инклуды. Проверьте, что .sma лежит в папке scripting/ рядом с include/.
  • undefined symbol "get_user_health" — забыт #include <fun>.
  • argument type mismatch — передаёте строку там, где функция ждёт число (или наоборот).
  • symbol already defined — дважды объявили одну переменную.
  • warning: symbol is assigned a value that is never used — переменная создана, но не используется. Не критично, но лучше убрать.

Совет

Включайте дебаг-режим в core.ini или через квар amxx_debug 1 — при ошибках плагина в логе будет полный стек вызовов, что упростит поиск проблемы.

Подробные инструкции и обсуждения ждём вас на нашем форуме — в разделе CS 1.6. Если компилятор выдаёт ошибку, которую не понимаете — создайте тему с кодом и логом, поможем разобраться.
Назад