OciXCrom's Rank System [XP|Levels|Ranks]

Одобрените от нас плъгини. Моля, докладвайте ако забележите бъг с някой от плъгините в този раздел.
Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5644
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 105 пъти
Получена благодарност: 658 пъти
Години: 22
Контакти:

OciXCrom's Rank System [XP|Levels|Ranks]

Мнение от OciXCrom TM » 04 дек 2019, 23:06

Не мога да добавя такава опция в самия плъгин, понеже в AlliedModders е строго забранено да се ползва non-steam, включително и плъгини които имат каквото да е общо с кракнати сървъри, демек няма да мога да разпространявам плъгините си там.

Можеш да ползваш съб-плъгин и да забраниш на играчи които нямат валидно SteamID да получават XP, или просто да го запазва само докато излезнат. Това е и добър начин да ги накараш да ползват игра със SteamID, което е и по-лесно за банване по id.

Вариант №1: играчи без SteamID изобщо няма да получават ХР:

Код: Избери всички

#include <amxmodx>
#include <crxranks>

new bool:g_bIsValidSteam[33]

public plugin_init()
{
	register_plugin("CRXRanks: Anti No-Steam", "1.0", "OciXCrom")
}

public client_authorized(id)
{
	g_bIsValidSteam[id] = is_valid_steam(id)
}

public crxranks_user_receive_xp(id)
{
	return g_bIsValidSteam[id] ? CRXRANKS_HANDLED : CRXRANKS_CONTINUE
}

bool:is_valid_steam(const id)
{
	static szAuth[64]
	get_user_authid(id, szAuth, charsmax(szAuth))

	if(!equali(szAuth, "STEAM_", 6) || equal(szAuth, "STEAM_ID_LAN") || equal(szAuth, "STEAM_ID_PENDING"))
	{
		return false
	}

	return true
}
Вариант №2: ХР-то на играчи без SteamID ще се нулира когато влезнат в сървъра.

Код: Избери всички

#include <amxmodx>
#include <crxranks>

new bool:g_bIsValidSteam[33]

public plugin_init()
{
	register_plugin("CRXRanks: Anti No-Steam", "1.0", "OciXCrom")
}

public client_authorized(id)
{
	g_bIsValidSteam[id] = is_valid_steam(id)

	if(!g_bIsValidSteam[id])
	{
		set_task(3.0, "reset_player_xp", id)
	}
}

public reset_player_xp(id)
{
	if(is_user_connected(id))
	{
		crxranks_set_user_xp(id, 0)
	}
}

bool:is_valid_steam(const id)
{
	static szAuth[64]
	get_user_authid(id, szAuth, charsmax(szAuth))

	if(!equali(szAuth, "STEAM_", 6) || equal(szAuth, "STEAM_ID_LAN") || equal(szAuth, "STEAM_ID_PENDING"))
	{
		return false
	}

	return true
}
Добра идея е и да добавиш някакво съобщение, че няма да могат напълно да ползват системата за да не си мислят, че нещо не работи както трябва.

Отговори

Върни се в “Одобрени плъгини”

Кой е на линия

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