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

Menu z lista graczy z drużyny


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 AnoMusiTak

    Nowy

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:1
  • Imię:Janek
  • Lokalizacja:Polska
Offline

Napisano 20.05.2014 20:12

Mam pytanie jak zrobić menu z listą graczy z drużyny , mam menu z listą graczy całego serwera ale trzeba że tylko drużyna CT smile.png

public Zapros(id)
    if(is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
    new menu = menu_create("Buduj z", "Zapros_Handle");
    new cb = menu_makecallback("Grupa_Callback");
    for(new i=0, n=0; i<=32; i++)
    {
        if(!is_user_connected(i))
            continue;
        grupa_id[n++] = i;
        new nazwa_gracza[64];
        get_user_name(i, nazwa_gracza, 63)
        menu_additem(menu, nazwa_gracza, "0", 0, cb);
    }
    menu_display(id, menu);
}

To jest linijka menu i jak zrobić żeby tylko lista drużyny CT się pokazywała smile.png

Z góry dzięki , daję ++


Użytkownik AnoMusiTak edytował ten post 20.05.2014 20:13


#2 korake

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:35
  • Lokalizacja:polska
Offline

Napisano 20.05.2014 20:44

public Zapros(id)
    if(is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
    new menu = menu_create("Buduj z", "Zapros_Handle");
    new cb = menu_makecallback("Grupa_Callback");
    for(new i=0, n=0; i<=32; i++)
    {
        if(!is_user_connected(i))
            continue;
        if(cs_get_user_team(i) != CS_TEAM_CT)
            continue;

        grupa_id[n++] = i;
        new nazwa_gracza[64];
        get_user_name(i, nazwa_gracza, 63)
        menu_additem(menu, nazwa_gracza, "0", 0, cb);
    }
    menu_display(id, menu);
}

  • +
  • -
  • 0

#3 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 21.05.2014 16:51

new maxPlayers
//(...)

public plugin_cfg(){
    maxPlayers=get_maxplayers();
}

//(...)

public Zapros(id)
{
    new menu = menu_create("Buduj z", "Zapros_Handle");
    new cb = menu_makecallback("Grupa_Callback");
    for(new i = 1; i <= maxPlayers; i++)
    {
        if(is_user_alive(i) && get_user_team == 2 && i != id) // wyswietli sie lista zywych graczy z CT oraz na tej liscie twoj nick nie bedzie istanial
        {
            grupa_id[n++] = i;
            new nazwa_gracza[64];
            get_user_name(i, nazwa_gracza, 63)
            menu_additem(menu, nazwa_gracza, "0", 0, cb);
        }
    }
    menu_display(id, menu);
}

  • +
  • -
  • 1

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

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

Napisano 24.05.2014 21:46

NIE UŻYWAJ takiego menu pod ŻADNYM POZOREM!!! Żadnego wymienionego wcześniej w temacie!

Założę się, że w handlerze menu pobierasz znów listę graczy żeby się dowiedzieć który gracz został wybrany. Ale przecież od wyświetlenia menu do kliknięcia czegoś w nim może minąć sporo czasu. Zanim gracz przewertuje całą listę i znajdzie tego, co go interesuje, jeszcze przy okazji może z 3 fragi ustrzeli... a przez ten czas może kilka osób z serwera wyjść i kilka dojść przez co kolejność graczy się zmieni i wybrany gracz NIE BĘDZIE tym, który być wybrany powinien!!! A to może mieć katastrofalne skutki przy np menu banowania, możesz zbanować nawet sam siebie w ten sposób i skutecznie zablokować sobie dostęp do serwera na długi czas.

Dlatego przy tworzeniu gracza ZAWSZE w info (3 parametr menu_additem, tam gdzie teraz podajesz "0" podaj przekonwertowane na string id z get_user_userid(i). Następnie odnajdź tego gracza w handlerze po tym ID (np poprzez find_player albo lecąc pętlą po graczach i porównując userid). W ten sposób będziesz w 100% pewny, że trafisz na właściwego gracza, bo userid jest unikalne w obrębie serwera!
  • +
  • -
  • 1

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





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

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