[ROZWIĄZANE] Niezamykanie jednej opcji w menu
Najlepsza odpowiedź Rivit 18.07.2014 07:16
case: 2 { client_cmd(id, "say /rank") menu_display(id, menu) return PLUGIN_CONTINUE }sprawdz. Przejdź do postu
Midi
18.07.2014
Witam. mam pytanie dotyczące zamykania się menu. Jak zrobić by menu zamykało tylko przy niektórych opcjach?
Przykładowy kod jest poniżej. Chciałbym by menu "Wyświetl rank" wykonywało swoją funkcję. ale nie zamykało się po kliknięciu.
public show_menu(id) { new menu = menu_create("Menu serwera", "handle_menu"); menu_additem(menu, "Wyświetl regulamin"); if(cs_get_user_team(id)==CS_TEAM_CT) menu_additem(menu, "Kup AK47"); else menu_additem(menu, "Kup M4A1"); menu_additem(menu, "Wyświetl rank"); menu_additem(menu, "Zobacz inne serwery"); menu_additem(menu, "Przekaż pieniąde graczowi"); menu_display(id, menu) } public handle_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } switch(item) { case 0: client_cmd(id, "say /regulamin"); case 1: daj_bron(id); case 2: client_cmd(id, "say /rank"); case 3: client_cmd(id, "say /serwery"); case 4: client_cmd(id, "say /przelew"); } menu_destroy(menu); return PLUGIN_HANDLED; }
Najlepsza odpowiedź
Rivit
18.07.2014
case: 2 { client_cmd(id, "say /rank") menu_display(id, menu) return PLUGIN_CONTINUE }sprawdz.
dasiek
18.07.2014
a no np tak (lepiej)
public handle_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } switch(item) { case 0: client_cmd(id, "say /regulamin"); case 1: daj_bron(id); case 2: client_cmd(id, "say /rank"); case 3: client_cmd(id, "say /serwery"); case 4: client_cmd(id, "say /przelew"); } if(item != 2) menu_destroy(menu); return PLUGIN_HANDLED; }
GwynBleidD
18.07.2014
CheQ, nie zadziała Twój pomysł niestety... od użycia menu_destroy nie zależy to, czy się menu zamknie czy nie, nawet lepiej: możesz użyć menu_destroy, a menu będzie dalej u gracza się pokazywać (ale nie będzie działało, tj wciśnięcie klawisza tylko je zamknie, nie wykona się akcja).
Menu zostaje zamknięte w nowym typie menu automatycznie po wciśnięciu klawisza, przed uruchomieniem forwardu, który podpięliśmy do tego menu. Jedynym sposobem jest NIE niszczenie menu oraz wyświetlenie go ponownie, tak jak pokazał to TibacK.
Menu zostaje zamknięte w nowym typie menu automatycznie po wciśnięciu klawisza, przed uruchomieniem forwardu, który podpięliśmy do tego menu. Jedynym sposobem jest NIE niszczenie menu oraz wyświetlenie go ponownie, tak jak pokazał to TibacK.
Midi
22.07.2014
Przepraszam, że dopiero teraz zamieszczam odpowiedź, ale wcześniej nie miałem na to czasu.
Wszyscy dostajecie +
TibacK - za pomoc w rozwiązaniu problemu
CheQ - za chęci
GwynBleidD - za wyjaśnienie, dlaczego nie działa sposób CheQ.
Użytkownik Midi edytował ten post 22.07.2014 12:52