PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#pragma semicolon 1
#define VIP_LEVEL ADMIN_LEVEL_H
new PLUG[] = "Golden and crystal weapons";
new VERS[] = "1.0";
new AUTH[] = "EpicKiller";
// AWP
new bool:g_bHasGoldenAwp[33];
new bool:g_bHasCrystalAwp[33];
new const V_MODEL_G_AWP[] = "models/custom_awp/v_golden_awp.mdl";
new const P_MODEL_G_AWP[] = "models/custom_awp/p_golden_awp.mdl";
new const W_MODEL_G_AWP[] = "models/custom_awp/w_golden_awp.mdl";
new const V_MODEL_C_AWP[] = "models/custom_awp/v_crystal_awp.mdl";
new const P_MODEL_C_AWP[] = "models/custom_awp/p_crystal_awp.mdl";
new const W_MODEL_C_AWP[] = "models/custom_awp/w_crystal_awp.mdl";
// Deagle
new bool:g_bHasGoldenDeagle[33];
new bool:g_bHasCrystalDeagle[33];
new const V_MODEL_G_DEAGLE[] = "models/custom_deagle/v_golden_deagle.mdl";
new const P_MODEL_G_DEAGLE[] = "models/custom_deagle/p_golden_deagle.mdl";
new const W_MODEL_G_DEAGLE[] = "models/custom_deagle/w_golden_deagle.mdl";
new const V_MODEL_C_DEAGLE[] = "models/custom_deagle/v_crystal_deagle.mdl";
new const P_MODEL_C_DEAGLE[] = "models/custom_deagle/p_crystal_deagle.mdl";
new const W_MODEL_C_DEAGLE[] = "models/custom_deagle/w_crystal_deagle.mdl";
public plugin_init()
{
register_plugin(PLUG, VERS, AUTH);
register_event("CurWeapon", "onCurWeapon_awp", "be", "4&awp");
register_event("WeapPickup", "onWeaponPickup_awp", "be", "1=18");
register_event("CurWeapon", "onCurWeapon_deagle", "be", "4&deagle");
register_event("WeapPickup", "onWeaponPickup_deagle", "be", "1=26");
register_forward(FM_SetModel, "onSetModel");
register_clcmd("say /vipweapons", "cmdVipWeapons");
register_clcmd("say_team /vipweapons", "cmdVipWeapons");
register_clcmd("say /weapons", "cmdVipWeapons");
register_clcmd("say_team /weapons", "cmdVipWeapons");
register_clcmd("say /vipweap", "cmdVipWeapons");
register_clcmd("say_team /vipweap", "cmdVipWeapons");
register_clcmd("say /weap", "cmdVipWeapons");
register_clcmd("say_team /weap", "cmdVipWeapons");
}
public cmdVipWeapons(id)
{
new vip_weapons_menu = menu_create("\rVIP \gweapons", "vip_weapons_menu_handler");
menu_additem(vip_weapons_menu, "\dGolden AWP", "", VIP_LEVEL);
menu_additem(vip_weapons_menu, "\dCrystal AWP", "", VIP_LEVEL);
menu_additem(vip_weapons_menu, "\dGolden \rDeagle", "", VIP_LEVEL);
menu_additem(vip_weapons_menu, "\dCrystal \rDeagle", "", VIP_LEVEL);
menu_setprop(vip_weapons_menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, vip_weapons_menu, 0);
}
public vip_weapons_menu_handler(id, menu, item)
{
switch(item)
{
case 0:
{
if(get_user_flags(id) & VIP_LEVEL)
{
GiveGoldenAwp(id);
}
else
{
client_print(id, print_chat, "Nu esti VIP!");
client_print(id, print_chat, "Pentru detalii, tasteaza /detaliivip!");
}
}
case 1:
{
if(get_user_flags(id) & VIP_LEVEL)
{
GiveCrystalAwp(id);
}
else
{
client_print(id, print_chat, "Nu esti VIP!");
client_print(id, print_chat, "Pentru detalii, tasteaza /detaliivip!");
}
}
case 2:
{
if(get_user_flags(id) & VIP_LEVEL)
{
GiveGoldenDeagle(id);
}
else
{
client_print(id, print_chat, "Nu esti VIP!");
client_print(id, print_chat, "Pentru detalii, tasteaza /detaliivip!");
}
}
case 3:
{
if(get_user_flags(id) & VIP_LEVEL)
{
GiveCrystalDeagle(id);
}
else
{
client_print(id, print_chat, "Nu esti VIP!");
client_print(id, print_chat, "Pentru detalii, tasteaza /detaliivip!");
}
}
}
menu_destroy(menu);
}
public GiveGoldenAwp(id)
{
give_item(id, "weapon_awp");
cs_set_user_bpammo(id, CSW_AWP, 100);
if(get_user_weapon(id) == CSW_AWP)
{
SetModelsForGoldenAwp(id);
}
g_bHasGoldenAwp[id] = true;
}
public GiveCrystalAwp(id)
{
give_item(id, "weapon_awp");
cs_set_user_bpammo(id, CSW_AWP, 100);
if(get_user_weapon(id) == CSW_AWP)
{
SetModelsForCrystalAwp(id);
}
g_bHasCrystalAwp[id] = true;
}
public GiveGoldenDeagle(id)
{
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 70);
if(get_user_weapon(id) == CSW_DEAGLE)
{
SetModelsForGoldenDeagle(id);
}
g_bHasGoldenDeagle[id] = true;
}
public GiveCrystalDeagle(id)
{
give_item(id, "weapon_deagle");
cs_set_user_bpammo(id, CSW_DEAGLE, 70);
if(get_user_weapon(id) == CSW_DEAGLE)
{
SetModelsForCrystalDeagle(id);
}
g_bHasCrystalDeagle[id] = true;
}
public onWeaponPickup_awp(id)
{
if(there is a custom model set for awp)
{
if(g_bHasGoldenAwp[id])
{
set_pev(id, pev_viewmodel2, V_MODEL_G_AWP);
set_pev(id, pev_weaponmodel2, P_MODEL_G_AWP);
}
else if(g_bHasCrystalAwp[id])
{
set_pev(id, pev_viewmodel2, V_MODEL_C_AWP);
set_pev(id, pev_weaponmodel2, P_MODEL_C_AWP);
}
}
}
public onWeaponPickup_deagle(id)
{
if(there is a custom skin set for deagle)
{
if(g_bHasGoldenDeagle[id])
{
set_pev(id, pev_viewmodel2, V_MODEL_G_DEAGLE);
set_pev(id, pev_weaponmodel2, P_MODEL_G_DEAGLE);
}
else if(g_bHasCrystalDeagle[id])
{
set_pev(id, pev_viewmodel2, V_MODEL_C_DEAGLE);
set_pev(id, pev_weaponmodel2, P_MODEL_C_DEAGLE);
}
}
}
public onCurWeapon(id)
{
if(g_bHasGoldenAwp[id])
{
SetModelsForGoldenAwp(id);
}
else if(g_bHasCrystalAwp[id])
{
SetModelsForCrystalAwp(id);
}
else if(g_bHasGoldenDeagle[id])
{
SetModelsForGoldenDeagle(id);
}
else if(g_bHasCrystalDeagle[id])
{
SetModelsForCrystalDeagle(id);
}
}
public onSetModel(id, ent, const model[])
{
if (strlen(model) < 8)
return FMRES_IGNORED;
if (model[7] != 'w' || model[8] != '_')
return FMRES_IGNORED;
if(equal(model, "awp") != -1)
{
if(g_bHasGoldenAwp[id])
{
engfunc(EngFunc_SetModel, ent, W_MODEL_G_AWP);
}
else if(g_bHasCrystalAwp[id])
{
engfunc(EngFunc_SetModel, ent, W_MODEL_C_AWP);
}
}
else if(equal(model, "deagle") != -1)
{
if(g_bHasGoldenDeagle[id])
{
engfunc(EngFunc_SetModel, ent, W_MODEL_G_DEAGLE);
}
else if(g_bHasCrystalDeagle[id])
{
engfunc(EngFunc_SetModel, ent, W_MODEL_C_DEAGLE);
}
}
return FMRES_IGNORED;
}
stock SetModelsForGoldenAwp(id)
{
set_pev(id, pev_viewmodel2, V_MODEL_G_AWP);
set_pev(id, pev_weaponmodel2, P_MODEL_G_AWP);
}
stock SetModelsForCrystalAwp(id)
{
set_pev(id, pev_viewmodel2, V_MODEL_C_AWP);
set_pev(id, pev_weaponmodel2, P_MODEL_C_AWP);
}
stock SetModelsForGoldenDeagle(id)
{
set_pev(id, pev_viewmodel2, V_MODEL_G_DEAGLE);
set_pev(id, pev_weaponmodel2, P_MODEL_G_DEAGLE);
}
stock SetModelsForCrystalDeagle(id)
{
set_pev(id, pev_viewmodel2, V_MODEL_C_DEAGLE);
set_pev(id, pev_weaponmodel2, P_MODEL_C_DEAGLE);
}
public plugin_precache()
{
precache_model(V_MODEL_G_AWP);
precache_model(P_MODEL_G_AWP);
precache_model(W_MODEL_G_AWP);
precache_model(V_MODEL_C_AWP);
precache_model(P_MODEL_C_AWP);
precache_model(W_MODEL_C_AWP);
precache_model(V_MODEL_G_DEAGLE);
precache_model(P_MODEL_G_DEAGLE);
precache_model(W_MODEL_G_DEAGLE);
precache_model(V_MODEL_C_DEAGLE);
precache_model(P_MODEL_C_DEAGLE);
precache_model(W_MODEL_C_DEAGLE);
}