Page 1 of 1

Backweapons Plugin Fixing.

Posted: 21 Jan 2018, 09:29
by Spir0x
hi this awesome plugin needs to be added officially in this mod :)
Here's the code we just need to fix this code to humans only i mean when an human infected the back weapon rest in front.

Image

Image

Backweapons


Code: Select all

#include <zombie_escape>


#define PLUGIN	"Back Weapons"
#define AUTHOR	"hoboman313/cheap_suit"
#define VERSION	"1.87"

#define MAX_PLAYERS 		32
#define OFFSET_PRIMARYWEAPON 	116
#define OFFSET_WEAPONTYPE 	43
#define EXTRAOFFSET_WEAPONS 	4
#define OFFSET_AUTOSWITCH 	509
#define OFFSET_SHIELD 		510
#define HAS_SHIELD 		(1<<24)

#define PRIMARY_WEAPONS (1<<CSW_SCOUT | 1<<CSW_XM1014 | 1<<CSW_MAC10 | 1<<CSW_AUG | 1<<CSW_UMP45 | 1<<CSW_SG550 | 1<<CSW_GALIL | 1<<CSW_FAMAS | 1<<CSW_AWP | 1<<CSW_MP5NAVY | 1<<CSW_M249 | 1<<CSW_M3 | 1<<CSW_M4A1 | 1<<CSW_TMP | 1<<CSW_G3SG1 | 1<<CSW_SG552 | 1<<CSW_AK47 | 1<<CSW_P90)

#define is_weapon_primary(%1)      (PRIMARY_WEAPONS & (1<<%1))
#define cs_get_weapon_type(%1)     get_pdata_int(%1, OFFSET_WEAPONTYPE, EXTRAOFFSET_WEAPONS)
#define cs_get_user_hasprim(%1)    get_pdata_int(%1, OFFSET_PRIMARYWEAPON)
#define cs_get_user_autoswitch(%1) get_pdata_int(%1, OFFSET_AUTOSWITCH)
#define cs_get_user_shield(%1)	   (get_pdata_int(%1, OFFSET_SHIELD) & HAS_SHIELD) ? 1 : 0

enum
{
	MODEL_NULL    = 0,
	MODEL_AUG     = 1,
	MODEL_AK47    = 2,
	MODEL_AWP     = 3,
	MODEL_MP5NAVY = 4,
	MODEL_P90     = 5,
	MODEL_GALIL   = 6,
	MODEL_M4A1    = 7,
	MODEL_SG550   = 8,
	MODEL_SG552   = 9,
	MODEL_SCOUT   = 10,
	MODEL_XM1014  = 11,
	MODEL_M3      = 12,
	MODEL_G3SG1   = 13,
	MODEL_M249    = 14,
	MODEL_FAMAS   = 15,
	MODEL_UMP45   = 16
}

new g_weapons[][] =
{	
	"weapon_p228",
	"weapon_scout",
	"weapon_hegrenade",
	"weapon_xm1014",
	"weapon_c4",
	"weapon_mac10",
	"weapon_aug",
	"weapon_smokegrenade",
	"weapon_elite",
	"weapon_fiveseven",
	"weapon_ump45",
	"weapon_sg550",
	"weapon_galil",
	"weapon_famas",
	"weapon_usp",
	"weapon_glock18",
	"weapon_awp",
	"weapon_mp5navy",
	"weapon_m249",
	"weapon_m3",
	"weapon_m4a1",
	"weapon_tmp",
	"weapon_g3sg1",
	"weapon_flashbang",
	"weapon_deagle",
	"weapon_sg552",
	"weapon_ak47",
	"weapon_knife",
	"weapon_p90"
}

new g_weaponclass[] = "backweapon"
new g_weaponmodel[] = "models/backweapons.mdl"

new g_weaponent[MAX_PLAYERS+1]

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
	
	RegisterHam(Ham_Killed,           "player", "bacon_killed")
	RegisterHam(Ham_Spawn,            "player", "bacon_spawn_post", 1)
	RegisterHam(Ham_AddPlayerItem,    "player", "bacon_addplayeritem")
	RegisterHam(Ham_RemovePlayerItem, "player", "bacon_removeplayeritem")
	
	for(new i = 0; i < sizeof g_weapons; i++)
	{
		RegisterHam(Ham_Item_AttachToPlayer, g_weapons[i], "bacon_item_attachtoplayer_post", 1)
		RegisterHam(Ham_Item_Deploy,         g_weapons[i], "bacon_item_deploy_post",         1)
	}
}

