cl_minmodels 1 , как запретить?

King of Sparta

Участник
Сообщения
44
Реакции
0
Помогите пожалуйста запретить консольную, клиентскую команду cl_minmodels 1. У меня сервер с модом прятки (Hide and Seek).
 

King of Sparta

Участник
Сообщения
44
Реакции
0
Жулик
--- Добавлено позже ---
Дело в том, что там пропсы, террористы выбирают пропс, в которого превращаются и прячутся. С cl_minmodels 1 модельки пропса нету, а есть скин обычного террориста
 

King of Sparta

Участник
Сообщения
44
Реакции
0
Это я сделал. По стандарту у всех игроков на моем сервере стоит 0. Но любой может ввести в консоль cl_minmodels 1 и все у него работает.
--- Добавлено позже ---
Подскажите пожалуйста, прошу
 
Последнее редактирование:

aksel36

Участник
Сообщения
211
Реакции
57
Я блокировал эту команду SMAC_ом. SMAC позволяет добавлять свои квары, для проверки у игроков. Можно настроить кик игрока с этим параметром.
 

aksel36

Участник
Сообщения
211
Реакции
57
sp и smx в архиве.
Разумеется SMAC должен быть установлен. Можно добавлять квары прямо в server.cfg, но у меня не получилось, сделал непосредственно в плагине.
 

Вложения

  • smac_cvars.rar
    16.4 КБ · Просмотры: 35

King of Sparta

Участник
Сообщения
44
Реакции
0
Друзья. Есть вот такой вот плагин: Custom Files Filter Checker - AlliedModders Который запрещает консольные команды(Кикает игрока). Я настроил его под cl_minmodels 1. Если у игрока включен cl_minmodels 1 то он не сможет зайти на сервер. Я прошу помощи, как сделать так, что бы эта проверка шла постоянно. А то сейчас человек может ввести cl_minmodels 0 и зайти на сервер, а на самом сервере ввести cl_minmodels 1 и его не кикнет. Помогите пожалуйста, заранее благодарю всех
 

rejchev

менеджер клоунов
Сообщения
1,673
Реакции
1,294
Друзья. Есть вот такой вот плагин: Custom Files Filter Checker - AlliedModders Который запрещает консольные команды(Кикает игрока). Я настроил его под cl_minmodels 1. Если у игрока включен cl_minmodels 1 то он не сможет зайти на сервер. Я прошу помощи, как сделать так, что бы эта проверка шла постоянно. А то сейчас человек может ввести cl_minmodels 0 и зайти на сервер, а на самом сервере ввести cl_minmodels 1 и его не кикнет. Помогите пожалуйста, заранее благодарю всех
Сделайте проверку значения на начало раунда и перекомпильте плагин.
 
Последнее редактирование:

King of Sparta

Участник
Сообщения
44
Реакции
0
Спасибо. А как сделать эту проверку? А лучше всего постоянную проверку. А то он в начале раунда будет cl_minmodels 0 а потом в середине раунда напишет 1 найдет кого хотел и опять 0. И в новом раунде у него будет 0
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
Можно попробовать так
C-подобный:
public OnClientPutInServer(client)
{
   CheckClientVariable(client);
}

public OnClientSettingsChanged(client)
{
   CheckClientVariable(client);
}

CheckClientVariable(client)
{
   QueryClientConVar(client, "cl_minmodels", OnQueryClientConVar, GetClientUserId(client));
}

public OnQueryClientConVar(QueryCookie:cookie, userid, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
   new client = GetClientOfUserId(userid);
   if ( client && cvarValue[0] != '0' ) {
       KickClient(client, "Установите значение cl_minmodels равным 0");
   }
}
 

King of Sparta

Участник
Сообщения
44
Реакции
0
Можно попробовать так
C-подобный:
public OnClientPutInServer(client)
{
   CheckClientVariable(client);
}

public OnClientSettingsChanged(client)
{
   CheckClientVariable(client);
}

CheckClientVariable(client)
{
   QueryClientConVar(client, "cl_minmodels", OnQueryClientConVar, GetClientUserId(client));
}

