test.
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "Weapons Model Vip"
#define VERSION "1.0"
#define AUTHOR "SirErick"
new g_weapons[33], g_one_round[33], g_maxplayers
new const WEAPONENTNAMES[][] = { "", "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" }
enum _:model_weapons
{
V_AK47,
V_M4A1,
V_DEAGLE
}
enum _:models_weapons_new
{
V_WEAPONS[50]
}
new const new_weapons[model_weapons][models_weapons_new] =
{
"models/you_model_ak47.mdl",
"models/you_model_m4a1.mdl",
"models/you_model_deagle.mdl"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_pcvar_string(register_cvar("Weapons Model Vip", VERSION, FCVAR_SERVER|FCVAR_SPONLY), VERSION)
for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
{
if(WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
}
register_clcmd("say /weapons", "new_menu")
g_maxplayers = get_maxplayers()
}
public plugin_precache()
{
for(new i = 0;i < sizeof new_weapons;i++)
{
precache_model(new_weapons[i][V_WEAPONS]);
}
}
public client_putinserver(id)
{
g_weapons[id] = 0
g_one_round[id] = true
}
public event_round_start()
{
for (new id = 1; id <= g_maxplayers; id++)
{
if (!is_user_connected(id))
continue;
g_one_round[id] = true
}
}
public new_menu(id)
{
if (!is_user_alive(id) || !g_one_round[id])
return PLUGIN_HANDLED
new Menu = menu_create("\yNice Weapons", "show_menu_weapons")
menu_additem(Menu, "\wMoNSteR Ak47" , "1", 0)
menu_additem(Menu, "\wCooL M4a1 " , "2", 0)
menu_additem(Menu, "\wDeagle" , "3", 0)
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
return PLUGIN_HANDLED
}
public show_menu_weapons(id, menu, item)
{
if (!is_user_alive(id) || !g_one_round[id])
return PLUGIN_HANDLED
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0:
{
g_weapons[id] = 1
}
case 1:
{
g_weapons[id] = 2
}
case 2:
{
g_weapons[id] = 3
}
}
g_one_round[id] = false
return PLUGIN_HANDLED;
}
public fw_Item_Deploy_Post(weapon_ent)
{
if(!pev_valid(weapon_ent))
return
// Get weapon's owner
static owner
owner = fm_cs_get_weapon_ent_owner(weapon_ent)
// Get weapon's id
static weaponid
weaponid = cs_get_weapon_id(weapon_ent)
switch (weaponid)
{
case CSW_AK47:
{
if (g_weapons[owner] == 1)
{
set_pev(owner, pev_viewmodel2, new_weapons[V_AK47][V_WEAPONS])
}
}
case CSW_M4A1:
{
if (g_weapons[owner] == 2)
{
set_pev(owner, pev_viewmodel2, new_weapons[V_M4A1][V_WEAPONS])
}
}
case CSW_DEAGLE:
{
if (g_weapons[owner] == 2)
{
set_pev(owner, pev_viewmodel2, new_weapons[V_DEAGLE][V_WEAPONS])
}
}
}
}
stock fm_cs_get_weapon_ent_owner(ent)
{
// Prevent server crash if entity's private data not initalized
if (pev_valid(ent) != 2)
return -1;
return get_pdata_cbase(ent, 41, 4);
}