Гайды Rust

Создание плагина для Rust Magma - часть 3

Автор статьи stream
Комментарии к статье Создание плагина для Rust Magma - часть 3 7
Дата публикации
Количество просмотров 2326
Мне нравится Нравится!
Создание плагина для Magma - часть 3


Это продолжение серии уроков по созданию плагинов для Rust Magma.
И в этой части я расскажу о подключении конфиг файла к плагину.


Почему я решил рассказать о подключении файла конфигурации позже всего?
Ну так сказать он нам не требовался =).
Но сегодня я покажу как подключить и мы разберем пару примеров.

Берем наш плагин:
//Приветствие
function On_PlayerConnected(Player) 
	{
		Player.Message("Добро пожаловать!");
		Player.Message("Привет, " + Player.Name);
	}

//Команды
function On_Command(Player, cmd, args)
	{
		//command test
		if(cmd == "test")
		{
			Player.Message("Привет, " + Player.Name);
		}
	
		//command ping
		if(cmd == "ping")
		{
			Player.Message("Pong!");
		}
	}


И в самое начало дописываем:
//Подключение конфига
var ConfigName = 'Config';

var ConfigName - переменная, 'Config' - имя конфига.

В папке с плагином создаем файл Config.cfg.
В этом файле пишем:
[Settings]
allow=true

allow=true будет отвечать за включение или выключение.

Дописываем плагин дальше: (в часть отвечаю за исполнение команд)
		cmd = Data.ToLower(cmd);
		if(Data.GetConfigValue(ConfigName, "Settings", "allow") != "true")
		{
			cmd = null;
		}

Объявляем переменную cmd. Она у нас будет заменять все команды.
Дальше проверяем в конфиге включена ли возможность использования команд.
Если ConfigName, "Settings", "allow" не равно "true" (то есть в блоке Settings->allow будет false) - мы не даем использовать команды.
Если же true - все ок.
cmd = null - если в конфиге false - команды будут отключены. Хотя можно вместо этого записать туда только 1 доступную команду к примеру, которая будет работать при отключенной возможности ввода команд.

В итоге:
//config.cfg
allow=true

//plugin.js
var ConfigName = 'config';

function On_PlayerConnected(Player) 
	{
		Player.Message("Добро пожаловать!");
		Player.Message("Привет, " + Player.Name);
	}

function On_Command(Player, cmd, args)
	{
	
		cmd = Data.ToLower(cmd);
		if(Data.GetConfigValue(ConfigName, "Settings", "enable") != "true")
		{
			cmd = null;
		}
		
		if(cmd == "test")
		{
			Player.Message("Привет, " + Player.Name);
		}
	
		if(cmd == "ping")
		{
			Player.Message("Pong!");
		}
	}


Скачать пример из этого урока: plugin.zip

Следующая часть: читать

На этом все, надеюсь этот урок был полезен и вы продвинулись еще на 1 шаг дальше в создании плагинов.
Совсем скоро новая часть, до скорых встреч!
Аватар пользователя Megan
Автор: Megan Дата: 15 марта 2014 23:25
Можно дополнить немного про
Data.ToLower
Data.GetConfigValue
Аватар пользователя serg1980serg
Автор: serg1980serg Дата: 15 марта 2014 23:34
А можете сделать пример плагина который бы выключал и включал траву?
Аватар пользователя AdminRust
Автор: AdminRust Дата: 16 марта 2014 08:11
Цитата: serg1980serg
А можете сделать пример плагина который бы выключал и включал траву?

Получите, распишитесь
http://2rust.net/plaginy-rust-magma/206-player-grass-on-off-vklyuchenie-i-vyklyuc
henie-travy.html
Аватар пользователя Megan
Автор: Megan Дата: 16 марта 2014 10:33
Сомнения у меня на счет
var ConfigName = 'config',
а не
var ConfigName = "config"
поскольку формат такой
Data.GetConfigValue("config", "Settings", "enable")
Аватар пользователя Megan
Автор: Megan Дата: 16 марта 2014 10:47
а в конце откуда-то "enable" появилось, а не "allow"
if(Data.GetConfigValue(ConfigName, "Settings", "enable") != "true")
if(Data.GetConfigValue(ConfigName, "Settings", "allow") != "true")
Аватар пользователя serg1980serg
Автор: serg1980serg Дата: 16 марта 2014 12:59
Примного благодарен
Аватар пользователя VaNnOrus
Автор: VaNnOrus Дата: 20 марта 2014 00:27
Не знаю для какой версии Магмы это писалось, но на 1.3 не работает.
Все потому, что нужно писать не имя файла конфигурации, а имя плагина. Причем файл конфигурации должен называться так же как и плагин, например:

plugin/
plugin/plugin.cfg
plugin/plugin.js

Тогда все работает.
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера