Плагин запрета смены ника

TWRP

Участник
Сообщения
317
Реакции
44
Омг, нет там никакой рекламы в чате.

Черная вдова, просто кикнуть после смены ника? Если да, то просто очень:

PHP:
#pragma semicolon 1
#include <sourcemod>

public OnPluginStart()
{
    HookEvent("player_changename", player_changename);
}

public player_changename(Handle:event, const String:name[], bool:dontBroadcast)
{
    KickClient(GetClientOfUserId(GetEventInt(event, "userid")), "Запрещено менять ник на сервере");
}

Есть один косяк, пропадает бот sourcetv в спекторах, убираю плагин то появляется.
Может кто-то поправить это?
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
TWRP, так поробуй
PHP:
#pragma semicolon 1 
#include <sourcemod> 

public OnPluginStart() 
{ 
    HookEvent("player_changename", player_changename); 
} 

public player_changename(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
    new iClient = GetClientOfUserId(GetEventInt(event, "userid"));
    if (!IsFakeClient(iClient))
    { 
        KickClient(iClient, "Запрещено менять ник на сервере"); 
    }
}
 
  • Мне нравится
Реакции: TWRP

TWRP

Участник
Сообщения
317
Реакции
44
TWRP, так поробуй
PHP:
#pragma semicolon 1 
#include <sourcemod> 

public OnPluginStart() 
{ 
    HookEvent("player_changename", player_changename); 
} 

public player_changename(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
    new iClient = GetClientOfUserId(GetEventInt(event, "userid"));
    if (!IsFakeClient(iClient))
    { 
        KickClient(iClient, "Запрещено менять ник на сервере"); 
    }
}

спс, работает, по тестю отпишусь ))) :acute:
 

Сергей_567

Участник
Сообщения
15
Реакции
0
Ребята,классный плагин)))это я про кик за смену ника в игре)))он щас кикает,если меняешь ник непосредственно в игре,а если выйти,сменить ник и снова зайти,то не кикает)))а как сделать,чтобы вообще было запрещено по стиму?чтоб даже выход не помогал)))чтоб зафиксировал всем ники и все играют с пост-ми никами))игроков в нашей сетке немного(15-20),для всех прописать не составит труда))
 

Сергей_567

Участник
Сообщения
15
Реакции
0
огромное спасибо!)))))попробовал скомпиллировать на своём серваке no steam css v34),почему-то с ошибочками:

error 017: undefined symbol "GetClientAuthId"
error 092: number of arguments does not match definition

PHP вначале не писал(так 8 ошибок выдаёт),
стим и ники вводил так:
стим:
"STEAM_0:0:983436471",
"STEAM_0:1:413621272",
......
ники:
"ЗавХоз",
"Мексиканец",
........
а он не будет блокировать тех,кого нет у меня в стиме?))чтоб могли зайти те,кто ещё не играл)
И ещё:видел на одном сервере такой мод(по-видимому,тоже с базой по стиму).Если в игре меняешь ник,то кикает с надписью "тебе запрещено менять ник"и ставит прежний(который занесён в мод админом).Если вышел,изменил ник,подключаешься к серваку,видишь,что ник опять переписался под постоянный,т.е зайти можно на сервер))Было бы даже лучше,наверно,а то может так случиться(например,когда ники дикие слишком или игрок часто менял их),что игрок не помнит ник,который я ему сделаю как постоянный и не сможет зайти((((А так,зашёл на сервак-ник сам и пропишется нужный))Как в этом случае быть?)))
21:30:52
 
Последнее редактирование:

Сергей_567

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

Сергей_567

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


--- Добавлено позже ---
поставил MetaMod: Source 1.10.6
SourceMod 1.8.0
скомпиллировалось в первом варианте (со строкой GetClientAuthId(client, AuthId_Steam2, Steam, sizeof(Steam), false);)

перенёс smx файл в папку plugins,запустил,вышел,сменил ник,зашёл)))и так пару раз)))в чём дело,интересно...
 

Вложения

  • validatenicksteam.smx
    3.8 КБ · Просмотры: 11
  • validatenicksteam.sp
    651 байт · Просмотры: 22
Последнее редактирование:

Сергей_567

