Problem z pluginem (pomocy)
lukasion
16.08.2010
Tak jak w temacie, a mianowicie mam problem ze zrobieniem pewnego pluginu. Niby wszystko gra, ale chciałbym prosić Was, kieruje to do Tych co znają się na programowaniu pawn. Tak więc zrobiłem komendę na Deathruna, że podczas spawnu w nowej rundzie jest pytanie dot. "Jaką rundę teraz gramy?" i na pytanie mogą odpowiedzieć wszyscy (CT i TT), a ja chciałbym aby tylko TT mogł wybrać czy Free czy Deathrun, tak więc proszę kogoś, aby podał zrobiony już kod, lub .sma, bądz .amxx jak kto woli. Kod zamieszczam niżej. Za pomoc oczywiście karma .
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "DeathRun Roundtype" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new what[3] new weapons[][] = { "weaponbox", "armoury_entity", "weapon_shield" } new HamHook:weaponstouch[sizeof weapons] new HamHook:use public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "new_round", "a", "1=0", "2=0") for(new i = 0; i < sizeof weapons; i++) { weaponstouch[i] = RegisterHam(Ham_Touch, weapons[i], "ham_block") } use = RegisterHam(Ham_Use, "func_button", "ham_block") } public new_round() { static menu menu = menu_create("\w Jaka gramy runde?", "menu_handler") menu_additem(menu, "\wDeathRun", "1", 0) menu_additem(menu, "\wFree", "2", 0) menu_addblank(menu, 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) static players[32], num get_players(players, num, "ch") for(new i = 0; i < num; i++) { menu_display(players[i], menu, 0) } set_task(get_cvar_float("mp_freezetime") - 1.0, "menu_end") for(new i = 0; i < sizeof weapons; i++) { DisableHamForward(weaponstouch[i]) } DisableHamForward(use) what[1] = what[2] = 0 } public menu_handler(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id) return PLUGIN_HANDLED } static data[6], access, callback, name[33], key menu_item_getinfo(menu, item, access, data, 5, _, _, callback) key = str_to_num(data) ++what[key] get_user_name(id, name, 32) client_print(0, print_chat, "[DeathRun] %s wybral %s", name, (key == 1) ? "DeathRun" : "Free") menu_cancel(id) return PLUGIN_HANDLED } public menu_end() { if(what[2] > what[1]) { for(new i = 0; i < sizeof weapons; i++) { EnableHamForward(weaponstouch[i]) } EnableHamForward(use) } client_print(0, print_chat, "[DeathRun] Gramy runde %s - przygotujcie sie!", (what[1] >= what[2]) ? "DeathRun" : "Free") static players[32], num get_players(players, num, "ch") for(new i = 0; i < num; i++) { menu_cancel(players[i]) } } public ham_block() return HAM_SUPERCEDE