Прост плъгин относно защита на ник

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от Buzdrev » 07 Дек 2017, 21:10

Моля да ми изработите плъгин, който при опит да се влезне примерно с ник X да те пуска в сървъра само ако си през IP Y, иначе да те киква.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от OciXCrom » 07 Дек 2017, 21:20

Код за потвърждение: Избери целия код

#include <amxmodx>

enum _:Data
{
	Name[32],
	IP[16]
}

new const g_eData[][Data] = 
{
	{ "nick1", "12.34.56.78" },
	{ "nick2", "22.22.22.22" },
	{ "nick3", "33.334.44.6" }
}

public plugin_init()
	register_plugin("Nick+IP Protection", "1.0", "OciXCrom")

public client_putinserver(id)
{
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	for(new i; i < sizeof(g_eData); i++)
	{
		if(equali(szName, g_eData[i][Name]))
		{
			new szIP[20]
			get_user_ip(id, szIP, charsmax(szIP), 1)
			
			if(!equal(szIP, g_eData[i][IP]))
			{
				server_cmd("kick #%i ^"This nickname is IP protected.^"", get_user_userid(id))
				break
			}
		}
	}
}

Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от Buzdrev » 07 Дек 2017, 21:24

Ред 11, invalid character constant, Това се пада първия никнейм.

Код за потвърждение: Избери целия код

#include <amxmodx>

enum _:Data
{
	Name[32],
	IP[16]
}

new const g_eData[][Data] = 
{
	{ "exNN^ Fresh", "12.34.56.78" },
	{ "n1ke_^", "22.22.22.22" },
	{ "nick3", "33.334.44.6" }
}

public plugin_init()
	register_plugin("Nick+IP Protection", "1.0", "OciXCrom")

public client_putinserver(id)
{
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	for(new i; i < sizeof(g_eData); i++)
	{
		if(equali(szName, g_eData[i][Name]))
		{
			new szIP[20]
			get_user_ip(id, szIP, charsmax(szIP), 1)
			
			if(!equal(szIP, g_eData[i][IP]))
			{
				server_cmd("kick #%i ^"This nickname is IP protected.^"", get_user_userid(id))
				break
			}
		}
	}
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от OciXCrom » 07 Дек 2017, 21:37

Ъъъ... Символът "^" не може да се ползва в съобщения, тъй като се ползва за "излизане от кавичките". Трябва да го промениш с някой друг, който не ти е нужен, примерно "\".

Код за потвърждение: Избери целия код

#include <amxmodx>
#pragma ctrlchar '\'

enum _:Data
{
	Name[32],
	IP[16]
}

new const g_eData[][Data] = 
{
	{ "exNN^ Fresh", "12.34.56.78" },
	{ "n1ke_^", "22.22.22.22" },
	{ "nick3", "33.334.44.6" }
}

public plugin_init()
	register_plugin("Nick+IP Protection", "1.0", "OciXCrom")

public client_putinserver(id)
{
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	for(new i; i < sizeof(g_eData); i++)
	{
		if(equali(szName, g_eData[i][Name]))
		{
			new szIP[20]
			get_user_ip(id, szIP, charsmax(szIP), 1)
			
			if(!equal(szIP, g_eData[i][IP]))
			{
				server_cmd("kick #%i \"This nickname is IP protected.\"", get_user_userid(id))
				break
			}
		}
	}
}

Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от Buzdrev » 12 Дек 2017, 16:02

А, как да го направя, да може да се влиза от повече от едно IP и възможно ли е да е с квар, защото ако примерно ми се наложи да вляза от друго IP, от друг компютър, ще е малко неудобно да компилирам плъгина наново, просто много разправия става.

Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от Buzdrev » 15 Фев 2018, 22:01

Може ли да ми обясните как да направя от един ник, да се влиза с повече от едно IP, защото използвам приблизително 3 IP адреса.

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Прост плъгин относно защита на ник

Мнение от Fr0sTt » 26 Фев 2018, 16:28

Ще е възможно ли да се добави към тази проверка за IP, проверка и за steamid, демек да се избира едно от двете?

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от OciXCrom » 01 Мар 2018, 15:23

Fr0sTt написа: 26 Фев 2018, 16:28 Ще е възможно ли да се добави към тази проверка за IP, проверка и за steamid, демек да се избира едно от двете?

Код за потвърждение: Избери целия код

#include <amxmodx>
#pragma ctrlchar '\'

enum _:Data
{
	Name[32],
	Info[35]
}

new const g_eData[][Data] = 
{
	{ "nick1", "12.34.56.78" },
	{ "nick2", "22.22.22.22" },
	{ "nick3", "STEAM_0:0:123456789" }
}

public plugin_init()
	register_plugin("Nick+IP/Steam Protection", "1.0", "OciXCrom")

public client_putinserver(id)
{
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	for(new i; i < sizeof(g_eData); i++)
	{
		if(equali(szName, g_eData[i][Name]))
		{
			new szAuthId[35], szIP[20]
			get_user_authid(id, szAuthId, charsmax(szAuthId))
			get_user_ip(id, szIP, charsmax(szIP), 1)
			
			if(!equal(szIP, g_eData[i][Info]) && !equal(szAuthId, g_eData[i][Info]))
			{
				server_cmd("kick #%i \"This nickname is protected.\"", get_user_userid(id))
				break
			}
		}
	}
}

Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от gadinkata » 29 Авг 2020, 23:57

Веднага ти предлагам моят плъгин,защитаваш си ника по стеам,ип или парола,по каквото си избереш,не е казано,че трябва и по треите начина
https://amxx-bg.info/forum/viewtopic.php?f=32&t=9446#p54432
Ако не искаш да имаш и трите начина в един плъгин тез два кода от долу са по стеам и ип по отделно :)
Кода е на @JackEyedJones
По ип

