Jump to content

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

Posted Image Posted Image

Guest Message by DevFuse
 

Photo

[ROZWIĄZANE] Niezamykanie jednej opcji w menu


Best Answer Rivit, 18.07.2014 07:16

case: 2
{
   client_cmd(id, "say /rank")
   menu_display(id, menu)
   return PLUGIN_CONTINUE
}
sprawdz. Go to the full post


  • This topic is locked This topic is locked
4 replies to this topic

#1 Midi

    Początkujący

  • Użytkownik

Reputacja: 2
Nowy

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

Posted 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,381
Offline

Posted 18.07.2014 07:16   Best Answer

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,079
Godlike

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

Posted 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

Posted 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

Posted 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. 


Edited by Midi, 22.07.2014 12:52.

  • +
  • -
  • 1




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users