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] Menu z listą graczy


Najlepsza odpowiedź ^Grzyboo, 06.05.2014 18:55

To

menu_additem(menu, name, data);  // dodajemy do menu gracza.

Zmienić na:

	new szItem[64], flags = get_user_flags(i);
	if(flags & ADMIN_LEVEL_G)
		format(szItem, 63, "[VIP] ");
	else if(flags & ADMIN_LEVEL_S)
		format(szItem, 63, "[SVIP] ");

	add(szItem, 63, name);

	menu_additem(menu, szItem, data);  // dodajemy do menu gracza.

I pytanko, co to jest za warunek dziwny?

if(!get_user_flags(i) & VIP || SVIP)
Przejdź do postu


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

#1 Eryk172

    Szukam niewiadomej

  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:407
  • Steam:steam
  • Imię:Eryk
  • Lokalizacja:Dbn
Offline

Napisano 06.05.2014 14:32

Do stworzenia menu z listą graczy wykorzystałem kod od Hubera ( Dziękuje).

Tutaj pojawia się problem, chce dodać przed nickiem prefix VIP lub SVIP.

 

Nie mam pojęcia w jaki sposób to zrobić, proszę o wytłumaczenie.

 

Aktualny kod:

public VipOnline(id) {
	new menu = menu_create("\yVIP \w& \rSuperVIP \wOnline", "menu_VipOnline");
	
	new maxplayers = get_maxplayers(); // ile osob moze byc maksymalnie na serwerze
	new name[64] // zmienna przechowujaca nick gracza
	new data[6] // to bedzie ID gracza, ktore wysylamy w info :)

	for(new i=1; i<=maxplayers; i++)  // pętla od 1 DO MAKSYMALNEJ LICZBY GRACZY
	{
		if(!is_user_connected(i))
			  continue;      // jezeli gracz o danym ID (i) nie jest polaczony to go pomijamy uzwajać "continue"
	 
		if(is_user_hltv(i) || is_user_bot(i))
			  continue;    // jezeli dane ID to HLTV/BOT - pomijamy!
			  
		if(!get_user_flags(i) & VIP || SVIP)
			  continue;    // jezeli dane ID to HLTV/BOT - pomijamy!

		num_to_str(i, data, 5);
		get_user_name(id, name, 31);  // pobieramy nick
		menu_additem(menu, name, data);  // dodajemy do menu gracza.
	}
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu, 0);
}

public menu_VipOnline(id, menu, item)
{
	if(item == MENU_EXIT)  // jezeli gracz wyszedl z MENU - nic nie robimy :)
	return;
	
	if(!is_user_connected(id))  // jezeli gracz, ktory wybieral cos z menu nie jest polaczony to konczymy interakcje :D
	return; 
	
	// zmienne sa wymagane ;(
	new name[64]; // ta zmienna bedzie przechowywala nick gracza, a inaczej tekst wybranej czesci menu.
	new callback; // to jest callback na razie Ci nie potrzebny nie zwracaj uwagi
	new data[6]; // to będzie ID gracza ;)
	new dostep; // to Ci nie potrzebne;
	
	menu_item_getinfo(menu, item, dostep, data, 5, name, 31, callback); // pobieramy dane wybranego/ej itemu/opcji z menu!
	
	new id2 = str_to_num(data);
	
	if(!is_user_connected(id2))
	return;
	
	
	// id2 - to id gracza wybranego z menu :)
	// name - to jego nick.
	
	ColorChat(id,GREEN,"[VIP] ^x01Nick: ^x04%s | ^x01ID: ^x04%d", name, id2);
}

  • +
  • -
  • 0

CoD Mod - IP: 91.224.117.15:27235      
JailBreak  -   IP: 91.224.117.67:27075     
Only de_dust2 -   IP: 193.33.176.197:27111   

Więcej serwerów na: www.NaFarciePL


#2 0-0-0

    ● 600 punktów ostrzeżeń

  • Power User

Reputacja: 222
Profesjonalista

  • Postów:599
  • Imię:___
  • Lokalizacja:___
Offline

Napisano 06.05.2014 14:41

