@UP Thanks for advice!
My plugin works but everyone who have ADMFLAG_ROOT can pickup C4
I dont want it
For Example:
PHP Code:
If X root enabled c4 pickuping as CT
Y ROOT can't pickup as CT if he dont used !c4on
PHP Code:
#include <PTaH>
#include <sourcemod>
#include <cstrike>
public Plugin:myinfo =
{
name = "C4 Troll",
author = "Nevvy",
description = "As ADMFLAG_ROOT you can pick C4",
version = "",
url = ""
};
public void OnPluginStart()
{
RegConsoleCmd("sm_c4on", on);
RegConsoleCmd("sm_c4off", off);
}
public Action:on(client, args)
{
if(client != 0 && !IsClientInGame(client))
{
return Plugin_Handled;
}
if(CheckCommandAccess(client, "c4", ADMFLAG_ROOT))
{
PrintToChat(client, "[SM] C4 Pickuping is ENABLED");
PTaH(PTaH_WeaponCanUse, Hook, WeaponCanUse);
}
else
{
PrintToChat(client, "[SM] You don't have permissions to this command.");
}
return Plugin_Handled;
}
public Action:off(client, args)
{
if(client != 0 && !IsClientInGame(client))
{
return Plugin_Handled;
}
if(CheckCommandAccess(client, "c4", ADMFLAG_ROOT))
{
PrintToChat(client, "[SM] C4 Pickuping is DISABLED");
PTaH(PTaH_WeaponCanUse, UnHook, WeaponCanUse);
}
else
{
PrintToChat(client, "[SM] You don't have permissions to this command.");
}
return Plugin_Handled;
}
public bool WeaponCanUse(int client, int iEnt, bool CanUse)
{
if(GetClientTeam(client) == CS_TEAM_T)
{
static char sClassname[64];
GetEdictClassname(iEnt, sClassname, sizeof(sClassname));
if(StrEqual(sClassname, "weapon_c4"))
{
return true;
}
return CanUse;
}
if(CheckCommandAccess(client, "c4", ADMFLAG_ROOT) && (GetClientTeam(client) == CS_TEAM_CT))
{
static char sClassname[64];
GetEdictClassname(iEnt, sClassname, sizeof(sClassname));
if(StrEqual(sClassname, "weapon_c4"))
{
return true;
}
return CanUse;
}
static char sClassname[64];
GetEdictClassname(iEnt, sClassname, sizeof(sClassname));
if(StrEqual(sClassname, "weapon_c4"))
{
return false;
}
return CanUse;
}