public plugin_precache()
	precache_model(g_weaponmodel)

public client_putinserver(id)
{
	static infotarget 
	if(!infotarget) infotarget = engfunc(EngFunc_AllocString, "info_target")
	
	g_weaponent[id] = engfunc(EngFunc_CreateNamedEntity, infotarget)
	if(pev_valid(g_weaponent[id]))
	{
		engfunc(EngFunc_SetModel, g_weaponent[id], g_weaponmodel)
		set_pev(g_weaponent[id], pev_classname, g_weaponclass)
		set_pev(g_weaponent[id], pev_movetype, MOVETYPE_FOLLOW)
		set_pev(g_weaponent[id], pev_effects, EF_NODRAW)
		set_pev(g_weaponent[id], pev_aiment, id)
	}
}

public client_disconnected(id)
{
	if(g_weaponent[id] > 0 && pev_valid(g_weaponent[id]))
		engfunc(EngFunc_RemoveEntity, g_weaponent[id])
	
	g_weaponent[id] = 0
}

public bacon_killed(id, idattacker, shouldgib)
	fm_set_entity_visibility(g_weaponent[id], 0)

public bacon_addplayeritem(id, ent)
{
	static weaponid; weaponid = cs_get_weapon_type(ent)
	if(is_weapon_primary(weaponid) && pev_valid(g_weaponent[id]))
	{
		fm_set_entity_visibility(g_weaponent[id], 0)
		set_pev(g_weaponent[id], pev_body, get_weapon_model(weaponid))
	}
}

public bacon_removeplayeritem(id, ent)
{
	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]))
		fm_set_entity_visibility(g_weaponent[id], 0)
}

public bacon_spawn_post(id) if(is_user_alive(id))
{
	if(!cs_get_user_hasprim(id))
		fm_set_entity_visibility(g_weaponent[id], 0)
}

public bacon_item_attachtoplayer_post(ent, id) if(is_user_alive(id) && !cs_get_user_autoswitch(id))
{
	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]))
		fm_set_entity_visibility(g_weaponent[id], 1)
}

public bacon_item_deploy_post(ent)
{
	static id; id = pev(ent, pev_owner)
	if(is_user_alive(id)) 
	{
		static weapon; weapon = cs_get_weapon_type(ent)
		if(is_weapon_primary(weapon) || cs_get_user_shield(id))
			fm_set_entity_visibility(g_weaponent[id], 0)
		
		else if(cs_get_user_hasprim(id))
			fm_set_entity_visibility(g_weaponent[id], 1)
	}
}

public ze_user_humanized(id)
{
	if(ze_is_user_zombie(id) || !is_user_alive(id))
		return
}

stock get_weapon_model(weapon)
{
	switch(weapon)
	{
		case CSW_SCOUT:   return MODEL_SCOUT
		case CSW_XM1014:  return MODEL_XM1014
		case CSW_AUG:	  return MODEL_AUG
		case CSW_UMP45:   return MODEL_UMP45
		case CSW_SG550:   return MODEL_SG550
		case CSW_GALIL:   return MODEL_GALIL
		case CSW_FAMAS:   return MODEL_FAMAS
		case CSW_AWP:     return MODEL_AWP
		case CSW_MP5NAVY: return MODEL_MP5NAVY
		case CSW_M249:    return MODEL_M249
		case CSW_M3:      return MODEL_M3
		case CSW_M4A1:    return MODEL_M4A1
		case CSW_G3SG1:   return MODEL_G3SG1
		case CSW_SG552:   return MODEL_SG552
		case CSW_AK47:    return MODEL_AK47
		case CSW_P90:     return MODEL_P90
	}
	return 0
}

stock fm_set_entity_visibility(index, visible = 1) 
	set_pev(index, pev_effects, visible == 1 ? pev(index, pev_effects) & ~EF_NODRAW : pev(index, pev_effects) | EF_NODRAW)

Re: Backweapons Plugin Fixing.

