Solved Backweapons Plugin Fixing.

Coding Help/Re-API Supported
Post Reply
User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

Backweapons Plugin Fixing.

#1

Post by Spir0x » 6 years ago

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)

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#2

Post by Raheem » 6 years ago

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.
He who fails to plan is planning to fail

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#3

Post by Spir0x » 6 years ago

your code kill the weapons menu (primary) i can't pick up any gun only pistols.

Image

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#4

Post by Spir0x » 6 years ago

@Raheem can you see there please ?

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#5

Post by Raheem » 6 years ago

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)
    }
He who fails to plan is planning to fail

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#6

Post by Spir0x » 6 years ago

Man are you sure ? it's not fixed.
weapons still with zombies.

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#7

Post by Raheem » 6 years ago

Run right now in my own server and this problem never appear again. Join my server and see.
He who fails to plan is planning to fail

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 9 guests