←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Wybór gracza (dodatkowa funkcja)

Gość_kubek_* 25.01.2013

Witam, mam pytanie do Was, jak do tej funkcji:


public menu(id, level, cid) {

new menu = menu_create("Wybierz Gracza:","WyborGracza");

new name[64], num;
for(new i=1; i<=32; i++) {
if(is_user_connected(i)) {
Players[id][num] = i;
num++;
get_user_name(i, name, charsmax(name));
menu_additem(menu, name);
}
}

menu_setprop(menu, MPROP_BACKNAME, "Wroc");
menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);

return PLUGIN_HANDLED;
}

Dorzucić coś takiego, aby admin nie mógł siebie wybrać z tego menu ?
Odpowiedz

AztekHQS - zdjęcie AztekHQS 25.01.2013

po is_user_connected(i) dodaj && i != id
Czyli ma być:

is_user_connected(i) && i != id
Odpowiedz

sekio - zdjęcie sekio 25.01.2013

Ja rozumiem że ty chcesz zeby admini nie mogli korzystac z tego menu ale administratorzy tak ?? bo to co kolega wyżej napisał to jakieś dziwne rozwiązanie ja to był pod konkretna flagę zrobił :D
Odpowiedz

Gość_kubek_* 25.01.2013

Bardziej mi chodziło o to, iż pokazuje go w menu, lecz nie może wybrać siebie + innych adminów.
Znalazłem coś takiego:


new _access, info[3], callback;
menu_item_getinfo(menu, item, _access, info, 2, _, _, callback);

return access(str_to_num(info), ADMIN_KICK) ? ITEM_DISABLED

Lecz nie wiem jak to połączyć :P
Odpowiedz

  • +
  • -
Klakier - zdjęcie Klakier 26.01.2013

Coś w tym stylu:

public menuu(id, level, cid) {

new menu = menu_create("Wybierz Gracza:","WyborGracza");

new name[64], num;
for(new i=1; i<=32; i++)
{
if(is_user_connected(i))
{
if(i == id || (get_user_flags(i) & ADMIN_LEVEL_H))
continue;

Players[id][num] = i;
num++;
get_user_name(i, name, charsmax(name));
menu_additem(menu, name);
}
}

menu_setprop(menu, MPROP_BACKNAME, "Wroc");
menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);

return PLUGIN_HANDLED;
}
Odpowiedz

Gość_kubek_* 26.01.2013

Niestety to nie działa Klakier ale i tak masz plusa za próbę pomocy :)
(26.01.2013 18:10):
co dokładnie nie działa?
Odpowiedz

  • +
  • -
Klakier - zdjęcie Klakier 26.01.2013

W powyższym przykładzie zrobiłem tak aby siebie i innych adminów z flagą t nie dodawało do menu . Nie miało tak być ?
Odpowiedz

Gość_kubek_* 26.01.2013

A no właśnie, że pokazuje ich w menu :P
Odpowiedz

  • +
  • -
^KoZa - zdjęcie ^KoZa 28.01.2013

public menu(id, level, cid) {

new menu = menu_create("Wybierz Gracza:","WyborGracza");

new name[64], num;
for(new i=1; i<=32; i++) {
if(is_user_connected(i) && !is_user_admin(i)) {
Players[id][num] = i;
num++;
get_user_name(i, name, charsmax(name));
menu_additem(menu, name);
}
}

menu_setprop(menu, MPROP_BACKNAME, "Wroc");
menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);

return PLUGIN_HANDLED;
}


To nie dodaje adminów do menu.
Użytkownik ^KoZa edytował ten post 28.01.2013 20:03
Odpowiedz