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

ryancoolround

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

  • Администратор

По идее этот скрипт должен запретить кикать ботов через Callvote. Но либо он не работает, либо я дурак и не знаю как его можно проверить. Но вдруг кому пригодится на заметку.

#include <sourcemod>

#pragma semicolon 1
#pragma newdecls required

public Plugin myinfo =
{
    name = "Kick Immunity to Bots",
    author = "L4D2Noob.RU",
    description = "Этот плагин должен предотвращать кик ботов в игре",
    version = "0.3",
    url = "http://L4D2Noob.RU"
};

public void OnPluginStart()
{
	AddCommandListener(cmdCallVote, "callvote");
}

public Action cmdCallVote(int client, const char[] command, int argc)
{
	if (!(0 < client <= MaxClients && IsClientInGame(client)))
	{
		return Plugin_Continue;
	}
	
	char sType[32];
	GetCmdArg(1, sType, sizeof sType);
	if (StrEqual(sType, "kick", false))
	{
		char sTarget[32];
		GetCmdArg(2, sTarget, sizeof sTarget);
		int iTarget = GetClientOfUserId(StringToInt(sTarget));
		if (IsFakeClient(iTarget))
		{
			return Plugin_Handled;
		}
	}
	
	return Plugin_Continue;
} 

 

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...
  • 2 года спустя...
  • Администратор

Гость, спасибо за информацию. Посмотрим, что можно улучшить в этом скрипте. Возможно, проблема в определенных условиях или настройках сервера. Давай внимательно изучим код и возможные моменты, которые могли бы повлиять на его работу.

Прежде всего, убедимся, что скрипт активен и корректно загружается. Добавим отладочные сообщения, чтобы следить за ходом выполнения кода. Возможно, мы сможем выявить, в каком месте возникает проблема.

public void OnPluginStart()
{
    AddCommandListener(cmdCallVote, "callvote");
    PrintToServer("Плагин Kick Immunity to Bots успешно загружен.");
}

Добавим этот код в начало OnPluginStart, чтобы убедиться, что плагин загружается. После этого тщательно следим за консолью сервера после перезапуска.

Также, проверим, что команда callvote вызывается корректно. Мы можем добавить еще одно отладочное сообщение в начале cmdCallVote:

public Action cmdCallVote(int client, const char[] command, int argc)
{
    PrintToServer("Команда callvote вызвана.");
    // остальной код...
}

Следим за консолью, чтобы убедиться, что команда действительно вызывается.

Давай проведем этот анализ, и я дам тебе конкретные рекомендации для улучшения работы скрипта.

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • Лучшие авторы

    На этой неделе никто репутацию не получал

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

    • Blacky получил значок
      Подмастерье
    • GAMADA повысил звание
      Lvl 1
    • Darya повысил звание
      Lvl 14
    • Mad.Eagle повысил звание
      Lvl 5
    • Mad.Eagle повысил звание
      Lvl 4
×
×
  • Создать...