видно steam id других игроков

Максим Юдачёв

Участник
Сообщения
9
Реакции
0
видно steam id других игроков, стразу говорю, пробывал снимать админку и писать status
в консоли всё ровно видно id всех игроков, помогите сделать чтобы игрок мог видеть только свой steam id
Кто реально поможет, +
Безымянный.jpg
 
Последнее редактирование:

semjef

semjef.ru
Сообщения
993
Реакции
444
плагин поствить не судьба?
немножко по форуму поискать то.
 

semjef

semjef.ru
Сообщения
993
Реакции
444
чтот вроде такого

PHP:
public OnPluginStart() 
{      
RegConsoleCmd("status", Block); 
} 
public Action:Block(client, args) 
{          
return Plugin_Handled; 
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
semjef, не сработает
 

semjef

semjef.ru
Сообщения
993
Реакции
444
R1KO, окай(
тогда надо думать( а это лень(
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
AlmazON, вроде тоже не сработает, команда серверная. Обсуждали же
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Блокировка показа SteamID для команды status

вроде тоже не сработает, команда серверная
Работает!
PHP:
public OnPluginStart() AddCommandListener(CommandBlock, "status");

public Action:CommandBlock(client, String:command[], args) return Plugin_Handled;
Это ты с sm plugins list перепутал)
 
  • Мне нравится
Реакции: TWRP

Максим Юдачёв

Участник
Сообщения
9
Реакции
0
Re: Блокировка показа SteamID для команды status

Работает!
PHP:
public OnPluginStart() AddCommandListener(CommandBlock, "status");

public Action:CommandBlock(client, String:command[], args) return Plugin_Handled;
Это ты с sm plugins list перепутал)
А куда вписать это ?
Я просто не знаю, как это сделать.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
  • Мне нравится
Реакции: TWRP

TWRP

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Блокировка показа SteamID для команды status

чтобы админам работал статус
PHP:
public OnPluginStart() AddCommandListener(CommandBlock, "status");

public Action:CommandBlock(client, String:command[], args) return client && GetUserAdmin(client)==INVALID_ADMIN_ID ? Plugin_Handled:Plugin_Continue;
Так будет работать команда status и в консоли самого сервера (ведь тоже администраторские полномочия).
 

Максим Юдачёв

Участник
Сообщения
9
Реакции
0
Правильно сделал ?
Вот фото:



Выполнение 1....1.jpg
Выполнение 2....2.jpg
Выполнение 3....3.png
Выполнение 4....4.jpg
Выполнение 5....5.jpg

Теперь можно кидать на сервер ?
Сервер на linux, компилировал через windows compile.exe
тут лежит /addons/sourcemod/scripting/compiled будучи скопилированный BlockStatus.sp поменялось на расширение BlockStatus.smx
 

BatyaMedic

Участник
Сообщения
766
Реакции
127
Правильно сделал ?
Вот фото:



Выполнение 1....Посмотреть вложение 10503
Выполнение 2....Посмотреть вложение 10504
Выполнение 3....Посмотреть вложение 10505
Выполнение 4....Посмотреть вложение 10506
Выполнение 5....Посмотреть вложение 10507

Теперь можно кидать на сервер ?
Да.
 

Максим Юдачёв

Участник
Сообщения
9
Реакции
0
Проблема, появилась, теперь и не игроки не видят и не админы.
В чём может быть проблема ?

писал так:

PHP:
public OnPluginStart() AddCommandListener(CommandBlock, "status"); 

public Action:CommandBlock(client, String:command[], args) return Plugin_Handled;
 

Scarface_slv

Участник
Сообщения
222
Реакции
47
Когда то переделал status_protect. Может кому пригодится)
В общем status показывает всем. Ping тоже, там еще вроде защита какая та было от спама ping-status
Только админам показывает настоящие стим айди других админов.
Простым игрокам отображает не настоящие стим айди админов.
Исходник если найду скину...
 

Вложения

  • status_protect.smx
    4.7 КБ · Просмотры: 26
  • status_protect.sp
    4.2 КБ · Просмотры: 45
Последнее редактирование:

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Re: Блокировка показа SteamID для команды status

PHP:
public OnPluginStart() AddCommandListener(CommandBlock, "status");

public Action:CommandBlock(client, String:command[], args) return client && GetUserAdmin(client)==INVALID_ADMIN_ID ? Plugin_Handled:Plugin_Continue;
Так будет работать команда status и в консоли самого сервера (ведь тоже администраторские полномочия).
Не катит, при попытке написания status от клиента - client берется сервера (т.е. 0)

P.S.
Сидел-писал
PHP:
#include <sourcemod>

public Plugin:myinfo =
{
	name		= "Status Ping Flood Control",
	author		= "Danyas" ,
	description	= "Управление доступом к командам status и ping.",
	version		= "beta",
	url			= "N/A"
}

new Handle:	g_hMaxCmds,
	Handle:	g_hAdminImmunity,
	Handle:	g_hAfterLimitAction,
	Handle:	g_hActionReason,
	Handle:	g_hBanDuration,
			g_WCmds[MAXPLAYERS + 1];

public OnPluginStart()
{
	g_hMaxCmds			= CreateConVar("sm_spfc_cmds_max",			"5",	"Допустимое количество вводимых команд на раунд.", _, true, 1.0);
	g_hAdminImmunity	= CreateConVar("sm_spfc_admin_immunity",		"1",	"Имунитет для админов. Для сервера имунитет включен в любом случае.");
	g_hAfterLimitAction	= CreateConVar("sm_spfc_action",	"1",		"0 - перестать отвечать на команды до конца раунда. \n 1 - кикнуть \n 2 - забанить");
	g_hActionReason		= CreateConVar("sm_spfc_action_reason",		"Флуд командами Status '|' Ping.",	"Работает когда sm_spfc_action больше нуля! \n Выводимая причина кика '|' бана игроку");
	g_hBanDuration		= CreateConVar("sm_spfc_action_duration",	"5",	"Работает когда sm_spfc_action равен двум! \n Длительность бана игрока");

	RegConsoleCmd("status",spChecker);	RegConsoleCmd("ping",spChecker);	// Add's checker for cmds status and ping
	HookEvent("round_end", Event_RoundEnd, EventHookMode_PostNoCopy);					// Hooking roundend event
}

public Action:spChecker(client, args)
{
	if (client == 0)																		{												return Plugin_Continue;	}		//Server immunity Check
	else if (GetConVarBool(g_hAdminImmunity) && GetUserAdmin(client) != INVALID_ADMIN_ID)	{												return Plugin_Continue;	}		//Admin Immunity Check
	else
	{	g_WCmds[client]++ 								// +1 to cmd count
		if(g_WCmds[client] > GetConVarInt(g_hMaxCmds))	// Validate if used cmds count higher then sm_spfc_cmds_max
		{	if (!IsClientInKickQueue(client))				// execlude invalid client errors
			{
				new String:reason[64];
				GetConVarString(g_hActionReason, reason, 64);
				switch (GetConVarInt(g_hAfterLimitAction))
				{
					case 1:		{	g_WCmds[client] = 0;	KickClient(client, "[SPFC] %s",reason);																	return Plugin_Handled;}
					case 2:		{	g_WCmds[client] = 0;	ServerCommand("sm_ban #%d %i [SPFC]\"%s\"", GetClientUserId(client), GetConVarInt(g_hBanDuration), reason);	return Plugin_Handled;}
					default:	{	PrintToConsole(client, "[SPFC] %s. До конца раунда они не будут работать.", reason);											return Plugin_Handled;}
				}
			}
			return Plugin_Handled;
		}
		return Plugin_Continue;
	}
}

public Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	for(new i = 1; i <= MaxClients; i++)	g_WCmds[i] = 0; // reset cmds count
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
status от клиента - client берется сервера (т.е. 0)
Тогда зачем его проверял? Когда он у тебя не 0?
return Plugin_Continue;    }}
Функция всегда должна возвращать значение, т.е. конечная скобка должна быть лишь одна.
 
Сверху Снизу