Skip to content
Andrew edited this page Sep 2, 2021 · 11 revisions

SMcompiler.exe

Source Mod Pawn Compiler Plugin Helper (далее Помощник) выполняет следующие функции:

  • Запускает компиляцию плагина SourceMod;

  • Копирует на тест-сервер скомпилированный файл плагина и прочие файлы плагина (звуки, перевод фраз и т.п.) ;

  • Перезапускает плагин на сервере и(или) TODO:перезапускает карту и(или) TODO:перезапускает сервер.

  • TODO: Открывает лог работы сервера, лог ошибок SourceMod

  • TODO: Позволяет отправлять команды на сервер

Требования перед использованием

Наличие папки с SourceMod. Для этого:

  1. Скачать файл дистрибутива SourceMod sourcemod-1.10.0-gitXXXX-windows.zip

  2. Распаковать в какую-нибудь папку. Далее для примера используется папка C:\USERS\<UserName>\PROJECT\SOURCEMOD

Установка Помощника

  1. Скачать SMcompiler.exe
  2. Скопировать SMcompiler.exe и smcmphlp.ini в папку C:\USERS\<UserName>\PROJECT\SOURCEMOD\addons\sourcemod\scripting
  3. Отредактировать в файле smcmphlp.ini пути к папкам SourceMod, библиотекам; адрес, логин, пароль к Source Dedicated Server и т.п.

Исходные данные

  1. Папка SourceMod. Далее для примера используется папка C:\USERS\<UserName>\PROJECT\SOURCEMOD
  2. Папка с плагином. Далее для примера используется папка C:\USERS\<UserName>\PROJECT\<Your Plugin>

Минимум

В простейшем случае должно быть две папки:

C:\USERS\<UserName>\PROJECT
                      ├─ SOURCEMOD
                      └─ <Your Plugin>

Расширения

В случае использования дополнительных библиотек: Далее для примера используется библиотека SMLIB в папке C:\USERS\<UserName>\PROJECT\smLIB и библиотека K64T в папке C:\USERS\<UserName>\PROJECT\smK64

C:\USERS\<UserName>\PROJECT
                      ├─ SOURCEMOD
                      ├─ <Your Plugin>					  
                      ├─ smLIB 
                      └─ smK64T					  

Требования к файловой структуре плагина

Файловая структура плагина должна повторять файловую структуру игрового мода и SourceMod.

Файл с исходным кодом плагина должен находится в папке C:\USERS\<UserName>\PROJECT\<Your Plugin>\game\addons\sourcemod\scripting

C:\USERS\<UserName >\PROJECT\<Your Plugin>
└── game
	├───addons	
	│	└───sourcemod
	│		├───plugins
	│		├───scripting 
	│		│	└───<Your Plugin.sp>
	│		└───translations
	│			├───ar
	│			:
	│			└───zho
	├───cfg
	│   └───sourcemod
	├───custom
	└───download	
		├───materials
		│   └───<Your Plugin>	
		└───sound
			└───<Your Plugin>

Минимальная файловая структура плагина:

Цепочка папок вплоть до папки scripting и исходный файл плагина в этой папке

C:\USERS\<UserName>\PROJECT\<Your Plugin>\game\addons\sourcemod\scripting

C:\USERS\<UserName>\PROJECT\<Your Plugin>
└── game
	└───addons	
		└───sourcemod
			└───scripting 
				└───<Your Plugin.sp>

Параметры командой строки SMcompiler.exe

SMcompiler.exe <path\Your Plugin.sp>

где <path\Your Plugin.sp> - имя файла с исходным кодом. 

Конфигурация работы помощника SMcompiler.exe

Файл smcmphlp.ini

SMcompiler.exe сначала читает файл smcmphlp.ini из той же папки, что и он сам, затем из корневой папки проекта плагина. Если в разных файлах smcmphlp.ini встречается одинаковые параметры с разными значениями, то параметр перезаписывается из последнего прочитанного INI файла.