Re: cvar for vip
Here,
PHP Code:
#include <amxmodx> #include <cstrike> #include <engine> #include <fun> #include <fakemeta_util> #include <hamsandwich> #include <colorchat> #define PLUGIN "Vip" #define VERSION "1.0a" #define AUTHOR "costea" #define ADMIN_GOLD ADMIN_LEVEL_H //t #define ADMIN_SILVER ADMIN_LEVEL_G //s #define SCOREATTRIB_DEAD ( 1 << 0 ) #define SCOREATTRIB_VIP ( 1 << 2 ) new Cvar_VIP new Runda_Arme = 3 new bool: Activare = false new bool: premenuactive = true new Contor = 0 new g_szMessage[256] new const g_szBeginning[ ] = "Membrii VIP" const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90); const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE); new mkb,mhb,cvar_vip_maxhp,cvar_vip_maxap,cvar_hp_kill_premium,cvar_ap_kill_premium,cvar_hp_kill_classic,cvar_ap_kill_classic,cvar_vip_jump new cvar_vip_in_out,jumpnum[33], bool: dojump[33],cvar_vip_showC,cvar_vip_showH,SyncHudMessage
new cvar_vip_gravity #define tag "INFO-VIP" public plugin_init () { register_plugin ("PLUGIN", "VERSION", "AUTHOR") new MapName[32] get_mapname(MapName,31) if(MapName[0] == 'a' && MapName[1] == 'w' && MapName[2] == 'p') pause("ac","VIPT.amxx") if(equal(MapName,"35hp_2")) pause("ac","VIPT.amxx") if(equal(MapName,"35hp")) pause("ac","VIPT.amxx") if(equal(MapName,"awp_india")) pause("ac","VIPT.amxx") if(equal(MapName,"awp_bycastor32")) pause("ac","VIPT.amxx") register_clcmd("say /wantvip", "vip_info") register_clcmd("say /vips", "print_adminlist") RegisterHam(Ham_Spawn, "player", "cmdSpawn", 1) register_event("DeathMsg", "eDeathMsg", "a") register_logevent("RoundStart", 2, "1=Round_Start") register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib") Cvar_VIP = register_cvar("amx_vip" , "0") cvar_vip_in_out = register_cvar("amx_vip_in_out", "1") cvar_vip_jump = register_cvar("amx_vip_jump", "1" ) cvar_hp_kill_premium = register_cvar("amx_vip_addhp", "15") cvar_ap_kill_premium = register_cvar("amx_vip_addap", "10") cvar_hp_kill_classic = register_cvar("amx_vip_addhp", "10") cvar_ap_kill_classic = register_cvar("amx_vip_addap", "10") cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "100") cvar_vip_maxap = register_cvar("amx_vip_maxap", "100") mkb = register_cvar("money_kill_bonus","300") mhb = register_cvar("money_hs_bonus","500") cvar_vip_showC = register_cvar("amx_vip_show_chat", "1") cvar_vip_showH = register_cvar("amx_vip_show_hud", "1") cvar_vip_gravity = register_cvar("amx_vip_gravity", "850.0") set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 ) SyncHudMessage = CreateHudSyncObj( ) } public TaskDisplayVips( ) { if(get_pcvar_num(cvar_vip_showH)) { static iPlayers[ 32 ]; static iPlayersNum; get_players( iPlayers, iPlayersNum, "ch" ); if( !iPlayersNum ) return 1; static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ]; formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ? iVipsConnected = 0; static id, i; for( i = 0; i < iPlayersNum; i++ ) { id = iPlayers[ i ]; if( get_user_flags( id ) & ADMIN_GOLD ) { get_user_name( id, szName, sizeof ( szName ) -1 ); add( szVipsNames, sizeof ( szVipsNames ) -1, szName ); add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" ); iVipsConnected++; } } formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s", g_szBeginning, iVipsConnected, szVipsNames ); set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage ); } return PLUGIN_CONTINUE; } public print_adminlist(user) { if(get_pcvar_num(cvar_vip_showC)) { new adminnames[33][32]; new message[256]; new id, count, x, len; for(id = 1 ; id <= get_maxplayers() ; id++) if(is_user_connected(id)) if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER) get_user_name(id, adminnames[count++], charsmax(adminnames[ ])); len = format(message, 255, "^3[%s] ^1VIP ACTIVE:^4 " ,tag); 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, " "); } } print_message(user, message); } else { ColorChat(0, GREEN, "^3[%s] ^1Momentan pe server nu se afla nici un ^4VIP^1 ACTIV .", tag); } } return PLUGIN_CONTINUE; } print_message(id, msg[]) { message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id); write_byte(id); write_string(msg); message_end(); } public MessageScoreAttrib(iMsgID, iDest, iReceiver) // Display VIP pe TAB { new iPlayer = get_msg_arg_int(1); if(is_user_connected( iPlayer ) && (get_user_flags( iPlayer ) & ADMIN_GOLD)) { set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD); } } public in(id) { if(get_pcvar_num(cvar_vip_in_out)) { new name[32]; get_user_name(id, name, charsmax(name)); if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER) { ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a conectat.", tag, name); } return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public out(id) { if(get_pcvar_num(cvar_vip_in_out)) { new name[32]; get_user_name(id, name, charsmax(name)); if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER) { ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a deconectat.", tag, name); } return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public client_connect(id) { if(get_pcvar_num(Cvar_VIP) !=0 && !(get_user_flags(id) & ADMIN_SILVER)) set_user_flags(id,get_user_flags(id) + 262144) } public client_PreThink(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new BUTON = get_user_button(id) new OLDBUTON = get_user_oldbutton(id) new JUMP_VIP = get_pcvar_num(cvar_vip_jump) if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP)) { if(((get_user_flags(id) & ADMIN_GOLD) && (jumpnum[id] < JUMP_VIP))) { dojump[id] = true jumpnum[id]++ } } if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0 } return PLUGIN_CONTINUE; } public client_PostThink(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; if(dojump[id] == true) { new Float: velocity[3] entity_get_vector(id, EV_VEC_velocity, velocity) velocity[2] = random_float(265.0, 285.0) entity_set_vector(id, EV_VEC_velocity, velocity) dojump[id] = false } return PLUGIN_CONTINUE; } public client_putinserver(id) { set_task(2.0, "in", id) jumpnum[id] = 0 dojump[id] = false } public client_disconnect(id) { set_task(2.0, "out", id) jumpnum[id] = 0; dojump[id] = false; } public vip_info(id) { show_motd(id, "/addons/amxmodx/configs/vip_info.html"); } public eDeathMsg() { new id_Killer = read_data(1); new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp); new VIP_MAX_HP = get_user_health(id_Killer); new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap); new VIP_MAX_AP = get_user_armor(id_Killer); if(is_user_alive(id_Killer)) { if(get_user_flags(id_Killer) & ADMIN_GOLD && read_data(3) == 0) { if(VIP_MAX_HP + get_pcvar_num(cvar_hp_kill_premium) > VIP_MAXHP) set_user_health(id_Killer, VIP_MAXHP); else set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium)); if(VIP_MAX_AP + get_pcvar_num(cvar_ap_kill_premium) > VIP_MAXAP) set_user_armor(id_Killer, VIP_MAXAP); else set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium)); cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb)) } if(get_user_flags(id_Killer) & ADMIN_GOLD && read_data(3) == 1) { if(VIP_MAX_HP + get_pcvar_num(cvar_hp_kill_premium) > VIP_MAXHP) set_user_health(id_Killer, VIP_MAXHP); else set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium)); if(VIP_MAX_AP + get_pcvar_num(cvar_ap_kill_premium) > VIP_MAXAP) set_user_armor(id_Killer, VIP_MAXAP); else set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium)); cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb)) } if(get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == 1 && !(get_user_flags(id_Killer) & ADMIN_GOLD)) { if(VIP_MAX_HP + get_pcvar_num(cvar_hp_kill_classic) > VIP_MAXHP) set_user_health(id_Killer, VIP_MAXHP); else set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_classic)); if(VIP_MAX_AP + get_pcvar_num(cvar_ap_kill_classic) > VIP_MAXAP) set_user_armor(id_Killer, VIP_MAXAP); else set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_classic)); cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb)) } if(get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == 0 && !(get_user_flags(id_Killer) & ADMIN_GOLD)) { cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb)) } } return PLUGIN_HANDLED; } public PreMenu( id ) { static menu; menu = menu_create ("\rPRO-VIP \wGUN MENU","menu_pre"); menu_additem ( menu,"\wDeagle \r[PRO-VIP]","1", ADMIN_GOLD) menu_additem ( menu,"\wUSP \r[PRO-VIP]","2", ADMIN_GOLD) menu_additem ( menu,"\wKevlar \r[PRO-VIP]","3", ADMIN_GOLD) menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return 0; } public menu_pre ( id, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ); 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: { drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 Deagle", tag); } case 2: { drop_weapons(id,2) give_item ( id,"weapon_usp" ); cs_set_user_bpammo( id, CSW_USP, 35 ); ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 USP", tag); } case 3: { give_item(id, "item_kevlar") give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 Kevlar", tag); } } menu_destroy ( menu ); return 1; } public GoldMenu( id ) { static menu; menu = menu_create ("\rPRO-VIP GOLD \wGUN MENU","menu_gold"); menu_additem ( menu,"\rM4A1 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","1", ADMIN_GOLD) menu_additem ( menu,"\rAK47 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","2", ADMIN_GOLD) menu_additem ( menu,"\rAWP \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","3", ADMIN_GOLD) menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return 0; } public menu_gold ( id, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ); 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: { drop_weapons(id,1) drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 2) give_item(id, "item_assaultsuit") give_item(id, "item_thighpack") give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); give_item ( id,"weapon_m4a1" ) cs_set_user_bpammo( id, CSW_M4A1, 90 ); ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 M4A1+Deagle+^3iTem Pack", tag); } case 2: { drop_weapons(id,1) drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 2) give_item(id, "item_assaultsuit") give_item(id, "item_thighpack") give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); give_item ( id,"weapon_ak47" ) cs_set_user_bpammo( id, CSW_AK47, 90 ) ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 AK47+Deagle+^3iTem Pack", tag); } case 3: { drop_weapons(id,1) drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 2) give_item(id, "item_assaultsuit") give_item(id, "item_thighpack") give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); give_item ( id,"weapon_awp" ) cs_set_user_bpammo( id, CSW_AWP, 30 ) ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 AWP+Deagle+^3iTem Pack", tag); } } menu_destroy ( menu ); return 1; } public cmdSpawn(id) { if(get_user_flags(id) & ADMIN_GOLD && is_user_alive(id)) { if(Activare) GoldMenu( id )
set_user_gravity(id, get_pcvar_float(cvar_vip_gravity)) } else if(get_user_flags(id) & ADMIN_SILVER && is_user_alive(id)) { if(Activare) SilverMenu( id ) } if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER && is_user_alive(id)){ if(premenuactive) PreMenu( id ) } if(get_pcvar_num(Cvar_VIP) !=0 && !(get_user_flags(id) & ADMIN_SILVER)) set_user_flags(id,get_user_flags(id) + 262144) } public SilverMenu ( id ) { static menu; menu = menu_create ("\rPRO-VIP SILVER \wGUN MENU","menu_silver"); menu_additem ( menu,"\rM4A1 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","1", ADMIN_SILVER) menu_additem ( menu,"\rAK47 \y+ \wDeagle \y+ \wiTem Pack \r[PRO-VIP]","2", ADMIN_SILVER) menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return 0; } public menu_silver ( id, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ); 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: { drop_weapons(id,1) drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 2) give_item(id, "item_assaultsuit") give_item(id, "item_thighpack") give_item ( id,"weapon_deagle" ) cs_set_user_bpammo( id, CSW_DEAGLE, 35 ) give_item ( id,"weapon_m4a1" ) cs_set_user_bpammo( id, CSW_M4A1, 90 ) ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 M4A1+Deagle+^3iTem Pack", tag); } case 2: { drop_weapons(id,1) drop_weapons(id,2) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 2) give_item(id, "item_assaultsuit") give_item(id, "item_thighpack") give_item ( id,"weapon_deagle" ) cs_set_user_bpammo( id, CSW_DEAGLE, 35 ) give_item ( id,"weapon_ak47" ) cs_set_user_bpammo( id, CSW_AK47, 90 ) ColorChat(id, GREEN, "^3[%s]^1 Ai ales:^4 AK47+Deagle+^3iTem Pack", tag); } } menu_destroy ( menu ); return PLUGIN_HANDLED } public RoundStart( ) { Contor++ if(Contor >= Runda_Arme) Activare = true if(Contor < Runda_Arme) premenuactive = true else premenuactive = false } stock drop_weapons(id, dropwhat) { static Weapons[32], Num, i, WeaponID; Num = 0; get_user_weapons(id, Weapons, Num); for(i = 0; i < Num; i ++) { WeaponID = Weapons[i]; if((dropwhat == 1 && ((1 << WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1 << WeaponID) & SECONDARY_WEAPONS_BIT_SUM ))) { static DropName[32], WeaponEntity; get_weaponname(WeaponID, DropName, charsmax(DropName)); WeaponEntity = fm_find_ent_by_owner(-1, DropName, id); set_pev(WeaponEntity, pev_iuser1, cs_get_user_bpammo (id, WeaponID)); engclient_cmd(id, "drop", DropName); cs_set_user_bpammo(id, WeaponID, 0); } } } #pragma tabsize 0
|