#include <sdktools_functions>
public Plugin myinfo = { author = "[ Khood ] [ DISCORD: serafimhl ]", version = "1.1", };
static char mapName[32];
public void OnPluginStart() { HookEvent("player_spawn", Event_Player_removedeagle, EventHookMode_PostNoCopy); }
public void OnMapStart() { GetCurrentMap(mapName, sizeof(mapName)); }
public Action Event_Player_removedeagle(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("userid"));
if (StrContains(mapName, "awp_", false) == 0) RemoveDeagle(client);
/*
//Лишния проверка, мы и так уверены что игрок с правильный айди и в игре
if (client > 0 && client <= MaxClients && IsClientInGame(client))
{
static char mapName[64];
GetCurrentMap(mapName, sizeof(mapName)); //Не зачем получать имя карты каждый спавн игрока, лучше один раз при старте карты
if (StrContains(mapName, "awp_", false) == 0)
{
RemoveDeagle(client);
}
}
*/
return Plugin_Continue;
}
void RemoveDeagle(int client)
{
int weapon = GetPlayerWeaponSlot(client, 1);
if (weapon != INVALID_ENT_REFERENCE)
{
//static char className[64]; //Старайтесь меньше выдeлять памяти если знаете что больше не нужно,
// в данном cлучие нету имя оружий с таким длиным названием на 64 байта
static char className[20];
GetEdictClassname(weapon, className, sizeof(className));
//if (StrEqual(className, "weapon_deagle", false)) //StrEqual - работает медлее чем strcmp, где то на форуме тестили это
if (strcmp(className, "weapon_deagle") == 0)
{
RemovePlayerItem(client, weapon);
RemoveEdict(weapon);
}
}
}