public OnQueryClientConVar(QueryCookie:cookie, userid, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
   new client = GetClientOfUserId(userid);
   if ( client && cvarValue[0] != '0' ) {
       KickClient(client, "Установите значение cl_minmodels равным 0");
   }
}
Спасибо. А куда это вставлять? У меня стоит Custom Files Filters Checker.
/*
* Custom Files Filter Checker
*
* Simple plugin for kicking players who have disabled downloading custom files
* cl_allowdownload and cl_downloadfilter "none" - players with cl_downloadfilter "nosounds"
* can join to server.
* I made this plugin to avoid situations when some players playing with BIG RED ERRORS on screen (eg. missing hat models).
*
* Version 1.0
* - Initial release
* Version 1.1
* - Added immunity for complaining admins^^... (for ROOT Admin)
* Version 1.2
* - Fixed logging
* Version 1.3
* - Redone immunity
* Version 1.4
* - Minor Fixes
*
* Zuko / #hlds.pl @ Qnet / zuko.isports.pl /
*
*/

#include <sourcemod>

new String:logFile[256];

#define PLUGIN_VERSION "1.4"

public Plugin:myinfo =
{
name = "Custom Files Filter Checker",
author = "Zuko",
description = "Check if player can download custom files.",
version = PLUGIN_VERSION,
url = "Bonus 50 PLN w STS dla KAŻDEGO z okazji awansu Polski na MŚ - Legalny Bukmacher"
}

