Senior Member
|
04-28-2022
, 16:56
Fix this weapon models plugin bug
|
#1
|
So, I'm using this weapon model replacement plugin. The problem is that everytime a player has the models on and buys and uses the shield, it causes a bug where you can't see the pistol. Is there a way to solve this?
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "Weapon Skins ADMIN_LEVEL_H"
#define VERSION "1.0"
#define AUTHOR "Bafak"
new const v_Model1[] = "models/wmodels/v_m4a1.mdl"
new const v_Model2[] = "models/wmodels/v_ak47.mdl"
new const v_Model3[] = "models/wmodels/v_aug.mdl"
new const v_Model4[] = "models/wmodels/v_awp.mdl"
new const v_Model5[] = "models/wmodels/v_sg552.mdl"
new const v_Model6[] = "models/wmodels/v_deagle.mdl"
new const v_Model7[] = "models/wmodels/v_knife.mdl"
new const p_Model1[] = "models/wmodels/p_ak47.mdl"
new const p_Model2[] = "models/wmodels/p_aug.mdl"
new const p_Model3[] = "models/wmodels/p_awp.mdl"
new const p_Model4[] = "models/wmodels/p_sg552.mdl"
new const p_Model5[] = "models/wmodels/p_deagle.mdl"
new const p_Model6[] = "models/wmodels/p_knife.mdl"
new onoffskinguns[ 33 ]
public plugin_precache()
{
precache_model(v_Model1)
precache_model(v_Model2)
precache_model(v_Model3)
precache_model(v_Model4)
precache_model(v_Model5)
precache_model(v_Model6)
precache_model(v_Model7)
precache_model(p_Model1)
precache_model(p_Model2)
precache_model(p_Model3)
precache_model(p_Model4)
precache_model(p_Model5)
precache_model(p_Model6)
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("CurWeapon" , "cur_weapon" , "be" , "1=1")
register_clcmd( "say /skins", "cmd_nastaveni" )
register_clcmd( "say_team /skins", "cmd_nastaveni" )
}
public client_putinserver(id)
{
onoffskinguns[id] = 0
set_task(80.0,"oznamenie",id,"",0,"b")
}
public cur_weapon(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H && onoffskinguns[id])
{
if(read_data(2) == CSW_M4A1)
{
set_pev(id, pev_viewmodel2, v_Model1)
}
else if(read_data(2) == CSW_AK47)
{
set_pev(id, pev_viewmodel2, v_Model2)
set_pev(id, pev_weaponmodel2, p_Model1)
}
else if(read_data(2) == CSW_AUG)
{
set_pev(id, pev_viewmodel2, v_Model3)
set_pev(id, pev_weaponmodel2, p_Model2)
}
else if(read_data(2) == CSW_AWP)
{
set_pev(id, pev_viewmodel2, v_Model4)
set_pev(id, pev_weaponmodel2, p_Model3)
}
else if(read_data(2) == CSW_SG552)
{
set_pev(id, pev_viewmodel2, v_Model5)
set_pev(id, pev_weaponmodel2, p_Model4)
}
else if(read_data(2) == CSW_DEAGLE)
{
set_pev(id, pev_viewmodel2, v_Model6)
set_pev(id, pev_weaponmodel2, p_Model5)
}
else if(read_data(2) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, v_Model7)
set_pev(id, pev_weaponmodel2, p_Model6)
}
}
return PLUGIN_CONTINUE
}
public cmd_nastaveni(id)
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
static item[64]
formatex(item, charsmax(item), "\rSkins Menu")
new menu = menu_create(item, "nastaveni_handler")
if(onoffskinguns[id])
{
formatex(item, charsmax(item), "\yTurn On")
menu_additem(menu, item, "1", 0)
}
else
{
formatex(item, charsmax(item), "\rTurn Off")
menu_additem(menu, item, "1", 0)
}
menu_addblank(menu, 0)
formatex(item, charsmax(item), "Exit")
menu_additem(menu, item, "2", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_setprop(menu, MPROP_NUMBER_COLOR, "\r" )
menu_display(id, menu, 0)
}
else
{
ChatColor(id, "!gMessage !y: You dont have any acess for this command.")
}
return PLUGIN_CONTINUE
}
public nastaveni_handler(id, menu, item)
{
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
return PLUGIN_HANDLED
}
if(onoffskinguns[id])
{
onoffskinguns[id] = 0
}
else
{
onoffskinguns[id] = 1
}
cmd_nastaveni(id)
}
case 2:
{
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public oznamenie(id)
{
if( get_user_flags(id) & ADMIN_LEVEL_H)
{
ChatColor(id, "!gMessage !y: Special skins - !g/skins")
}
else
{
ChatColor(id, "!gMessage !y: ...Message...")
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
|
|