Posted: 21 Jan 2018, 11:26
by Raheem
Try this:
  • Code: Select all

    #include <zombie_escape>
    
    #define PLUGIN	"Back Weapons"
    #define AUTHOR	"hoboman313/cheap_suit"
    #define VERSION	"1.87"
    
    #define MAX_PLAYERS 		32
    #define OFFSET_PRIMARYWEAPON 	116
    #define OFFSET_WEAPONTYPE 	43
    #define EXTRAOFFSET_WEAPONS 	4
    #define OFFSET_AUTOSWITCH 	509
    #define OFFSET_SHIELD 		510
    #define HAS_SHIELD 		(1<<24)
    
    #define PRIMARY_WEAPONS (1<<CSW_SCOUT | 1<<CSW_XM1014 | 1<<CSW_MAC10 | 1<<CSW_AUG | 1<<CSW_UMP45 | 1<<CSW_SG550 | 1<<CSW_GALIL | 1<<CSW_FAMAS | 1<<CSW_AWP | 1<<CSW_MP5NAVY | 1<<CSW_M249 | 1<<CSW_M3 | 1<<CSW_M4A1 | 1<<CSW_TMP | 1<<CSW_G3SG1 | 1<<CSW_SG552 | 1<<CSW_AK47 | 1<<CSW_P90)
    
    #define is_weapon_primary(%1)      (PRIMARY_WEAPONS & (1<<%1))
    #define cs_get_weapon_type(%1)     get_pdata_int(%1, OFFSET_WEAPONTYPE, EXTRAOFFSET_WEAPONS)
    #define cs_get_user_hasprim(%1)    get_pdata_int(%1, OFFSET_PRIMARYWEAPON)
    #define cs_get_user_autoswitch(%1) get_pdata_int(%1, OFFSET_AUTOSWITCH)
    #define cs_get_user_shield(%1)	   (get_pdata_int(%1, OFFSET_SHIELD) & HAS_SHIELD) ? 1 : 0
    
    enum
    {
    	MODEL_NULL    = 0,
    	MODEL_AUG     = 1,
    	MODEL_AK47    = 2,
    	MODEL_AWP     = 3,
    	MODEL_MP5NAVY = 4,
    	MODEL_P90     = 5,
    	MODEL_GALIL   = 6,
    	MODEL_M4A1    = 7,
    	MODEL_SG550   = 8,
    	MODEL_SG552   = 9,
    	MODEL_SCOUT   = 10,
    	MODEL_XM1014  = 11,
    	MODEL_M3      = 12,
    	MODEL_G3SG1   = 13,
    	MODEL_M249    = 14,
    	MODEL_FAMAS   = 15,
    	MODEL_UMP45   = 16
    }
    
    new g_weapons[][] =
    {	
    	"weapon_p228",
    	"weapon_scout",
    	"weapon_hegrenade",
    	"weapon_xm1014",
    	"weapon_c4",
    	"weapon_mac10",
    	"weapon_aug",
    	"weapon_smokegrenade",
    	"weapon_elite",
    	"weapon_fiveseven",
    	"weapon_ump45",
    	"weapon_sg550",
    	"weapon_galil",
    	"weapon_famas",
    	"weapon_usp",
    	"weapon_glock18",
    	"weapon_awp",
    	"weapon_mp5navy",
    	"weapon_m249",
    	"weapon_m3",
    	"weapon_m4a1",
    	"weapon_tmp",
    	"weapon_g3sg1",
    	"weapon_flashbang",
    	"weapon_deagle",
    	"weapon_sg552",
    	"weapon_ak47",
    	"weapon_knife",
    	"weapon_p90"
    }
    
    new g_weaponclass[] = "backweapon"
    new g_weaponmodel[] = "models/backweapons.mdl"
    
    new g_weaponent[MAX_PLAYERS+1]
    
    public plugin_init() 
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
    	
    	RegisterHam(Ham_Killed,           "player", "bacon_killed")
    	RegisterHam(Ham_Spawn,            "player", "bacon_spawn_post", 1)
    	RegisterHam(Ham_AddPlayerItem,    "player", "bacon_addplayeritem")
    	RegisterHam(Ham_RemovePlayerItem, "player", "bacon_removeplayeritem")
    	
    	for(new i = 0; i < sizeof g_weapons; i++)
    	{
    		RegisterHam(Ham_Item_AttachToPlayer, g_weapons[i], "bacon_item_attachtoplayer_post", 1)
    		RegisterHam(Ham_Item_Deploy,         g_weapons[i], "bacon_item_deploy_post",         1)
    	}
    }
    
    public plugin_precache()
    	precache_model(g_weaponmodel)
    
    public client_putinserver(id)
    {
    	static infotarget 
    	if(!infotarget) infotarget = engfunc(EngFunc_AllocString, "info_target")
    	
    	g_weaponent[id] = engfunc(EngFunc_CreateNamedEntity, infotarget)
    	if(pev_valid(g_weaponent[id]))
    	{
    		engfunc(EngFunc_SetModel, g_weaponent[id], g_weaponmodel)
    		set_pev(g_weaponent[id], pev_classname, g_weaponclass)
    		set_pev(g_weaponent[id], pev_movetype, MOVETYPE_FOLLOW)
    		set_pev(g_weaponent[id], pev_effects, EF_NODRAW)
    		set_pev(g_weaponent[id], pev_aiment, id)
    	}
    }
    
    public client_disconnect(id)
    {
    	if(g_weaponent[id] > 0 && pev_valid(g_weaponent[id]))
    		engfunc(EngFunc_RemoveEntity, g_weaponent[id])
    	
    	g_weaponent[id] = 0
    }
    
    public bacon_killed(id, idattacker, shouldgib)
    	fm_set_entity_visibility(g_weaponent[id], 0)
    
    public bacon_addplayeritem(id, ent)
    {
    	static weaponid; weaponid = cs_get_weapon_type(ent)
    	if(is_weapon_primary(weaponid) && pev_valid(g_weaponent[id]))
    	{
    		fm_set_entity_visibility(g_weaponent[id], 0)
    		set_pev(g_weaponent[id], pev_body, get_weapon_model(weaponid))
    	}
    }
    
    public bacon_removeplayeritem(id, ent)
    {
    	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]))
    		fm_set_entity_visibility(g_weaponent[id], 0)
    }
    
    public bacon_spawn_post(id) if(is_user_alive(id))
    {
    	if(!cs_get_user_hasprim(id))
    		fm_set_entity_visibility(g_weaponent[id], 0)
    }
    
    public bacon_item_attachtoplayer_post(ent, id) if(is_user_alive(id) && !cs_get_user_autoswitch(id))
    {
    	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]))
    		fm_set_entity_visibility(g_weaponent[id], 1)
    }
    
    public bacon_item_deploy_post(ent)
    {
    	static id; id = pev(ent, pev_owner)
    	if(is_user_alive(id)) 
    	{
    		static weapon; weapon = cs_get_weapon_type(ent)
    		if(is_weapon_primary(weapon) || cs_get_user_shield(id))
    			fm_set_entity_visibility(g_weaponent[id], 0)
    		
    		else if(cs_get_user_hasprim(id))
    			fm_set_entity_visibility(g_weaponent[id], 1)
    	}
    }
    
    stock get_weapon_model(weapon)
    {
    	switch(weapon)
    	{
    		case CSW_SCOUT:   return MODEL_SCOUT
    		case CSW_XM1014:  return MODEL_XM1014
    		case CSW_AUG:	  return MODEL_AUG
    		case CSW_UMP45:   return MODEL_UMP45
    		case CSW_SG550:   return MODEL_SG550
    		case CSW_GALIL:   return MODEL_GALIL
    		case CSW_FAMAS:   return MODEL_FAMAS
    		case CSW_AWP:     return MODEL_AWP
    		case CSW_MP5NAVY: return MODEL_MP5NAVY
    		case CSW_M249:    return MODEL_M249
    		case CSW_M3:      return MODEL_M3
    		case CSW_M4A1:    return MODEL_M4A1
    		case CSW_G3SG1:   return MODEL_G3SG1
    		case CSW_SG552:   return MODEL_SG552
    		case CSW_AK47:    return MODEL_AK47
    		case CSW_P90:     return MODEL_P90
    	}
    	return 0
    }
    
    stock fm_set_entity_visibility(index, visible = 1)
    {
    	if (!ze_is_user_zombie(index))
    	{
    		set_pev(index, pev_effects, visible == 1 ? pev(index, pev_effects) & ~EF_NODRAW : pev(index, pev_effects) | EF_NODRAW)
    	}
    }
