as vrea daca se poate sa faceti sa aibe acces doar vip-ul
- | Afiseaza codul
/* |__ __ __| ___ __ | ) (__( (__| (__/_ __) OWNAGE Thanks to geo_neo9 */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <hamsandwich> #include <fun> #include <colorchat> #define PLUGIN "VIP PLUGIN" #define VERSION "1.0" #define AUTHOR "hadesownage" #define ACCES "ADMIN_LEVEL_H" #define ACCES_LEVEL ADMIN_LEVEL_H #define MAX_HEALTH 225 #define COLOR "^x04" #define CONTACT "/vip pentru detalii" new maxplayers new gmsgSayText new g_ScoreAttrib; new limita[33]; new gHealth_add, gHealth_max public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) gHealth_add = register_cvar("vip_hp_add", "5") gHealth_max = register_cvar("vip_hp_max", "100") register_event("DeathMsg", "VIP_KILL", "ae") register_event("CurWeapon", "CurWeapon", "be", "1=1") RegisterHam(Ham_Spawn, "player", "SetSomeThing", 1) register_logevent("round_start", 2, "1=Round_Start") register_clcmd ("say /vip" , "vipinfo" , -1); register_clcmd ("say_team /vip" , "vipinfo" , -1); register_clcmd("say /furienvip", "check_acces"); register_clcmd("say /vips", "print_adminlist"); maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER) RegisterHam(Ham_Spawn, "player", "HamPlayerSpawn", 0); g_ScoreAttrib = get_user_msgid("ScoreAttrib"); register_event("ResetHUD", "resetModel", "b") return PLUGIN_CONTINUE } public round_start() { new iPlayers[32] new iNum get_players( iPlayers, iNum ) for( new i = 0; i < iNum; i++ ) { limita[iPlayers] = 0; } } public VIP_KILL() { new killer = read_data(1) new victim = read_data(2) if(!killer || !victim) return if(get_user_flags(killer) & ACCES_LEVEL) { if(killer && is_user_alive(killer)) { if(cs_get_user_team(victim) == CS_TEAM_T) { if(get_user_health(killer) < 200 - 10) { set_user_health(killer, get_user_health(killer) + 10) } if(cs_get_user_money(killer) < 16000 - 800) { cs_set_user_money(killer, cs_get_user_money(killer) + 800) } } if(cs_get_user_team(victim) == CS_TEAM_CT) { if(cs_get_user_money(killer) < 16000 - 700) { cs_set_user_money(killer, cs_get_user_money(killer) + 700) } } } } } public SetSomeThing(id) { if(!(get_user_flags(id) & ACCES_LEVEL)) return if(get_user_health(id) < 225) { set_user_health(id, 225) } if(get_user_armor(id) < 225) { set_user_armor(id, 225) } set_task(0.5, "ScoreBoard", id + 6910) } public ScoreBoard(tID) { new id = tID - 6910 message_begin(MSG_ALL, get_user_msgid("ScoreAttrib")) write_byte(id) write_byte(4) message_end() } public CurWeapon(id) { if(!(get_user_flags(id) & ACCES_LEVEL)) return new CW = read_data(2) if(CW != CSW_KNIFE) return else if(get_user_health(id) < 50) set_task(5.0, "hp_up",id, _, _, "b") } public hp_up(id) { new addhealth = get_pcvar_num(gHealth_add) if(!addhealth) return new maxhealth = get_pcvar_num(gHealth_max) if(maxhealth > MAX_HEALTH) { set_pcvar_num(gHealth_max, MAX_HEALTH) maxhealth = MAX_HEALTH } new health = get_user_health(id) if(is_user_alive(id) && (health < maxhealth)) { set_user_health(id, health + addhealth) new cvar_health[5] get_pcvar_string(gHealth_max, cvar_health, 4) set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4) show_hudmessage(id, "[VIP-REGENERATION] Viata ta se incarca pana la %s !", cvar_health) message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id) write_short(1<<10) write_short(1<<10) write_short(0x0000) write_byte(0) write_byte(191) write_byte(255) write_byte(75) message_end() } else { if(is_user_alive(id) && (health > maxhealth)) emit_sound(id,CHAN_VOICE, "fvox/medical_repaired.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) remove_task(id) } } public vipinfo(id) show_motd(id,"/addons/amxmodx/configs/vip.html") public print_adminlist(user) { new adminnames[33][32] new message[256] new contactinfo[256], contact[112] new id, count, x, len for(id = 1 ; id <= maxplayers ; id++) if(is_user_connected(id)) if( get_user_flags(id) & read_flags(ACCES) ) get_user_name(id, adminnames[count++], 31) len = format(message, 255, "%s VIPS ONLINE: ",COLOR) if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"") if(len > 96 ) { print_message(user, message) len = format(message, 255, "%s ",COLOR) } } print_message(user, message) } else { len += format(message[len], 255-len, "Nici un VIP online.") print_message(user, message) } get_cvar_string("amx_contactinfo", contact, 63) if(contact[0]) { format(contactinfo, 111, "%s Cumpara VIP -- %s", COLOR, contact) print_message(user, contactinfo) } } print_message(id, msg[]) { message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id) write_byte(id) write_string(msg) message_end() } public HamPlayerSpawn(id) { if( get_user_flags(id) & read_flags(ACCES) ) { set_user_scoreattrib(id, 4); } } stock set_user_scoreattrib(id, attrib = 0) { message_begin(MSG_BROADCAST, g_ScoreAttrib, _, 0); write_byte(id); write_byte(attrib); message_end( ); } public plugin_precache() { precache_model("models/player/vip_ct/vip_ct.mdl") precache_model("models/player/vip_t/vip_t.mdl") return PLUGIN_CONTINUE } public resetModel(id, level, cid) { if( get_user_flags(id) & read_flags(ACCES) ) { new CsTeams:userTeam = cs_get_user_team(id) if (userTeam == CS_TEAM_T) { cs_set_user_model(id, "vip_t") } else if(userTeam == CS_TEAM_CT) { set_user_rendering(id,kRenderFxGlowShell,0,176,255,kRenderFxNone,0) cs_set_user_model(id, "vip_ct") } else { cs_reset_user_model(id) } } return PLUGIN_CONTINUE } public check_acces(id){ if(!is_user_alive(id)) return PLUGIN_HANDLED; if(limita[id] == 1){ ColorChat(id,GREEN,"[Furien VIP]^x01 Ai folosit deja meniul"); return PLUGIN_HANDLED; } if( get_user_flags(id) & read_flags(ACCES) && (cs_get_user_team(id) == CS_TEAM_CT) ) furien_menu(id) else ColorChat(id,GREEN,"[Furien VIP]^x01 Nu ai acces la meniu"); return PLUGIN_CONTINUE } public furien_menu(id){ new menu = menu_create( "Furien VIP Menu", "menu_handler" ) menu_additem(menu, "GRAVITATIE", "1", 0) menu_additem(menu, "INVIZIBILITATE", "2", 0) menu_additem(menu, "M4A1 + DEAGLE", "3", 0) menu_additem(menu, "AK47 + DEAGLE", "4", 0) menu_additem(menu, "HEGRENADE + FLASHBANG", "5", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public menu_handler ( id, menu, item ) { if( item == MENU_EXIT ) { return 1 } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1:{ ColorChat(id,GREEN,"[Furien VIP]^x01 Acum poti sari mai tare"); set_user_gravity(id,0.7) limita[id] += 1 } case 2:{ ColorChat(id,GREEN,"[Furien VIP]^x01 Acum esti 100% invizibil"); set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0); limita[id] += 1 } case 3:{ ColorChat(id,GREEN,"[Furien VIP]^x01 Ai primit M4A1 + DEAGLE"); give_item(id, "weapon_m4a1"); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_M4A1, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); limita[id] += 1 } case 4:{ ColorChat(id,GREEN,"[Furien VIP]^x01 Ai primit AK47 + DEAGLE"); give_item(id, "weapon_ak47"); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_AK47, 90); cs_set_user_bpammo(id, CSW_DEAGLE, 35); limita[id] += 1 } case 5:{ ColorChat(id,GREEN,"[Furien VIP]^x01 Ai primit 2 Flashuri + 1 HE"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_hegrenade"); limita[id] += 1 } } menu_destroy(menu); return 1 } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1048\\ f0\\ fs16 \n\\ par } */