Skocz do zawartości
Jokersik

[Rozwiązane] Blokowanie broni

Rekomendowane odpowiedzi

Witam, mam problem z zablokowaniem DGL na mapie awp_lego_2 wgrałem plugin Weapon Restrict i ustawiłem cvar na "0" dla DGL w configs "test" oraz "te" i jak sie mozecie domyślić nie dziala. Możliwe ze coś robię zle 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zakładam, że to serwer Only AWP

Spoiler

#include <sourcemod>
#include <sdkhooks>

#pragma semicolon 1
#pragma newdecls required

char g_sWeaponsCanUse [][] =
{
	"weapon_knife",
	"weapon_decoy",
	"weapon_flashbang",
	"weapon_hegrenade",
	"weapon_smokegrenade",
	"weapon_molotov",
	"weapon_incgrenade",
	"weapon_awp"
};

public void OnPluginStart() 
{
	for(int i = 1; i <= MaxClients; i++)
		if(IsValidClient(i))
			OnClientPutInServer(i);
}

public void OnClientPutInServer(int client)
{
	SDKHook(client, SDKHook_WeaponCanUse, WeaponCanUse);
}

public void OnClientDisconnect(int client)
{
	SDKUnhook(client, SDKHook_WeaponCanUse, WeaponCanUse);
}

public Action WeaponCanUse(int client, int weapon)
{
	if(!IsValidClient(client) || !IsPlayerAlive(client))
		return Plugin_Continue;

	char weapons[32];
	GetEdictClassname(weapon, weapons, sizeof(weapons));
	
	for(int i = 0; i < sizeof(g_sWeaponsCanUse); i ++)
	{
		if(StrEqual(g_sWeaponsCanUse[i], weapons))
			return Plugin_Continue;
	}
	
	return Plugin_Handled;
}

stock bool IsValidClient(int client)
{
	if(client <= 0 ) return false;
	if(client > MaxClients) return false;
	if(!IsClientConnected(client)) return false;
	if(IsFakeClient(client)) return false;
	return IsClientInGame(client);
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...