Dont damage AWP

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
lantimilan
Извън линия
Foreigner
Foreigner
Мнения: 424
Регистриран на: 29 Ное 2017, 22:49
Се отблагодари: 31 пъти
Получена благодарност: 3 пъти

Dont damage AWP

Мнение от lantimilan » 05 Мар 2019, 08:36

Hello its any possible to make one plugin to set some steamid not damage if anybody try to kill with AWP.

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

Dont damage AWP

Мнение от OciXCrom » 06 Мар 2019, 20:47

Create a file named NoDamageAWP.ini in your amxmodx/configs folder and put each SteamID on a new line.

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32
#endif

#if !defined MAX_AUTHID_LENGTH
const MAX_AUTHID_LENGTH = 64
#endif

const BLOCKED_WEAPON = CSW_AWP

new g_szSteamId[MAX_PLAYERS][MAX_AUTHID_LENGTH], Trie:g_tSteamIds

public plugin_init()
{
	register_plugin("No Damage AWP by SteamID", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	g_tSteamIds = TrieCreate()
	ReadFile()
}

public plugin_end()
{
	TrieDestroy(g_tSteamIds)
}

public client_putinserver(id)
{
	get_user_authid(id, g_szSteamId[id], charsmax(g_szSteamId[]))
}

ReadFile()
{
	new szFilename[256]
	get_configsdir(szFilename, charsmax(szFilename))
	add(szFilename, charsmax(szFilename), "/NoDamageAWP.ini")

	new iFilePointer = fopen(szFilename, "rt")

	if(iFilePointer)
	{
		new szData[128]

		while(!feof(iFilePointer))
		{
			fgets(iFilePointer, szData, charsmax(szData))
			trim(szData)

			switch(szData[0])
			{
				case EOS, ';', '#': continue
				default:
				{
					trim(szData)
					TrieSetCell(g_tSteamIds, szData, 1)
				}
			}
		}

		fclose(iFilePointer)
	}
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	return (TrieKeyExists(g_tSteamIds, g_szSteamId[iAttacker]) && get_user_weapon(iAttacker) == BLOCKED_WEAPON && iAttacker == iInflictor) ? HAM_SUPERCEDE : HAM_IGNORED
}

Аватар
lantimilan
Извън линия
Foreigner
Foreigner
Мнения: 424
Регистриран на: 29 Ное 2017, 22:49
Се отблагодари: 31 пъти
Получена благодарност: 3 пъти

Dont damage AWP

Мнение от lantimilan » 06 Мар 2019, 21:11

OciXCrom написа: 06 Мар 2019, 20:47 Create a file named NoDamageAWP.ini in your amxmodx/configs folder and put each SteamID on a new line.

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32
#endif

#if !defined MAX_AUTHID_LENGTH
const MAX_AUTHID_LENGTH = 64
#endif

const BLOCKED_WEAPON = CSW_AWP

new g_szSteamId[MAX_PLAYERS][MAX_AUTHID_LENGTH], Trie:g_tSteamIds

public plugin_init()
{
	register_plugin("No Damage AWP by SteamID", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	g_tSteamIds = TrieCreate()
	ReadFile()
}

public plugin_end()
{
	TrieDestroy(g_tSteamIds)
}

public client_putinserver(id)
{
	get_user_authid(id, g_szSteamId[id], charsmax(g_szSteamId[]))
}

ReadFile()
{
	new szFilename[256]
	get_configsdir(szFilename, charsmax(szFilename))
	add(szFilename, charsmax(szFilename), "/NoDamageAWP.ini")

	new iFilePointer = fopen(szFilename, "rt")

	if(iFilePointer)
	{
		new szData[128]

		while(!feof(iFilePointer))
		{
			fgets(iFilePointer, szData, charsmax(szData))
			trim(szData)

			switch(szData[0])
			{
				case EOS, ';', '#': continue
				default:
				{
					trim(szData)
					TrieSetCell(g_tSteamIds, szData, 1)
				}
			}
		}

		fclose(iFilePointer)
	}
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	return (TrieKeyExists(g_tSteamIds, g_szSteamId[iAttacker]) && get_user_weapon(iAttacker) == BLOCKED_WEAPON && iAttacker == iInflictor) ? HAM_SUPERCEDE : HAM_IGNORED
}
Its any possible to have in plugin steamid not have file .ini i need very much

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

Dont damage AWP

Мнение от OciXCrom » 06 Мар 2019, 21:15

You mean inside the .sma file? But why? That way you will need to recompile the plugin every time you want to add/remove something.

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

#include <amxmodx>
#include <hamsandwich>

#if !defined MAX_PLAYERS
const MAX_PLAYERS = 32
#endif

#if !defined MAX_AUTHID_LENGTH
const MAX_AUTHID_LENGTH = 64
#endif

const BLOCKED_WEAPON = CSW_AWP

new const g_szSteamIds[][] =
{
	"STEAM_:0:123456789",
	"STEAM_:0:123456789",
	"STEAM_:0:123456789"
}

new bool:g_bNoDamage[MAX_PLAYERS]

public plugin_init()
{
	register_plugin("No Damage AWP by SteamID", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
}

public client_putinserver(id)
{
	g_bNoDamage[id] = false

	new szAuthId[MAX_AUTHID_LENGTH]
	get_user_authid(id, szAuthId, charsmax(szAuthId))

	for(new i; i < sizeof(g_szSteamIds); i++)
	{
		if(equal(g_szSteamIds[i], szAuthId))
		{
			g_bNoDamage[id] = true
			break
		}
	}
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	return (g_bNoDamage[iAttacker] && get_user_weapon(iAttacker) == BLOCKED_WEAPON && iAttacker == iInflictor) ? HAM_SUPERCEDE : HAM_IGNORED
}

Аватар
lantimilan
Извън линия
Foreigner
Foreigner
Мнения: 424
Регистриран на: 29 Ное 2017, 22:49
Се отблагодари: 31 пъти
Получена благодарност: 3 пъти

Dont damage AWP

Мнение от lantimilan » 06 Мар 2019, 21:20

Because some people who have acces in ftp can joke with this plugin and this form i stoped abuse

Added in 3 minutes 45 seconds:
Thanks for this great plugin closed topic thanks :D

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

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

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 8 госта