#include <amxmodx> #include <amxmisc> // #include <fun> static const COLOR[] = "^x04" //green static const CONTACT[] = "" new maxplayers new gmsgSayText #define PLUGIN "VIP part2" #define VERSION "2.0v" #define AUTHOR "Dunno" // #define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890 // new round = 1 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) // register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod") // register_logevent("logevent_Round_Start", 2, "1=Round_Start") // register_clcmd("awp","HandleCmd") // register_clcmd("sg550","HandleCmd") // register_clcmd("g3sg1","HandleCmd") register_event("CurWeapon", "event_CurWeapon", "be", "1=1") register_event("CurWeapon", "event_CurWeaponn", "be", "1=1") register_event("CurWeapon", "event_CurWeaponnn", "be", "1=1") register_clcmd("say /whantvip","ShowMotd") maxplayers = get_maxplayers() gmsgSayText = get_user_msgid("SayText") register_clcmd("say", "handle_say") register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER) // Add your code here... } /* public logevent_Round_Start() { round++; new players[32], player, pnum; get_players(players, pnum, "a"); for(new i = 0; i < pnum; i++) { player = players[i]; set_user_gravity(player,1.0) if(get_user_flags(player) & ADMIN_LEVEL_H) { if(round > 3) Showrod(player) } } } public Showrod(id) { show_menu(id, Keysrod, "Free VIP Guns^n\w1. Get M4A1+Deagle ^n\w2. Get AK47+Deagle^n0. Exit^n", -1, "rod") // Display menu } public Pressedrod(id, key) { // Menu: * VIP Menu * 1. Get M4A1+Deagle * 2. Get AK47+Deagle * 0. Exit // switch (key) { case 0: { strip_user_weapons (id) give_item(id,"weapon_m4a1") give_item(id,"ammo_556nato") give_item(id,"ammo_556nato") give_item(id,"ammo_556nato") give_item(id,"weapon_deagle") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"weapon_knife") give_item(id,"weapon_hegrenade") client_print(id, print_center, "You Taked Free M4A1 and Deagle") } case 1: { strip_user_weapons (id) give_item(id,"weapon_ak47") give_item(id,"ammo_762nato") give_item(id,"ammo_762nato") give_item(id,"ammo_762nato") give_item(id,"weapon_deagle") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"weapon_knife") give_item(id,"weapon_hegrenade") client_print(id, print_center, "You Taked Free AK47 and Deagle") } case 9: { // 0 } } return PLUGIN_CONTINUE } public HandleCmd(id){ 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(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") } } } public event_CurWeaponn(id){ if(read_data(2) == CSW_SG550){ if(!(get_user_flags(id) & ADMIN_LEVEL_H)){ client_print(id, print_center, "Sniper's Only For VIP's") client_cmd(id, "drop") } } } public event_CurWeaponnn(id){ if(read_data(2) == CSW_G3SG1){ if(!(get_user_flags(id) & ADMIN_LEVEL_H)){ client_print(id, print_center, "Sniper's Only For VIP's") client_cmd(id, "drop") } } } */ public ShowMotd(id) { show_motd(id, "vip.txt") } public client_authorized(id) { set_task(30.0, "PrintText" ,id) } public PrintText(id) { client_print(id, print_chat, "[VIP] write /whantvip and u will see how get VIP and VIP privilegies.") } 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 VIP 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, "No VIP online.") 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() } public client_connect(id) { new name[32] get_user_info(id, "name", name, 31) if(get_user_flags(id) & ADMIN_LEVEL_H) { set_hudmessage(200, 0, 0, 0.05, 0.65, 2, 0.02, 30.0, 0.03, 0.3, 2) show_hudmessage(0, "Special VIP %s has Entered",name) } }
Jak widać był on przerabiany tak aby nie tylko VIP mógł kupować awp. Ale mam pewien error:
L 05/14/2010 - 18:52:04: Start of error session. L 05/14/2010 - 18:52:04: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20100514.log") L 05/14/2010 - 18:52:04: Function "event_CurWeapon" was not found L 05/14/2010 - 18:52:04: [AMXX] Run time error 19 (plugin "VIPpart2.amxx") - debug not enabled! L 05/14/2010 - 18:52:04: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Jakieś pomysły?
Po edycji komendy /whantvip /vip przestały działać. Czytałem Problem z pluginem VIP - Nieoficjalny polski support AMX Mod X ten temat. I według tego powinienem usunąć tą linie, ale którą? Bo mam:
register_event("CurWeapon", "event_CurWeapon", "be", "1=1") register_event("CurWeapon", "event_CurWeaponn", "be", "1=1") register_event("CurWeapon", "event_CurWeaponnn", "be", "1=1")