public OnPluginStart()
{
CreateConVar("customchecker_version", PLUGIN_VERSION, "Custom Files Filter Checker Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY)
BuildPath(Path_SM, logFile, sizeof(logFile), "logs/customfilesfilterchecker.log");

LoadTranslations("customfilesfilterchecker.phrases");
}

public OnClientPostAdminCheck(client)
{
if (IsClientConnected(client))
{
QueryClientConVar(client, "cl_minmodels", ConVarQueryFinished:CvarChecking_AllowDownload, client);
}
}

public CvarChecking_AllowDownload(QueryCookie:cookie, client, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
new icvarValue = StringToInt(cvarValue)
new String:name[20], String:steamid[100];
if (((icvarValue) == 1) && (GetUserFlagBits(client) & ADMFLAG_ROOT != ADMFLAG_ROOT))
{
GetClientName(client, name, 19);
GetClientAuthString(client, steamid, 99);
LogToFile(logFile, "%T", "EnableDownloading_Log", LANG_SERVER, name, steamid);
KickClient(client, "%t", "EnableDownloading", LANG_SERVER);
}
else
{
if (IsClientConnected(client))
{
QueryClientConVar(client, "cl_downloadfilter", ConVarQueryFinished:CvarChecking_DownloadFilter, client);
}
}
}

public CvarChecking_DownloadFilter(QueryCookie:cookie, client, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
new String:name[20], String:steamid[100];
if ((strcmp(cvarValue,"none",false) == 0) && (GetUserFlagBits(client) & ADMFLAG_ROOT != ADMFLAG_ROOT))
{
GetClientName(client, name, 19);
GetClientAuthString(client, steamid, 99);
LogToFile(logFile, "%T", "DownloadFilter_Log", LANG_SERVER, name, steamid);
KickClient(client, "%t", "DownloadFilter", LANG_SERVER);
}
}
 
Последнее редактирование модератором:

King of Sparta

Участник
Сообщения
44
Реакции
0

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
Во-первых нужно было формат .txt изменить на .sp.
 

Вложения

  • block.smx
    3.8 КБ · Просмотры: 13

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
Это полноценный плагин, вставлять в другие его не надо. Эту версию проверил, всё работает. К сожалению, единственный вариант это проверка таймером заданный интервал времени значение квара у всех игроков, поскольку OnClientSettingsChanged не вызывается при изменении квара cl_minmodels. Так же исправил ошибку с неправильным вызовом функции QueryClientConVar и его обратного вызова OnQueryClientConVar.
C-подобный:
public OnPluginStart()
{
    for ( new i = 1; i <= MaxClients; ++i ) {
        if ( IsClientInGame(i) ) {
            CheckClientVariable(i);
        }
    }
 
    CreateTimer(0.0, Timer_CheckConVar, _, TIMER_REPEAT);
}

public Action:Timer_CheckConVar(Handle:timer)
{
    for ( new i = 1; i <= MaxClients; ++i ) {
        if ( IsClientInGame(i) ) {
            CheckClientVariable(i);
        }
    }
}

public OnClientPutInServer(client)
{
    CheckClientVariable(client);
}

CheckClientVariable(client)
{
    if ( !IsFakeClient(client) ) {
        QueryClientConVar(client, "cl_minmodels", OnQueryClientConVar);
    }
}

public OnQueryClientConVar(QueryCookie:cookie, client, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
    if ( cvarValue[0] != '0' ) {
        KickClient(client, "Установите значение cl_minmodels равным 0");
    }
}
Задать значения таймера можно в строке
C-подобный:
CreateTimer(0.0, Timer_CheckConVar, _, TIMER_REPEAT);
где 0.0 - текущая задержка таймера (т.е. проверка будет осуществляться каждый фрейм). Можете установить значение 0.25 для 250мс (4 раза в секунду) или какое-нибудь другое, которое вам больше нравится.
 

King of Sparta

Участник
Сообщения
44
Реакции
0
Во-первых нужно было формат .txt изменить на .sp.
Спасибо, а как изменить форма txt на sp?
--- Добавлено позже ---
Это полноценный плагин, вставлять в другие его не надо. Эту версию проверил, всё работает. К сожалению, единственный вариант это проверка таймером заданный интервал времени значение квара у всех игроков, поскольку OnClientSettingsChanged не вызывается при изменении квара cl_minmodels. Так же исправил ошибку с неправильным вызовом функции QueryClientConVar и его обратного вызова OnQueryClientConVar.
C-подобный:
public OnPluginStart()
{
    for ( new i = 1; i <= MaxClients; ++i ) {
        if ( IsClientInGame(i) ) {
            CheckClientVariable(i);
        }
    }
 
    CreateTimer(0.0, Timer_CheckConVar, _, TIMER_REPEAT);
}

public Action:Timer_CheckConVar(Handle:timer)
{
    for ( new i = 1; i <= MaxClients; ++i ) {
        if ( IsClientInGame(i) ) {
            CheckClientVariable(i);
        }
    }
}

public OnClientPutInServer(client)
{
    CheckClientVariable(client);
}

CheckClientVariable(client)
{
    if ( !IsFakeClient(client) ) {
        QueryClientConVar(client, "cl_minmodels", OnQueryClientConVar);
    }
}

public OnQueryClientConVar(QueryCookie:cookie, client, ConVarQueryResult:result, const String:cvarName[], const String:cvarValue[])
{
    if ( cvarValue[0] != '0' ) {
        KickClient(client, "Установите значение cl_minmodels равным 0");
    }
}
Задать значения таймера можно в строке
C-подобный:
CreateTimer(0.0, Timer_CheckConVar, _, TIMER_REPEAT);
где 0.0 - текущая задержка таймера (т.е. проверка будет осуществляться каждый фрейм). Можете установить значение 0.25 для 250мс (4 раза в секунду) или какое-нибудь другое, которое вам больше нравится.
Спасибо тебе большое мужик. Ты мне очень помог, я сильно тебе благодарен. Твоя работа неоценима, спасибо что помогаешь таким как я. Удачи тебе в развитии, надеюсь ты верен своим целям и стремишься к ним. Удачи, друг.
 
Последнее редактирование:

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
Мой Компьютер - Упорядочить - Параметры папок - Вид - Снять галочку с "Скрывать расширения для зарегистрированных типов файлов".
Теперь когда создаем .txt - можем просто менять расширение. Тыкаем переименовать - вместо .txt - пишем .sp
Ну это уже так, на будущее.
 

King of Sparta

Участник
Сообщения
44
Реакции
0
Мой Компьютер - Упорядочить - Параметры папок - Вид - Снять галочку с "Скрывать расширения для зарегистрированных типов файлов".
Теперь когда создаем .txt - можем просто менять расширение. Тыкаем переименовать - вместо .txt - пишем .sp
Ну это уже так, на будущее.
Спасибо, все получилось. Я вот ищу новый плагин. Плагин для баланса, суть его в том, он не только делает 3х1(3 т на 1кт), но после каждых сыгранных 4 раундов за кт игрока перекидывает за Т и выбирается случайн кт из т, но баланс учитывается. Как это устроить? Видел на сервер одном, у них в чате показывалось сообщения от этого плагина: [SMJT] SM Jail Teams , но там только баланс...
 
Сверху Снизу