public VipOnline(id) {
	new menu = menu_create("\yVIP \w& \rSuperVIP \wOnline", "menu_VipOnline");
	
	new maxplayers = get_maxplayers(); // ile osob moze byc maksymalnie na serwerze
	new name[64] // zmienna przechowujaca nick gracza
	new data[6] // to bedzie ID gracza, ktore wysylamy w info :)
	new item[128]

	for(new i=1; i<=maxplayers; i++)  // pętla od 1 DO MAKSYMALNEJ LICZBY GRACZY
	{
		if(!is_user_connected(i))
			  continue;      // jezeli gracz o danym ID (i) nie jest polaczony to go pomijamy uzwajać "continue"
	 
		if(is_user_hltv(i) || is_user_bot(i))
			  continue;    // jezeli dane ID to HLTV/BOT - pomijamy!
			  
		if(!get_user_flags(i) & VIP || SVIP)
			  continue;    // jezeli dane ID to HLTV/BOT - pomijamy!

		num_to_str(i, data, 5);
		get_user_name(id, name, 31);  // pobieramy nick
		format(item,127,"%s %s", name, VIP ? "[VIP] : "")
		menu_additem(menu, item, data);  // dodajemy do menu gracza.
	}
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu, 0);
}

public menu_VipOnline(id, menu, item)
{
	if(item == MENU_EXIT)  // jezeli gracz wyszedl z MENU - nic nie robimy :)
	return;
	
	if(!is_user_connected(id))  // jezeli gracz, ktory wybieral cos z menu nie jest polaczony to konczymy interakcje :D
	return; 
	
	// zmienne sa wymagane ;(
	new name[64]; // ta zmienna bedzie przechowywala nick gracza, a inaczej tekst wybranej czesci menu.
	new callback; // to jest callback na razie Ci nie potrzebny nie zwracaj uwagi
	new data[6]; // to będzie ID gracza ;)
	new dostep; // to Ci nie potrzebne;
	
	menu_item_getinfo(menu, item, dostep, data, 5, name, 31, callback); // pobieramy dane wybranego/ej itemu/opcji z menu!
	
	new id2 = str_to_num(data);
	
	if(!is_user_connected(id2))
	return;
	
	
	// id2 - to id gracza wybranego z menu :)
	// name - to jego nick.
	
	ColorChat(id,GREEN,"[VIP] ^x01Nick: ^x04%s | ^x01ID: ^x04%d", name, id2);
}

  • +
  • -
  • 1
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [4FUN][Ruletka]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [DM]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [FFA]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Only Dust2]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Call of Duty]

#3 Eryk172

    Szukam niewiadomej

  • Autor tematu
  • Użytkownik

Reputacja: 41
Pomocny

  • Postów:407
  • Steam:steam
  • Imię:Eryk
  • Lokalizacja:Dbn
Offline

Napisano 06.05.2014 14:51

Przepraszaam, że nie dokończyłem swojej myśli.

 

Mam problem z dodaniem prefixu zależnie od flagi gracza, jeśli flaga ADMIN_LEVEL_G to ma dodać [VIP], a przy ADMIN_lEVEL_S dodać [SVIP]

 

Oczywiście repka leci za pomoc :)


  • +
  • -
  • 0

CoD Mod - IP: 91.224.117.15:27235      
JailBreak  -   IP: 91.224.117.67:27075     
Only de_dust2 -   IP: 193.33.176.197:27111   

Więcej serwerów na: www.NaFarciePL


#4 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 06.05.2014 18:55   Najlepsza odpowiedź

To

menu_additem(menu, name, data);  // dodajemy do menu gracza.

Zmienić na:

	new szItem[64], flags = get_user_flags(i);
	if(flags & ADMIN_LEVEL_G)
		format(szItem, 63, "[VIP] ");
	else if(flags & ADMIN_LEVEL_S)
		format(szItem, 63, "[SVIP] ");

	add(szItem, 63, name);

	menu_additem(menu, szItem, data);  // dodajemy do menu gracza.

I pytanko, co to jest za warunek dziwny?

if(!get_user_flags(i) & VIP || SVIP)

Użytkownik ^Grzyboo edytował ten post 06.05.2014 18:57

  • +
  • -
  • 1




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

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