In stock fm_set_entity_visibility(index, visible = 1) i check if user not zombie so set entity visible if he zombie so it won't be set.

Re: Backweapons Plugin Fixing.

Posted: 22 Jan 2018, 22:20
by Spir0x
your code kill the weapons menu (primary) i can't pick up any gun only pistols.

Image

Re: Backweapons Plugin Fixing.

Posted: 24 Jan 2018, 21:05
by Spir0x
@Raheem can you see there please ?

Re: Backweapons Plugin Fixing.

Posted: 25 Jan 2018, 20:50
by Raheem
OK, FIXED (Test it here: 80.211.182.6:27015):
  • Code: Select all

    #include <zombie_escape>
    
    #define PLUGIN	"Back Weapons"
    #define AUTHOR	"hoboman313/cheap_suit"
    #define VERSION	"1.87"
    
    #define MAX_PLAYERS 		32
    #define OFFSET_PRIMARYWEAPON 	116
    #define OFFSET_WEAPONTYPE 	43
    #define EXTRAOFFSET_WEAPONS 	4
    #define OFFSET_AUTOSWITCH 	509
    #define OFFSET_SHIELD 		510
    #define HAS_SHIELD 		(1<<24)
    
    #define PRIMARY_WEAPONS (1<<CSW_SCOUT | 1<<CSW_XM1014 | 1<<CSW_MAC10 | 1<<CSW_AUG | 1<<CSW_UMP45 | 1<<CSW_SG550 | 1<<CSW_GALIL | 1<<CSW_FAMAS | 1<<CSW_AWP | 1<<CSW_MP5NAVY | 1<<CSW_M249 | 1<<CSW_M3 | 1<<CSW_M4A1 | 1<<CSW_TMP | 1<<CSW_G3SG1 | 1<<CSW_SG552 | 1<<CSW_AK47 | 1<<CSW_P90)
    
    #define is_weapon_primary(%1)      (PRIMARY_WEAPONS & (1<<%1))
    #define cs_get_weapon_type(%1)     get_pdata_int(%1, OFFSET_WEAPONTYPE, EXTRAOFFSET_WEAPONS)
    #define cs_get_user_hasprim(%1)    get_pdata_int(%1, OFFSET_PRIMARYWEAPON)
    #define cs_get_user_autoswitch(%1) get_pdata_int(%1, OFFSET_AUTOSWITCH)
    #define cs_get_user_shield(%1)	   (get_pdata_int(%1, OFFSET_SHIELD) & HAS_SHIELD) ? 1 : 0
    
    enum
    {
    	MODEL_NULL    = 0,
    	MODEL_AUG     = 1,
    	MODEL_AK47    = 2,
    	MODEL_AWP     = 3,
    	MODEL_MP5NAVY = 4,
    	MODEL_P90     = 5,
    	MODEL_GALIL   = 6,
    	MODEL_M4A1    = 7,
    	MODEL_SG550   = 8,
    	MODEL_SG552   = 9,
    	MODEL_SCOUT   = 10,
    	MODEL_XM1014  = 11,
    	MODEL_M3      = 12,
    	MODEL_G3SG1   = 13,
    	MODEL_M249    = 14,
    	MODEL_FAMAS   = 15,
    	MODEL_UMP45   = 16
    }
    
    new g_weapons[][] =
    {	
    	"weapon_p228",
    	"weapon_scout",
    	"weapon_hegrenade",
    	"weapon_xm1014",
    	"weapon_c4",
    	"weapon_mac10",
    	"weapon_aug",
    	"weapon_smokegrenade",
    	"weapon_elite",
    	"weapon_fiveseven",
    	"weapon_ump45",
    	"weapon_sg550",
    	"weapon_galil",
    	"weapon_famas",
    	"weapon_usp",
    	"weapon_glock18",
    	"weapon_awp",
    	"weapon_mp5navy",
    	"weapon_m249",
    	"weapon_m3",
    	"weapon_m4a1",
    	"weapon_tmp",
    	"weapon_g3sg1",
    	"weapon_flashbang",
    	"weapon_deagle",
    	"weapon_sg552",
    	"weapon_ak47",
    	"weapon_knife",
    	"weapon_p90"
    }
    
    new g_weaponclass[] = "backweapon"
    new g_weaponmodel[] = "models/backweapons.mdl"
    
    new g_weaponent[MAX_PLAYERS+1]
    
    public plugin_init() 
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
    	
    	RegisterHam(Ham_Killed,           "player", "bacon_killed")
    	RegisterHam(Ham_Spawn,            "player", "bacon_spawn_post", 1)
    	RegisterHam(Ham_AddPlayerItem,    "player", "bacon_addplayeritem")
    	RegisterHam(Ham_RemovePlayerItem, "player", "bacon_removeplayeritem")
    	
    	for(new i = 0; i < sizeof g_weapons; i++)
    	{
    		RegisterHam(Ham_Item_AttachToPlayer, g_weapons[i], "bacon_item_attachtoplayer_post", 1)
    		RegisterHam(Ham_Item_Deploy,         g_weapons[i], "bacon_item_deploy_post",         1)
    	}
    }
    
    public plugin_precache()
    	precache_model(g_weaponmodel)
    
    public client_putinserver(id)
    {
    	static infotarget 
    	if(!infotarget) infotarget = engfunc(EngFunc_AllocString, "info_target")
    	
    	g_weaponent[id] = engfunc(EngFunc_CreateNamedEntity, infotarget)
    	if(pev_valid(g_weaponent[id]))
    	{
    		engfunc(EngFunc_SetModel, g_weaponent[id], g_weaponmodel)
    		set_pev(g_weaponent[id], pev_classname, g_weaponclass)
    		set_pev(g_weaponent[id], pev_movetype, MOVETYPE_FOLLOW)
    		set_pev(g_weaponent[id], pev_effects, EF_NODRAW)
    		set_pev(g_weaponent[id], pev_aiment, id)
    	}
    }
    
    public client_disconnected(id)
    {
    	if(g_weaponent[id] > 0 && pev_valid(g_weaponent[id]))
    		engfunc(EngFunc_RemoveEntity, g_weaponent[id])
    	
    	g_weaponent[id] = 0
    }
    
    public bacon_killed(id, idattacker, shouldgib)
    	fm_set_entity_visibility(g_weaponent[id], 0)
    
    public bacon_addplayeritem(id, ent)
    {
    	static weaponid; weaponid = cs_get_weapon_type(ent)
    	if(is_weapon_primary(weaponid) && pev_valid(g_weaponent[id]) || ze_is_user_zombie(id))
    	{
    		fm_set_entity_visibility(g_weaponent[id], 0)
    		set_pev(g_weaponent[id], pev_body, get_weapon_model(weaponid))
    	}
    }
    
    public bacon_removeplayeritem(id, ent)
    {
    	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]) || ze_is_user_zombie(id))
    		fm_set_entity_visibility(g_weaponent[id], 0)
    }
    
    public bacon_spawn_post(id) if(is_user_alive(id))
    {
    	if(!cs_get_user_hasprim(id) || ze_is_user_zombie(id))
    		fm_set_entity_visibility(g_weaponent[id], 0)
    }
    
    public bacon_item_attachtoplayer_post(ent, id) if(is_user_alive(id) && !cs_get_user_autoswitch(id))
    {
    	if(is_weapon_primary(cs_get_weapon_type(ent)) && pev_valid(g_weaponent[id]))
    		fm_set_entity_visibility(g_weaponent[id], 1)
    }
    
    public bacon_item_deploy_post(ent)
    {
    	static id; id = pev(ent, pev_owner)
    	if(is_user_alive(id)) 
    	{
    		static weapon; weapon = cs_get_weapon_type(ent)
    		if(is_weapon_primary(weapon) || cs_get_user_shield(id) || ze_is_user_zombie(id))
    			fm_set_entity_visibility(g_weaponent[id], 0)
    		
    		else if(cs_get_user_hasprim(id))
    			fm_set_entity_visibility(g_weaponent[id], 1)
    	}
    }
    
    stock get_weapon_model(weapon)
    {
    	switch(weapon)
    	{
    		case CSW_SCOUT:   return MODEL_SCOUT
    		case CSW_XM1014:  return MODEL_XM1014
    		case CSW_AUG:	  return MODEL_AUG
    		case CSW_UMP45:   return MODEL_UMP45
    		case CSW_SG550:   return MODEL_SG550
    		case CSW_GALIL:   return MODEL_GALIL
    		case CSW_FAMAS:   return MODEL_FAMAS
    		case CSW_AWP:     return MODEL_AWP
    		case CSW_MP5NAVY: return MODEL_MP5NAVY
    		case CSW_M249:    return MODEL_M249
    		case CSW_M3:      return MODEL_M3
    		case CSW_M4A1:    return MODEL_M4A1
    		case CSW_G3SG1:   return MODEL_G3SG1
    		case CSW_SG552:   return MODEL_SG552
    		case CSW_AK47:    return MODEL_AK47
    		case CSW_P90:     return MODEL_P90
    	}
    	return 0
    }
    
    stock fm_set_entity_visibility(index, visible = 1) 
    {
    	set_pev(index, pev_effects, visible == 1 ? pev(index, pev_effects) & ~EF_NODRAW : pev(index, pev_effects) | EF_NODRAW)
    }

Re: Backweapons Plugin Fixing.

Posted: 29 Jan 2018, 16:41
by Spir0x
Man are you sure ? it's not fixed.
weapons still with zombies.

Re: Backweapons Plugin Fixing.

Posted: 29 Jan 2018, 20:24
by Raheem
Run right now in my own server and this problem never appear again. Join my server and see.