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

SQLx i menu_additem


Najlepsza odpowiedź Rivit, 21.03.2020 18:02

no teraz to za każdym razem tworzysz nowe menu w pętli,

menu_create wyrzuć przed pętle

w petli tylko dodawaj itemy do menu

a po pętli wywołaj menu_display

 

polecam takze sprawdzic czy sa w ogole jakies dane zanim wyswietlimy graczowi menu

 

 

a co do:


Czyli tak to ma wyglądać?

Najłatwiej sprawdzić samemu czy działa, wtedy masz 100% pewną odpowiedź

Przejdź do postu


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

#1 mlekovita

    Zaawansowany

  • Użytkownik

Reputacja: 7
Nowy

  • Postów:149
  • Imię:Dawid
Offline

Napisano 21.03.2020 16:52

Siema jak polaczyc sqlx do menu?
Prosciej mowiac chce dodac menu w ktorym wyskocza wszystkie stringi z tabeli z mozliwoscią wyboru.

 

np.

 

1. A

2. B

3. C

4. D

 

ColorChat(id, GREEN, "Wybrałeś A");

 

probowałem cos z tym przykladem zdziałac ale nie wiem jak się za to zabrać

public wszystkienazwy(id)
{
	if (!is_user_connected(id) || end) return PLUGIN_HANDLED;

	new queryData[192], tempId[1];

	tempId[0] = id;

	formatex(queryData, charsmax(queryData), "SELECT name, kills FROM `jb_gang`");

	SQL_ThreadQuery(sql, "wszystkienazwy_handled", queryData, tempId, sizeof(tempId));

	return PLUGIN_HANDLED;
}

public wszystkienazwy_handled(failState, Handle:query, error[], errorNum, tempId[], dataSize)
{
	if (failState) {
		log_to_file("jb_gangserr.log", "[GANGS] SQL Error: %s (%d)", error, errorNum);

		return PLUGIN_HANDLED;
	}

	new id = tempId[0];

	if (!is_user_connected(id)) return PLUGIN_HANDLED;

        static clanName[32], kills;
	
	while (SQL_MoreResults(query)) {

		SQL_ReadResult(query, 0, clanName, charsmax(clanName));
		replace_all(clanName, charsmax(clanName), "<", "");
		replace_all(clanName,charsmax(clanName), ">", "");

		kills = SQL_ReadResult(query, 1);
		
		SQL_NextRow(query);
	}

        menu_additem(iMenu, clanName, clanName);

	return PLUGIN_HANDLED;
}



  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 21.03.2020 17:05

tworzysz swoje menu i wewnatrz petli 

while (SQL_MoreResults(query)) {

dajesz manu_additem ze swoimi tekstami


  • +
  • -
  • 0

#3 mlekovita

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 7
Nowy

  • Postów:149
  • Imię:Dawid
Offline

Napisano 21.03.2020 17:14

Czyli tak to ma wyglądać?

public wszystkienazwy_handled(failState, Handle:query, error[], errorNum, tempId[], dataSize)
{
	if (failState) {
		log_to_file("jb_gangserr.log", "[GANGS] SQL Error: %s (%d)", error, errorNum);

		return PLUGIN_HANDLED;
	}
        
	new id = tempId[0];

	if (!is_user_connected(id)) return PLUGIN_HANDLED;

        static clanName[32];
	
	while (SQL_MoreResults(query)) {

		SQL_ReadResult(query, 0, clanName, charsmax(clanName));
		replace_all(clanName, charsmax(clanName), "<", "");
		replace_all(clanName,charsmax(clanName), ">", "");

                new iMenu = menu_create("Wszystkie klany", "Menu_dostepne_handler");

		menu_additem(iMenu, clanName, "");

		SQL_NextRow(query);
	}

	return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 21.03.2020 18:02   Najlepsza odpowiedź

no teraz to za każdym razem tworzysz nowe menu w pętli,

menu_create wyrzuć przed pętle

w petli tylko dodawaj itemy do menu

a po pętli wywołaj menu_display

 

polecam takze sprawdzic czy sa w ogole jakies dane zanim wyswietlimy graczowi menu

 

 

a co do:


Czyli tak to ma wyglądać?

Najłatwiej sprawdzić samemu czy działa, wtedy masz 100% pewną odpowiedź


  • +
  • -
  • 1




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

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