Перейти к содержанию

Рекомендуемые сообщения

  • Администратор
Опубликовано

Внимание, я этот плагин не проверял. У меня нет возможности проверить его на наших тестовых серверах.

Задача плагина состоит в том, что бы выключить mp_autoteambalance если набирается определенное количество игроков. В данном примере количество игроков равно 26.

#pragma semicolon 1
#pragma newdecls required

#include <sourcemod>

public Plugin myinfo = {
	name = "mp_autoteambalance", 
	author = "", 
	description = "Автоматическое выключение автобаланса при определенном количестве игроков", 
	version = "1.0.0", 
	url = ""
};

int g_iRoundStatus = 0, 
g_iSettingNow;


public void OnPluginStart() {
	HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
	HookEvent("round_end", Event_RoundEnd, EventHookMode_PostNoCopy);
	HookConVarChange(FindConVar("mp_autoteambalance"), ConVarChanged);
}

public void OnMapStart() {
	g_iSettingNow = GetConVarInt(FindConVar("mp_autoteambalance"));
}

public void OnClientPostAdminCheck(int client) {
	checksetting();
}

public void OnClientDisconnect(int client) {
	checksetting();
}

public Action Event_RoundStart(Event event, char[] name, bool dontBroadcast) {
	g_iRoundStatus = 1;
	checksetting();
}

public Action Event_RoundEnd(Event event, char[] name, bool dontBroadcast) {
	g_iRoundStatus = 0;
}

void ConVarChanged(ConVar convar, const char[] oldValue, const char[] newValue) {
	g_iSettingNow = StringToInt(newValue);
}

void checksetting() {
	if (g_iRoundStatus) {
		if (countplayers() >= 26) {
			if (g_iSettingNow) {
				ServerCommand("mp_autoteambalance 0");
			}
		}
		else if (!g_iSettingNow) {
			ServerCommand("mp_autoteambalance 1");
		}
	}
}

int countplayers() {
	int count = 0;
	for (int i = 1; i <= MaxClients; i++) {
		if (IsClientInGame(i) && !IsFakeClient(i)) {
			count++;
		}
	}
	return count;
} 

Для изменения количества игроков отредактируйте 51 строку плагина:

void checksetting() {
	if (g_iRoundStatus) {
		if (countplayers() >= 26) {
			if (g_iSettingNow) {
				ServerCommand("mp_autoteambalance 0");
			}
		}
		else if (!g_iSettingNow) {
			ServerCommand("mp_autoteambalance 1");
		}
	}
}

 

mp_autoteambalance.sp mp_autoteambalance.smx

«Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон

  • 2 года спустя...

Оставляй отзывы,
получай деньги!

Перейти на Otzovik
  • Ответов 1
  • Создана
  • Последний ответ

Топ авторов темы

Популярные дни

Топ авторов темы

  • Администратор
Опубликовано

MP_Autoteambalance

Просмотр файла

Плагин mp_autoteambalance представляет собой инструмент для автоматического управления функцией автобаланса в игре Counter-Strike: Source. Этот плагин позволяет администраторам серверов гибко настраивать автобаланс в зависимости от количества игроков на сервере.

Основные особенности:

  • Автоматическое выключение автобаланса при достижении определенного количества игроков на сервере.
  • Возможность настройки определенного порога игроков, при достижении которого функция автобаланса будет отключена.
  • Управление параметрами плагина через консоль сервера или файлы конфигурации.

Этот плагин обеспечивает более гибкое и удобное управление автобалансом на сервере, что способствует более сбалансированной игровой среде и повышению удовлетворенности игроков.


 

«Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

Оставляй отзывы,
получай деньги!

Перейти на Otzovik


  • Текущие цели пожертвования

    • Пожертвовано 0 ₽ из 30 000 ₽
  • Лучшие авторы

  • Последние достижения

    • Darya получил значок
      Первые шаги
    • Darya получил значок
      Первые шаги
    • Darya получил значок
      Первые шаги
    • Darya получил значок
      Первые шаги
    • Darya получил значок
      Первые шаги
×
×
  • Создать...