Witam. Pragnę by ktoś mi napisał przykład pluginu, w którym po wpisaniu komendy /menu wyskakuje menu i w nim znajduje się:
1. Zablokuj komendę +attack
2. Zablokuj +voicerecord
3. Zablokuj kill
Funkcja ta trwała by do końca rundy i była by blokowana u wszystkich graczy.
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Blokowanie komendy do konca rundy
Temat rozp. daniosik, 18.10.2010 14:17
7 odpowiedzi w tym temacie
#1
Napisano 18.10.2010 14:17
#2
Napisano 21.10.2010 19:09
Nie da sie komendy +voicerecord zablokowac.
#3
Napisano 21.10.2010 19:10
da..
te menu ma być dla admina ? czy jak więcej info prosze
te menu ma być dla admina ? czy jak więcej info prosze
#4
Napisano 21.10.2010 19:11
Tak menu ma być dla admina. Jeśli mógłbyś chciałbym, że to blokowanie dotyczyło się drużyny CT.
// Chodzi mi o to, że jak kliknę np. 1 w tym menu to blokuje daną komendę u wszystkich graczy w CT.
// Chodzi mi o to, że jak kliknę np. 1 w tym menu to blokuje daną komendę u wszystkich graczy w CT.
Użytkownik daniosik edytował ten post 21.10.2010 19:54
#5
Napisano 23.10.2010 11:21
blokuje graczom z ct czy wszystkim graczom bo najpierw piszesz jedno potem drugie
#6
Napisano 23.10.2010 11:25
Przepraszam Cię za to. Blokowanie ma działać na drużynę z CT.
#7
Napisano 23.10.2010 11:35
#include <amxmisc> #include <fakemeta> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Home" new menu; new bool:attack = false,bool:voice = false,bool:kill=false; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") menu = menu_create("Blokada komend","handle_menu"); menu_additem(menu,"Zablokuj komendę +attack"); menu_additem(menu,"Zablokuj +voicerecord"); menu_additem(menu,"Zablokuj kill^n^n\rDla AMXX.PL ^nNapisane przez Rafal 'DarkGL' Wiecek"); menu_setprop(menu,MPROP_NUMBER_COLOR,"\r"); menu_setprop(menu,MPROP_BACKNAME,"Wroc"); menu_setprop(menu,MPROP_NEXTNAME,"Dalej"); menu_setprop(menu,MPROP_EXITNAME,"Wyjscie"); register_clcmd("say /menu","menu_func") register_forward(FM_PlayerPreThink, "PlayerPreThink") register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1) register_forward(FM_Voice_SetClientListening, "voice_listening") register_forward(FM_ClientKill, "fw_ClientKill") } public PlayerPreThink(id) { if(!attack || !is_user_alive(id) || get_user_team(id) != 2) return FMRES_IGNORED set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK) return FMRES_HANDLED } public UpdateClientData_Post(id, sendweapons, cd_handle) { if(!attack || !is_user_alive(id) || get_user_team(id) != 2) return FMRES_IGNORED set_cd(cd_handle, CD_ID, 0) return FMRES_HANDLED } public menu_func(id){ if(!is_user_admin(id)){ return PLUGIN_HANDLED; } menu_display(id,menu,0) return PLUGIN_HANDLED; } public voice_listening(receiver, sender, bool:listen) { if(receiver == sender || !is_user_alive(sender) || get_user_team(sender) != 2) return FMRES_IGNORED if(voice){ engfunc(EngFunc_SetClientListening, receiver, sender, false) return FMRES_SUPERCEDE } return FMRES_IGNORED } public fw_ClientKill(id){ if(!is_user_alive(id) || get_user_team(id) != 2 || !kill){ return FMRES_IGNORED } return FMRES_SUPERCEDE } public handle_menu(id,menu,item){ if(item == MENU_EXIT){ return PLUGIN_HANDLED; } switch(item){ case 0: { attack = true; } case 1: { voice = true; } case 2: { kill = true; } } return PLUGIN_HANDLED; } public Nowa_Runda() { attack = false; voice = false; kill = false; }
#8
Napisano 23.10.2010 17:00
Dzięki. Można zamknąć.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych