Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[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


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Midi

    Początkujący

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:12
  • Imię:Łukasz
  • Lokalizacja:B-stok
Offline

Napisano 18.07.2014 00:51

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;
}

  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 18.07.2014 07:16   Najlepsza odpowiedź

case: 2
{
   client_cmd(id, "say /rank")
   menu_display(id, menu)
   return PLUGIN_CONTINUE
}
sprawdz.
  • +
  • -
  • 2

#3 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 18.07.2014 07:17

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;
}

  • +
  • -
  • 1

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 18.07.2014 13:32

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.
dasiek (18.07.2014 13:52):
Przepraszam - logika mnie zawiodła. :(

  • +
  • -
  • 2

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 Midi

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:12
  • Imię:Łukasz
  • Lokalizacja:B-stok
Offline

Napisano 22.07.2014 12:51

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

  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych