Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
public plugin_init() {
register_plugin("AMX VIP Model", "1.0", "Starik")
RegisterHam(Ham_Spawn, "player", "hamSpawn", 1)
register_forward(FM_SetClientKeyValue, "set_client_kv")
register_forward(FM_SetModel, "Fw_SetModel")
return PLUGIN_CONTINUE
}
public plugin_precache() {
precache_model("models/player/cs_chita_steam_ct/cs_chita_steam_ct.mdl")
precache_model("models/player/cs_chita_steam_tt/cs_chita_steam_tt.mdl")
precache_model("models/player/cs_chita_ct/cs_chita_ct.mdl")
precache_model("models/player/cs_chita_tt/cs_chita_tt.mdl")
precache_model("models/player/cs_chita_ct1/cs_chita_ct1.mdl")
precache_model("models/player/cs_chita_tt1/cs_chita_tt1.mdl")
precache_model("models/player/cs_chita_ct2/cs_chita_ct2.mdl")
precache_model("models/player/cs_chita_tt2/cs_chita_tt2.mdl")
precache_model("models/player/cs_chita_ct5/cs_chita_ct5.mdl")
precache_model("models/player/cs_chita_tt5/cs_chita_tt5.mdl")
precache_model("models/player/cs_chita_ct6/cs_chita_ct6.mdl")
precache_model("models/player/cs_chita_tt6/cs_chita_tt6.mdl")
return PLUGIN_CONTINUE
}
public set_client_kv(id, const info[], const key[])
{
if(equal(key, "model"))
return FMRES_SUPERCEDE
return FMRES_IGNORED
}
public Fw_SetModel(entity, const model[])
{
static Class[10]
pev(entity, pev_classname, Class, sizeof Class - 1)
if (equal(Class, "weaponbox"))
{
set_pev(entity, pev_nextthink, get_gametime() + 0.1)
return;
}
}
public hamSpawn(id) {
set_task(1.0,"delay",id)
}
public delay(id){
if (!is_user_alive(id))
return
if (is_user_steam(id) && !is_user_admin(id) )
{
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_steam_tt")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_steam_ct")
}
else {
cs_reset_user_model(id)
}
return
} else if (get_user_flags(id) & ADMIN_LEVEL_G) {
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_tt6")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_ct6")
}
else {
cs_reset_user_model(id)
}
} else if (get_user_flags(id) & ADMIN_LEVEL_D) {
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_tt1")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_ct1")
}
else {
cs_reset_user_model(id)
}
}else if (get_user_flags(id) & ADMIN_LEVEL_E) {
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_tt2")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_ct2")
}
else {
cs_reset_user_model(id)
}
}else if (get_user_flags(id) & ADMIN_LEVEL_F) {
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_tt5")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_ct5")
}
else {
cs_reset_user_model(id)
}
}else if (get_user_flags(id) & ADMIN_LEVEL_H) {
if (get_user_team(id) == 1) {
set_user_info(id, "model", "cs_chita_tt")
}
else if(get_user_team(id) == 2) {
set_user_info(id, "model", "cs_chita_ct")
}
else {
cs_reset_user_model(id)
}
}
}
stock bool:is_user_steam(id)
{
// Author Sh0oter
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
}
return false;
}