[HELP] No awp Pickup.
Hi, i want to make my VIP plugin, that not VIP players can't pickup awp, so they go though like CT tries to pickup c4. when not VIP Player stands on AWP gun, it just blocks pickup command. here is my VIP.sma
PHP Code:
#define DAMAGE_RECIEVED #include <amxmodx> #include <cstrike> #include <fun> #include <fakemeta_util> #include <hamsandwich> static const COLOR[] = "^x04" //green static const CONTACT[] = "" new maxplayers new gmsgSayText new mpd, mkb, mhb new g_MsgSync new health_add new health_hs_add new health_max new nKiller new nKiller_hp new nHp_add new nHp_max new g_awp_active new g_menu_active new bool:HasC4[33] new round = 1 new menu #if defined DAMAGE_RECIEVED new g_MsgSync2 #endif
public plugin_init() { register_plugin("VIP Eng Version", "2.03", "Dunno") mpd = register_cvar("money_per_damage","0") mkb = register_cvar("money_kill_bonus","0") mhb = register_cvar("money_hs_bonus","0") health_add = register_cvar("amx_vip_hp", "0") health_hs_add = register_cvar("amx_vip_hp_hs", "0") health_max = register_cvar("amx_vip_max_hp", "100") g_awp_active = register_cvar("awp_active", "0") g_menu_active = register_cvar("menu_active", "0")
register_event("Damage","Damage","b") register_event("DeathMsg","death_msg","a") register_event("DeathMsg", "hook_death", "a", "1>0") RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawnPost", 1 );
maxplayers = get_maxplayers()
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED g_MsgSync2 = CreateHudSyncObj() #endif
register_event("SendAudio", "roundend", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw") register_clcmd("awp","HandleCmd") register_event("CurWeapon", "event_CurWeapon", "be", "1=1") register_clcmd("say /noriuvip","ShowMotd") register_clcmd("say noriuvip","ShowMotd") register_clcmd("say /vip","ShowMotd") maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd("say vipai","handle_say") register_clcmd("say vips","handle_say") register_clcmd("say /vips","handle_say") register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER) }
public Damage(id) { new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint) if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id) if (get_user_flags(attacker) & ADMIN_LEVEL_H) { new money = read_data(2) * get_pcvar_num(mpd) if(hitpoint==1) money += get_pcvar_num(mhb) cs_set_user_money(attacker,cs_get_user_money(attacker) + money) } }
public death_msg() { if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300) }
public roundend() { round++ }
public FwdHamPlayerSpawnPost(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_H)) return PLUGIN_HANDLED; if(get_pcvar_num(g_menu_active) == 1 && round >= 0 && cs_get_user_team(id) == CS_TEAM_CT) Showrod(id) return PLUGIN_CONTINUE; }
public hook_death() { // Killer id nKiller = read_data(1) if ( (read_data(3) == 1) && (read_data(5) == 0) ) { nHp_add = get_pcvar_num (health_hs_add) } else nHp_add = get_pcvar_num (health_add) nHp_max = get_pcvar_num (health_max) // Updating Killer HP if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H)) return;
nKiller_hp = get_user_health(nKiller) nKiller_hp += nHp_add // Maximum HP check if (nKiller_hp > nHp_max) nKiller_hp = nHp_max set_user_health(nKiller, nKiller_hp) // Hud message "Healed +15/+30 hp" // Screen fading message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller) write_short(1<<10) write_short(1<<10) write_short(0x0000) write_byte(0) write_byte(0) write_byte(200) write_byte(75) message_end() } public menu_off(id) { menu_cancel(id); client_cmd(id, "slot1"); }
public Showrod(id) { menu = menu_create("\rNemokamas VIP Meniu", "menu_handler"); menu_additem(menu, "Flash Bang", "1", 0); menu_additem(menu, "Smoke Nade", "2", 0); menu_additem(menu, "He Grenade", "3", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu); set_task(10.0, "menu_off", id) } public menu_handler(id, menu, item) {
if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) HasC4[id] = true; else HasC4[id] = false; dropcurweapon(id) give_item(id, "weapon_flashbang") if (HasC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant( id ); } } case 2: { if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) HasC4[id] = true; else HasC4[id] = false; dropcurweapon(id) give_item(id, "weapon_smokegrenade") if (HasC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant( id ); } } case 3: { if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) HasC4[id] = true; else HasC4[id] = false; give_item(id, "weapon_hegrenade") if (HasC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant( id ); } } } remove_task(id) menu_destroy(menu); return PLUGIN_HANDLED; }
public HandleCmd(id){ if (!get_pcvar_num(g_awp_active)) return PLUGIN_CONTINUE if(get_user_flags(id) & ADMIN_LEVEL_H) return PLUGIN_CONTINUE client_print(id, print_center, "Sniper's Only For VIP's") return PLUGIN_HANDLED }
public event_CurWeapon(id){ if (!get_pcvar_num(g_awp_active)) return PLUGIN_CONTINUE if(read_data(2) == CSW_AWP){ if(!(get_user_flags(id) & ADMIN_LEVEL_H)){ client_print(id, print_center, "Sniper's Only For VIP's") client_cmd(id, "drop") } } return PLUGIN_HANDLED }
public dropcurweapon(id){ engclient_cmd(id, "drop", "weapon_shield") engclient_cmd(id, "drop", "weapon_m3") engclient_cmd(id, "drop", "weapon_xm1014") engclient_cmd(id, "drop", "weapon_mp5navy") engclient_cmd(id, "drop", "weapon_p90") engclient_cmd(id, "drop", "weapon_mac10") engclient_cmd(id, "drop", "weapon_tmp") engclient_cmd(id, "drop", "weapon_ump45") engclient_cmd(id, "drop", "weapon_galil") engclient_cmd(id, "drop", "weapon_famas") engclient_cmd(id, "drop", "weapon_aug") engclient_cmd(id, "drop", "weapon_m4a1") engclient_cmd(id, "drop", "weapon_ak47") engclient_cmd(id, "drop", "weapon_sg552") engclient_cmd(id, "drop", "weapon_scout") engclient_cmd(id, "drop", "weapon_awp") engclient_cmd(id, "drop", "weapon_sg550") engclient_cmd(id, "drop", "weapon_g3sg1") engclient_cmd(id, "drop", "weapon_m249") }
public ShowMotd(id) { show_motd(id, "vip.txt") }
public handle_say(id) { new said[192] read_args(said,192) if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 ) set_task(0.1,"print_adminlist",id) return PLUGIN_CONTINUE }
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) & ADMIN_LEVEL_H) get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s",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, "Nera online VIP") print_message(user, message) } get_cvar_string("amx_contactinfo", contact, 63) if(contact[0]) { format(contactinfo, 111, "%s Contact Server Admin -- %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() }
|