#include <sourcemod>
#include <sdktools>
#include <vip_core>
#define feature "Fists"
public Plugin myinfo = {
name = "[VIP] Fists",
author = "Hideki",
version = "1.0"
}
public void OnPluginStart() {
if(VIP_IsVIPLoaded()) VIP_OnVIPLoaded();
}
public void OnPluginEnd() {
if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "VIP_UnregisterFeature") == FeatureStatus_Available) {
VIP_UnregisterFeature(feature);
}
}
public void VIP_OnVIPLoaded() {
VIP_RegisterFeature(feature, BOOL);
}
bool HasFists(int iClient) {
int m_hMyWeapons = FindSendPropInfo("CBasePlayer", "m_hMyWeapons");
char szWeapon[13];
for(int i = 0, iWeapon; i < 128; i += 4) {
iWeapon = GetEntDataEnt2(iClient, m_hMyWeapons + i);
if(iWeapon != -1 && IsValidEdict(iWeapon) && IsValidEntity(iWeapon)) {
GetEdictClassname(iWeapon, szWeapon, sizeof(szWeapon));
if(szWeapon[7] == 'f' && szWeapon[8] == 'i') return true;
}
}
return false;
}
public void VIP_OnPlayerSpawn(int iClient, int iTeam, bool bIsVIP) {
if(bIsVIP && VIP_IsClientFeatureUse(iClient, feature) && !HasFists(iClient)) {
EquipPlayerWeapon(iClient, GivePlayerItem(iClient, "weapon_fists"));
}
}