Код за потвърждение: Избери целия код

#include <amxmodx>

enum _:iNames
{
	g_szNickName[63],
	g_szIp[63]
}

new const g_iSteamNamesWhitelist[][iNames] = 
{
	{	"Gadinkata",	"123.123.123.123"	},
	{	"Gadinkata",	"123.123.123.123"	},
	{	"Gadinkata",	"123.123.123.123"	}
}

public plugin_init()
	register_plugin( "SteamID/Name WhiteList", "", "");

public client_authorized(id)
{
	new szIp[63], szName[63];
	get_user_ip(id, szIp, charsmax(szIp), 1);
	get_user_name(id, szName, charsmax(szName));
    
	for(new i; i < sizeof(g_iSteamNamesWhitelist); i++)
	{
		if( equal(szName, g_iSteamNamesWhitelist[i][g_szNickName]) && !equal(szIp, g_iSteamNamesWhitelist[i][g_szIp]) )
		{
			server_cmd("kick #%i ^"This Name is protected by Steam ID!^"", get_user_userid(id));

			return PLUGIN_HANDLED;
		}	
	}

	return PLUGIN_CONTINUE;
}


По Стеам

Код за потвърждение: Избери целия код

#include <amxmodx>

enum _:iNames
{
	g_szNickName[63],
	g_szSteamId[63]
}

new const g_iSteamNamesWhitelist[][iNames] = 
{
	{	"Gadinkata",	"STEAM_0:1:84315484"	},
	{	"DrugoIme",	"STEAM_0:1:84315485"	},
	{	"TretoIme",	"STEAM_0:1:84315486"	}
}

public plugin_init()
	register_plugin( "SteamID/Name WhiteList", "", "");

public client_authorized(id)
{
	new szAuthID[63], szName[63];
	get_user_authid(id, szAuthID, charsmax(szAuthID));
	get_user_name(id, szName, charsmax(szName));
    
	for(new i; i < sizeof(g_iSteamNamesWhitelist); i++)
	{
		if( equal(szName, g_iSteamNamesWhitelist[i][g_szNickName]) && !equal(szAuthID, g_iSteamNamesWhitelist[i][g_szSteamId]) )
		{
			server_cmd("kick #%i ^"This Name is protected by Steam ID!^"", get_user_userid(id));

			return PLUGIN_HANDLED;
		}	
	}

	return PLUGIN_CONTINUE;
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Прост плъгин относно защита на ник

Мнение от OciXCrom » 30 Авг 2020, 14:14

Под "веднага", имаш предвид след 2 години?

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 15 госта