PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <cs_player_models_api>
#define PLUGIN "VIP Model"
#define VERSION "1.0"
#define AUTHOR "Gh0stMan"
#define VIP_ACCESS ADMIN_LEVEL_H
new bool:vip_model[33]
new bool:def_model[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "client_spawn", 1)
register_clcmd("say /model", "vipmodelmenu");
register_dictionary("vipmodel.txt");
}
public plugin_precache()
{
precache_model("models/player/leet_t_vip/leet_t_vip.mdl")
precache_model("models/player/gign_ct_vip/gign_ct_vip.mdl")
}
public client_putinserver(id)
{
vip_model[id] = true
def_model[id] = false
}
public client_disconnect(id)
{
vip_model[id] = false
def_model[id] = false
}
public client_spawn(id)
{
if(!is_user_connected(id) || !is_user_alive(id))
return
if(get_user_flags( id ) & VIP_ACCESS)
{
if(def_model[id])
{
cs_reset_player_model(id)
}
else if(vip_model[id])
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T:
cs_set_player_model(id, "leet_t_vip")
case CS_TEAM_CT:
cs_set_player_model(id, "gign_ct_vip")
}
}
}
else
{
cs_reset_player_model(id)
}
}
public vipmodelmenu(id)
{
if(get_user_flags( id ) & VIP_ACCESS)
{
static ItemMenu[64];
formatex(ItemMenu, charsmax( ItemMenu ), "%L", id, "MENU_NAME")
new iMenu = menu_create(ItemMenu, "menu_handler");
if (!vip_model[id])
{
formatex(ItemMenu, charsmax(ItemMenu), "%L", id, "MENU_VIP")
menu_additem(iMenu, ItemMenu, "1")
}
else if (vip_model[id])
{
formatex(ItemMenu, charsmax(ItemMenu), "%L", id, "MENU_VIP_INUSE")
menu_additem(iMenu, ItemMenu, "1")
}
if (!def_model[id])
{
formatex(ItemMenu, charsmax(ItemMenu), "%L", id, "MENU_DEF")
menu_additem(iMenu, ItemMenu, "2")
}
else if (def_model[id])
{
formatex(ItemMenu, charsmax(ItemMenu), "%L", id, "MENU_DEF_INUSE")
menu_additem(iMenu, ItemMenu, "2")
}
menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( iMenu, MPROP_NUMBER_COLOR, "\r" );
menu_setprop( iMenu, MPROP_BACKNAME, "Back" );
menu_setprop( iMenu, MPROP_NEXTNAME, "Next" );
menu_setprop( iMenu, MPROP_EXITNAME, "Quit" );
menu_setprop( iMenu, MPROP_PERPAGE, 7 );
menu_display( id, iMenu );
}
else
{
client_print(id, print_chat, "%L", id, "VIP_NOACCESS");
}
}
public menu_handler (id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
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(!vip_model[id])
{
client_print(id, print_chat, "%L", id, "VIP_MODEL_NEXT");
}
vip_model[id] = true
def_model[id] = false
}
case 2:
{
if(!def_model[id])
{
client_print(id, print_chat, "%L", id, "DEF_MODEL_NEXT");
}
vip_model[id] = false
def_model[id] = true
}
}
return PLUGIN_HANDLED;
}