#include "amxmodx"
#include "amxmisc"
#include "engine"
#include "fakemeta"
#include "cstrike"
#include "fun"
#include "hamsandwich"
#include "colorchat"
#define VIP_FLAG ADMIN_LEVEL_C
enum {
SCOREATTRIB_ARG_PLAYERID = 1,
SCOREATTRIB_ARG_FLAGS
};
enum ( <<= 1 ) {
SCOREATTRIB_FLAG_NONE = 0,
SCOREATTRIB_FLAG_DEAD = 1,
SCOREATTRIB_FLAG_BOMB,
SCOREATTRIB_FLAG_VIP
};
new awp[33],scout[33]
public plugin_init() {
register_plugin("VIP", "1.0", "mforce")
RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
register_clcmd("say", "sayhook")
register_event("DeathMsg", "halal", "a")
register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
register_clcmd("say /skin" ,"skinmenu")
register_event("CurWeapon", "ecw", "be", "1=1")
}
new const modellek[][] = {
"models/player/awp_vip_te_skins_new/awp_vip_te_skins_new.mdl",
"models/player/awp_vip_ct_skins_new/awp_vip_ct_skins_new.mdl"
}
public plugin_precache() {
for(new i; i<sizeof(modellek);i++) precache_model(modellek[i]);
precache_model("models/vipfegyver/v_vipawp.mdl") //modell neve
precache_model("models/vipfegyver/v_vipscout.mdl") //modell neve
}
public ecw(id)
{
new fegyver = get_user_weapon(id)
if(awp[id] == 1 && fegyver == CSW_AWP)
{
set_pev(id, pev_viewmodel2, "models/vipfegyver/v_vipawp.mdl") // modell neve
}
if(scout[id] == 1 && fegyver == CSW_SCOUT)
{
set_pev(id, pev_viewmodel2, "models/vipfegyver/v_vipscout.mdl") // modell neve
}
}
public skinmenu(id)
{
if(get_user_flags(id) & VIP_FLAG)
{
static szMenu[128],szMenu1[128]
formatex(szMenu,127,"\ySNIPER \rSkinek! (\dVIP-eknek\r)")
new Menu = menu_create( szMenu,"dobi_handler")
formatex(szMenu,127,"\wAWP \ySkin")
menu_additem(Menu,szMenu,"0",0)
formatex(szMenu1,127,"\wSCOUT \ySkin")
menu_additem(Menu,szMenu1,"1",0)
menu_setprop(Menu,MPROP_EXITNAME,"Kilépes")
menu_display(id,Menu,0)
}
else
{
ColorChat(id, GREEN, "^4[WorldSniper] ^1Neked nincs jogod ehhez!")
}
}
public dobi_handler(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
awpmenu(id)
}
case 1:{
scoutmenu(id)
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public awpmenu(id)
{
static szMenu[128],szMenu1[128]
formatex(szMenu,127,"\rSzeretnéd aktíválni az AWP skint?")
new Menu = menu_create( szMenu,"awp_handler")
formatex(szMenu,127,"\wIGEN")
menu_additem(Menu,szMenu,"0",0)
formatex(szMenu1,127,"\wNEM")
menu_additem(Menu,szMenu1,"1",0)
menu_setprop(Menu,MPROP_EXITNAME,"Kilépes")
menu_display(id,Menu,0)
}
public awp_handler(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
awp[id] = 1
}
case 1:{
awp[id] = false
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public scoutmenu(id)
{
static szMenu[128],szMenu1[128]
formatex(szMenu,127,"\rSzeretnéd aktíválni az SCOUT skint?")
new Menu = menu_create( szMenu,"scout_handler")
formatex(szMenu,127,"\wIGEN")
menu_additem(Menu,szMenu,"0",0)
formatex(szMenu1,127,"\wNEM")
menu_additem(Menu,szMenu1,"1",0)
menu_setprop(Menu,MPROP_EXITNAME,"Kilépes")
menu_display(id,Menu,0)
}
public scout_handler(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:{
scout[id] = 1
}
case 1:{
scout[id] = false
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public spawn_event(id) {
if(!is_user_connected(id) || !is_user_alive(id)) return HAM_IGNORED;
static team
team = get_user_team(id)
switch(team) {
case 1: {
if(get_user_flags(id) & VIP_FLAG) {
cs_set_user_model(id, "awp_vip_te_skins_new");
give_item(id, "item_assaultsuit");
}
}
case 2: {
if(get_user_flags(id) & VIP_FLAG) {
cs_set_user_model(id, "awp_vip_ct_skins_new");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
}
}
}
return HAM_IGNORED
}
public halal(id) {
new killer = read_data(1)
new victim = read_data(2)
new kteam = get_user_team(killer)
new vteam = get_user_team(victim)
if(killer != victim && kteam != vteam && get_user_flags(killer) & VIP_FLAG && get_user_health(killer) <= 140) {
set_user_health(killer,get_user_health(killer)+10)
}
}
public MessageScoreAttrib( iMsgId, iDest, iReceiver ) {
new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
if( access( iPlayer, VIP_FLAG ) ) {
set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
}
}
public sayhook(id)
{
new message[192], Name[32], Steam_ID[32], none[2][32], chat[192]
read_args(message, 191)
remove_quotes(message)
formatex(none[0], 31, "/"), formatex(none[1], 31, " ")
if(!equali(message, none[0]) && !equali(message, none[1])){
get_user_name(id, Name, 31)
get_user_authid(id, Steam_ID, 31)
// Játékos IDre / Névre
if(equal("Ide irhatsz Steam id-t", Steam_ID))
formatex(chat, 191, "^4[Prefix]^3%s^1 :^4 %s", Name, message)
if(equal("Steam_id", Steam_ID))
formatex(chat, 191, "^4[Prefix]^3%s^1 :^4 %s", Name, message)
else if(equal("NickName", Name))
formatex(chat, 191, "^4[PREFIX]^3%s^1 :^4 %s", Name, message)
// Játékos Jogra
else if(get_user_flags(id) & VIP_FLAG)
formatex(chat, 191, "^4[VIP]^3%s^1 : ^3 %s", Name, message)
else
formatex(chat, 191, "^3%s^1 :^1 %s", Name, message)
switch(cs_get_user_team(id)){
case 1: ColorChat(0, RED, chat)
case 2: ColorChat(0, BLUE, chat)
}
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
ColorChat(0, GREY, chat)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}