Участник
Сообщения
15
Реакции
0
я так и сделал))поставил на сервер SourceMod 1.8.0 и MetaMod: Source 1.10.6 и потом уже скомпиллировал))))
мой стим STEAM_0:0:451563217
ник- 777
вышел,сменил на 1212-всё равно сервер пустил)))
нигде ещё в конфигах не нужно ничего прописывать?я просто .smx переместил из папки compiled в папку plugins)))может,потому,что я админ и один подключаюсь?
или,может этот SM не очень под сборку сервака подходит?
vh6 на конце значит version higher 6
 

Вложения

  • validatenickvh6.sp
    678 байт · Просмотры: 20
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
всё равно сервер пустил
Вставил в свой исходник твои данные первым, а себя - вторым. Со своим ником пускает, с другим:
57668bbdbd63.jpg
 

Сергей_567

Участник
Сообщения
15
Реакции
0
))значит,дело в другом....Какие версии у тебя MetaMod и SourceMod?
 

Сергей_567

Участник
Сообщения
15
Реакции
0
и на том спасибо))конечно,лучше бы на Sourcemod v1.4.2 и Metamod:Source v.1.8.7 работало,но раз не пашет....попробую разобраться)
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
попробую разобраться
Скорей всего, SteamID не совпадает с получаемым плагином. Оффтоп
PHP:
new const String:g_sSteamID[][] =
{
	"STEAM_0:0:451563217",
	"STEAM_2",
	"STEAM_3"
};

new const String:g_sNickname[][] =
{
	"777",
	"Ник для STEAM_2",
	"Ник для STEAM_3"
};

public bool:OnClientConnect(client, String:rejectmsg[], maxlen)
{
	decl String:Steam[32];
	GetClientAuthString(client, Steam, sizeof(Steam), false);
	PrintToServer("[ValidateNickSteam] %N	%s", client, Steam);
	for (new i; i < sizeof(g_sSteamID); ++i)
	{
		if (strcmp(g_sSteamID[i], Steam) == 0)
		{
			GetClientName(client, Steam, sizeof(Steam));
			if (strcmp(g_sNickname[i], Steam))
			{
				FormatEx(rejectmsg, maxlen, "Вход только под постоянным ником %s!", g_sNickname[i]);
				return false;
			}
		}
	}
	return true;
}
Зайти на сервер, посмотреть в консоль сервера и внести эти данные в плагин, не забыв заново скомпилировать.
 

Сергей_567

Участник
Сообщения
15
Реакции
0
не скомпиллировалось (версия SM ниже 6)
на эту строчку ругается "GetClientAuthString(client, Steam, sizeof(Steam), false);"

error 092: number of arguments does not match definition source mode
 

Сергей_567

Участник
Сообщения
15
Реакции
0
скомпиллировалось)))))только не действует))стим правильно написан (STEAM_0:0:451563217)
),копировал его из консоли))меняю ник как хочу))хорошо))6-ю версию пробовал ставить,там админка слетает,ещё другие проблемы возникают в общем
 

Вложения

  • validatenickvl61.sp
    790 байт · Просмотры: 14
  • validatenickvl61.smx
    2.2 КБ · Просмотры: 9
  • sourcemod.rar
    3.3 МБ · Просмотры: 11

Сергей_567

Участник
Сообщения
15
Реакции
0
да,пускает)) Зашёл под ником 777 стим через консоль - STEAM_0:0:451563217
вышел,сменил ник на 121212, проверил стим черех консоль - STEAM_0:0:451563217

 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Сергей_567

Участник
Сообщения
15
Реакции
0
прошу прощения)не внимательно прочёл......щас скрин сделаю окна сервака,зашёл под ником 121212 пустил меня
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
не внимательно прочёл
А ещё раньше как читали?
консоль сервера
Сразу бы это проверили и всё стало ясно.
SteamID вообще не выдаёт в этот момент. Либо эмулятор так работает, либо что. Не будет работать эта схема.
 

Сергей_567

Участник
Сообщения
15
Реакции
0
ясно...спасибо за помощь)значит,с моими текущими версиями создать такой плагин практически невозможно?)или же можно поискать другую схему?
 
Последнее редактирование:
Сверху Снизу