Andrey | Дата: Четверг, 13.09.2012, 20:33 | Сообщение # 1 |
- Сообщения: 64
- Награды: 1
- Замечания:
|
Здравствуйте, помогите пожалуйста, так как я сам ничего не понимаю в этом,решил обратиться сюда. Помогите сделать ограничение на возможность брать админам аммо паки. То есть, что бы он взял паки, и больше он не может взять паки, пока не пройдет определенное время(К примеру 40 мин.) Вот исходник плагина:
Code #include <amxmisc> #include <amxmodx> #include <zombieplague>
#define PLUGIN "[ZP] Addon: Extended Give Ammo 2.0" #define VERSION "2.0" #define AUTHOR "[ru]In1ernal Error"
new g_msgSayText, cur_add_amount = 10;
public plugin_init() {
register_cvar("zp_ammo_ex", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
register_plugin(PLUGIN, VERSION, AUTHOR); register_concmd("zp_ammo_e", "menu_init",ADMIN_LEVEL_A, ""); register_concmd("zp_ammo_e_self", "give_ammo_e_self",ADMIN_LEVEL_A, " - zp_ammo_e_self <amount>"); register_dictionary("zp_ammo_ex.txt"); g_msgSayText = get_user_msgid("SayText"); }
public give_ammo_e (id, ammo){ new user_ammo = zp_get_user_ammo_packs(id) + ammo; zp_set_user_ammo_packs ( id, max ( 1, user_ammo) ); return PLUGIN_HANDLED; }
public give_ammo_e_self(id, level, cid){ if ( !cmd_access ( id, level, cid, 2 ) ) { return PLUGIN_HANDLED; }
new amount[5];
read_argv ( 1, amount, charsmax(amount));
give_ammo_e( id, str_to_num(amount));
return PLUGIN_HANDLED; }
public menu_init(id){ new MenuName[64] format(MenuName, 63, "\r%L", id, "AM") new menu = menu_create(MenuName, "menu_handler"); new players[32], inum, tempid;
get_players(players, inum);
new nomer[10], name[32]; switch(cur_add_amount){ case 10: { menu_additem(menu, "\w10 ammo", "33", 0); }
case 100: { menu_additem(menu, "\w100 ammo", "34", 0); }
case 1000: { menu_additem(menu, "\w1000 ammo", "35", 0); } }
menu_additem(menu, "", "36", 0); for ( new i; i<inum; i++) { tempid = players[i]; get_user_name(tempid, name, 31); num_to_str(tempid, nomer, 9); menu_additem(menu, name, nomer, ADMIN_LEVEL_A); }
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); }
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 tempid = str_to_num(data);
switch(tempid){ case 33: { cur_add_amount = 100; client_printcolor(id, "/g[AP] /y%L /t%i /y%L", id, "CHANGED", cur_add_amount, id, "AMMO"); menu_destroy(menu); menu_init(id);
} case 34: { cur_add_amount = 1000; client_printcolor(id, "/g[AP] /y%L /t%i /y%L", id, "CHANGED", cur_add_amount, id, "AMMO"); menu_destroy(menu); menu_init(id);
} case 35: { cur_add_amount = 10; client_printcolor(id, "/g[AP] /y%L /t%i /y%L", id, "CHANGED", cur_add_amount, id, "AMMO"); menu_destroy(menu); menu_init(id); } case 36: { menu_destroy(menu); menu_init(id);
} default: { if(is_user_connected(tempid)){ give_ammo_e(tempid, cur_add_amount); new Nick[32]; get_user_name(tempid, Nick, 31); client_printcolor(id, "/g[AP] /t%s /y%L /t%i /t%L!", Nick, id, "WAS_G", cur_add_amount, id, "AMMO") } else { menu_destroy(menu); menu_init(id); } } }
return PLUGIN_HANDLED; }
stock client_printcolor(id, const input[], any:...) { static iPlayersNum[32], iCount; iCount = 1 static szMsg[191] vformat(szMsg, charsmax(szMsg), input, 3) replace_all(szMsg, 190, "/g", "^4") // green txt replace_all(szMsg, 190, "/y", "^1") // orange txt replace_all(szMsg, 190, "/t", "^3") // team txt if(id) iPlayersNum[0] = id else get_players(iPlayersNum, iCount, "ch") for (new i = 0; i < iCount; i++) { if (is_user_connected(iPlayersNum[i])) { message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum[i]) write_byte(iPlayersNum[i]) write_string(szMsg) message_end() } } }
|
|
| |