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

Tworzenie zapisu MySQL ?


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

#1 csMaster

    Wszechwiedzący

  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 03.08.2017 16:12

Robię właśnie Only AWP na skinach i potrzebny mi zapis sql.

Jak powinno wyglądać zapytanie sql żeby zawierało zapis skrzynek, kluczy, skinów jakie posiada gracz i skinów jakie gracz ma aktualnie wybrane.

Na sql za bardzo się nie znam i mniej więcej nie wiem jak zrobić ten zapis na nick a tak długiego zapytania już na pewno :/

 

Zmienne:

enum skrzynka {
    awp = 0, //skrzynia skinów AWP
    hegrenade, //skrzynia skinów HE
    flashbang,
    smokegrenade,
    gracz //skrzynia modeli gracza
}

new skrzynki_gracza[id][skrzynka]; //skrzynki gracza
new klucze_gracza[id]; //klucze gracza
new bool:ma_skin[id][7][12] //gracz ma wybrany skin, [7] to bron, a [12] (0..11) to numer skina
new bool:skin_dostepny[id][7][12] //to samo co ma_skin, sprawdza czy gracz ma podany skin ale nie musi mieć go wybranego

[7] oznacza bron do której należy dany skin:

 

[0] - Noż

[1] - AWP

[2] - HE

[3] - Flash

[4] - Smoke

[5] - Terrorysta

[6] - Anty-Terrorysta

 

a [12] numer skina:

 

ma_skin[id] [0] [od 0 do 9]

                  [1] [od 0 do 11]

                  [2] [od 0 do 4]

                  [3] [od 0 do 4]

                  [4] [od 0 do 4]

                  [5] [od 0 do 3]

                  [6] [od 0 do 3]

 

 

Powie ktoś jak dodać tam zapis na MySQL ?

 

Nie moge dać całego kodu *.sma bo na serwer chce wrzucić unikat a jak dam tu kod to pewnie większość sobie go skopiuje :/


  • +
  • -
  • 0

#2 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 03.08.2017 17:33

Coś mi tu śmierdzą te twoje tablice.

Mam rozumieć, że na serwerze 'only awp' masz 84 skiny do broni?


  • +
  • -
  • 0

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#3 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 03.08.2017 18:29

Mam 45 skinów, w tym 12 AWP, 10 kos, 5 HE, 5 FB, 5 SG, 4 TT i 4 CT.

Tablica 'ma_skin' zwraca true gdy gracz ma aktualnie włączony skin do określonej przez [7][12] broni, a tablica 'skin_dostepny' zwraca true gdy gracz ma określony przez [7][12] skin do broni (nie jest tu ważne czy go aktualnie ma włączonego).

Niżej napisałem że gdy 2 wymiar tablicy ma_skin/skin_dostepny jest na [0] to 3 wymiar może mieć maksymalnie [9] itd... :P

Będzie tu jedno zapytanie sql czy kilka ?


  • +
  • -
  • 0

#4 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 03.08.2017 20:07


Mam 45 skinów

A tworzysz prawie dwukrotnie większą tablice - dziwnie pomyślane, no ale co kto lubi, nie?


Będzie tu jedno zapytanie sql czy kilka ?

Dokładnie to 3.

  • tworzenie tabeli
  • zapisywanie danych
  • odczyt danych

Zastanowiłbym się tu raczej nad tym w jaki sposób te dane chcesz przechowywać, bo możesz stworzyć ciąg znaków i przechowywać to w 1 kolumnie, bądź tak jak masz tablice ( wartości logiczne ), z tym, że będzie tutaj znacznie więcej kolumn i to nie są jedyne warianty.


  • +
  • -
  • 0

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#5 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 04.08.2017 13:46

Mogłoby być takie zapytanie ?

format(qCommand, charsmax(qCommand), "UPDATE %s VALUES(`%d`, `%d`, `%d`, `%d`, ...) WHERE `nick`='%s'", DATABASE, klucze_gracza[id], skrzynki_gracza[id][awp], (skin_dostepny[id][0][0] ? "1" : "0"), (ma_skin[id][0][0] ? "1" : "0"), ..., szName);

Podałem tylko część zapytania.
Dałoby się zrobić z tym zapytaniem zapis żeby nie tworzyło niepotrzebnych wpisów ?

Użytkownik csMaster edytował ten post 04.08.2017 13:48

  • +
  • -
  • 0

#6 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 05.08.2017 13:58

Dodałem do kodu:

#define DATABASE "unknown"

new Handle:gTuple = SQL_MakeDbTuple("127.0.0.1", "root", "", DATABASE);

//...

public client_authorized(id)
{
	CheckData(id);
}

public client_disconnect(id)
{
	SaveData(id);
}

public SaveData(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[1024], szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	format(qCommand, charsmax(qCommand), "UPDATE `%s` VALUES(`%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`) WHERE `nick`='%s'", DATABASE, klucze_gracza[id], skrzynki_gracza[id][awp], skrzynki_gracza[id][hegrenade], skrzynki_gracza[id][flashbang], skrzynki_gracza[id][smokegrenade], skrzynki_gracza[id][gracz], (skin_dostepny[id][0][0] ? "1" : "0"), (ma_skin[id][0][0] ? "1" : "0"), (skin_dostepny[id][0][1] ? "1" : "0"), (ma_skin[id][0][1] ? "1" : "0"), (skin_dostepny[id][0][2] ? "1" : "0"), (ma_skin[id][0][2] ? "1" : "0"), (skin_dostepny[id][0][3] ? "1" : "0"), (ma_skin[id][0][3] ? "1" : "0"), (skin_dostepny[id][0][4] ? "1" : "0"), (ma_skin[id][0][4] ? "1" : "0"), (skin_dostepny[id][0][5] ? "1" : "0"), (ma_skin[id][0][5] ? "1" : "0"), (skin_dostepny[id][0][6] ? "1" : "0"), (ma_skin[id][0][6] ? "1" : "0"), (skin_dostepny[id][0][7] ? "1" : "0"), (ma_skin[id][0][7] ? "1" : "0"), (skin_dostepny[id][0][8] ? "1" : "0"), (ma_skin[id][0][8] ? "1" : "0"), (skin_dostepny[id][0][9] ? "1" : "0"), (ma_skin[id][0][9] ? "1" : "0"), (skin_dostepny[id][1][0] ? "1" : "0"), (ma_skin[id][1][0] ? "1" : "0"), (skin_dostepny[id][1][1] ? "1" : "0"), (ma_skin[id][1][1] ? "1" : "0"), (skin_dostepny[id][1][2] ? "1" : "0"), (ma_skin[id][1][2] ? "1" : "0"), (skin_dostepny[id][1][3] ? "1" : "0"), (ma_skin[id][1][3] ? "1" : "0"), (skin_dostepny[id][1][4] ? "1" : "0"), (ma_skin[id][1][4] ? "1" : "0"), (skin_dostepny[id][1][5] ? "1" : "0"), (ma_skin[id][1][5] ? "1" : "0"), (skin_dostepny[id][1][6] ? "1" : "0"), (ma_skin[id][1][6] ? "1" : "0"), (skin_dostepny[id][1][7] ? "1" : "0"), (ma_skin[id][1][7] ? "1" : "0"), (skin_dostepny[id][1][8] ? "1" : "0"), (ma_skin[id][1][8] ? "1" : "0"), (skin_dostepny[id][1][9] ? "1" : "0"), (ma_skin[id][1][9] ? "1" : "0"), (skin_dostepny[id][1][10] ? "1" : "0"), (ma_skin[id][1][10] ? "1" : "0"), (skin_dostepny[id][1][11] ? "1" : "0"), (ma_skin[id][1][11] ? "1" : "0"), (skin_dostepny[id][2][0] ? "1" : "0"), (ma_skin[id][2][0] ? "1" : "0"), (skin_dostepny[id][2][1] ? "1" : "0"), (ma_skin[id][2][1] ? "1" : "0"), (skin_dostepny[id][2][2] ? "1" : "0"), (ma_skin[id][2][2] ? "1" : "0"), (skin_dostepny[id][2][3] ? "1" : "0"), (ma_skin[id][2][3] ? "1" : "0"), (skin_dostepny[id][2][4] ? "1" : "0"), (ma_skin[id][2][4] ? "1" : "0"), (skin_dostepny[id][3][0] ? "1" : "0"), (ma_skin[id][3][0] ? "1" : "0"), (skin_dostepny[id][3][1] ? "1" : "0"), (ma_skin[id][3][1] ? "1" : "0"), (skin_dostepny[id][3][2] ? "1" : "0"), (ma_skin[id][3][2] ? "1" : "0"), (skin_dostepny[id][3][3] ? "1" : "0"), (ma_skin[id][3][3] ? "1" : "0"), (skin_dostepny[id][3][4] ? "1" : "0"), (ma_skin[id][3][4] ? "1" : "0"), (skin_dostepny[id][4][0] ? "1" : "0"), (ma_skin[id][4][0] ? "1" : "0"), (skin_dostepny[id][4][1] ? "1" : "0"), (ma_skin[id][4][1] ? "1" : "0"), (skin_dostepny[id][4][2] ? "1" : "0"), (ma_skin[id][4][2] ? "1" : "0"), (skin_dostepny[id][4][3] ? "1" : "0"), (ma_skin[id][4][3] ? "1" : "0"), (skin_dostepny[id][4][4] ? "1" : "0"), (ma_skin[id][4][4] ? "1" : "0"), (skin_dostepny[id][5][0] ? "1" : "0"), (ma_skin[id][5][0] ? "1" : "0"), (skin_dostepny[id][5][1] ? "1" : "0"), (ma_skin[id][5][1] ? "1" : "0"), (skin_dostepny[id][5][2] ? "1" : "0"), (ma_skin[id][5][2] ? "1" : "0"), (skin_dostepny[id][5][3] ? "1" : "0"), (ma_skin[id][5][3] ? "1" : "0"), (skin_dostepny[id][6][0] ? "1" : "0"), (ma_skin[id][6][0] ? "1" : "0"), (skin_dostepny[id][6][1] ? "1" : "0"), (ma_skin[id][6][1] ? "1" : "0"), (skin_dostepny[id][6][2] ? "1" : "0"), (ma_skin[id][6][2] ? "1" : "0"), (skin_dostepny[id][6][3] ? "1" : "0"), (ma_skin[id][6][3] ? "1" : "0"), szName);
	SQL_ThreadQuery(gTuple, "SaveHandle", qCommand, Data, 1);
}

public SaveHandle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	new id = Data[0];
	
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [CheckData]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [CheckData]");
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public CheckData(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[512], szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	format(qCommand, charsmax(qCommand), "SELECT * FROM `%s` WHERE `nick` = '%s'", DATABASE, szName);
	SQL_ThreadQuery(gTuple, "CheckHandle", qCommand, Data, 1);
}

public CheckHandle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	new id = Data[0];
	
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [CheckData]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [CheckData]");
		return PLUGIN_CONTINUE;
	}
	
	if(!SQL_MoreResults(Query))
		DodajWpis(id)
	
	else
	{
		klucze_gracza[id] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skrzynki_gracza[id][awp] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skrzynki_gracza[id][hegrenade] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skrzynki_gracza[id][flashbang] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skrzynki_gracza[id][smokegrenade] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skrzynki_gracza[id][gracz] = SQL_ReadResult(Query, 1);
		SQL_NextRow(Query);
		skin_dostepny[id][0][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][5] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][5] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][6] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][6] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][7] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][7] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][8] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][8] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][0][9] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][0][9] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][5] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][5] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][6] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][6] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][7] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][7] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][8] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][8] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][9] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][9] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][10] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][10] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][1][11] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][1][11] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][2][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][2][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][2][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][2][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][2][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][2][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][2][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][2][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][2][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][2][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][3][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][3][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][3][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][3][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][3][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][3][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][3][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][3][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][3][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][3][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][4][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][4][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][4][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][4][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][4][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][4][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][4][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][4][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][4][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][4][4] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][5][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][5][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][5][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][5][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][5][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][5][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][5][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][5][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][6][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][6][0] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][6][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][6][1] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][6][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][6][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		skin_dostepny[id][6][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
		SQL_NextRow(Query);
		ma_skin[id][6][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
	}
	
	return PLUGIN_CONTINUE;
}

public DodajWpis(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[1024], szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	format(qCommand, charsmax(qCommand), "INSERT INTO `%s` VALUES(`%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`, `%d`) WHERE `nick`='%s'", DATABASE, klucze_gracza[id], skrzynki_gracza[id][awp], skrzynki_gracza[id][hegrenade], skrzynki_gracza[id][flashbang], skrzynki_gracza[id][smokegrenade], skrzynki_gracza[id][gracz], (skin_dostepny[id][0][0] ? "1" : "0"), (ma_skin[id][0][0] ? "1" : "0"), (skin_dostepny[id][0][1] ? "1" : "0"), (ma_skin[id][0][1] ? "1" : "0"), (skin_dostepny[id][0][2] ? "1" : "0"), (ma_skin[id][0][2] ? "1" : "0"), (skin_dostepny[id][0][3] ? "1" : "0"), (ma_skin[id][0][3] ? "1" : "0"), (skin_dostepny[id][0][4] ? "1" : "0"), (ma_skin[id][0][4] ? "1" : "0"), (skin_dostepny[id][0][5] ? "1" : "0"), (ma_skin[id][0][5] ? "1" : "0"), (skin_dostepny[id][0][6] ? "1" : "0"), (ma_skin[id][0][6] ? "1" : "0"), (skin_dostepny[id][0][7] ? "1" : "0"), (ma_skin[id][0][7] ? "1" : "0"), (skin_dostepny[id][0][8] ? "1" : "0"), (ma_skin[id][0][8] ? "1" : "0"), (skin_dostepny[id][0][9] ? "1" : "0"), (ma_skin[id][0][9] ? "1" : "0"), (skin_dostepny[id][1][0] ? "1" : "0"), (ma_skin[id][1][0] ? "1" : "0"), (skin_dostepny[id][1][1] ? "1" : "0"), (ma_skin[id][1][1] ? "1" : "0"), (skin_dostepny[id][1][2] ? "1" : "0"), (ma_skin[id][1][2] ? "1" : "0"), (skin_dostepny[id][1][3] ? "1" : "0"), (ma_skin[id][1][3] ? "1" : "0"), (skin_dostepny[id][1][4] ? "1" : "0"), (ma_skin[id][1][4] ? "1" : "0"), (skin_dostepny[id][1][5] ? "1" : "0"), (ma_skin[id][1][5] ? "1" : "0"), (skin_dostepny[id][1][6] ? "1" : "0"), (ma_skin[id][1][6] ? "1" : "0"), (skin_dostepny[id][1][7] ? "1" : "0"), (ma_skin[id][1][7] ? "1" : "0"), (skin_dostepny[id][1][8] ? "1" : "0"), (ma_skin[id][1][8] ? "1" : "0"), (skin_dostepny[id][1][9] ? "1" : "0"), (ma_skin[id][1][9] ? "1" : "0"), (skin_dostepny[id][1][10] ? "1" : "0"), (ma_skin[id][1][10] ? "1" : "0"), (skin_dostepny[id][1][11] ? "1" : "0"), (ma_skin[id][1][11] ? "1" : "0"), (skin_dostepny[id][2][0] ? "1" : "0"), (ma_skin[id][2][0] ? "1" : "0"), (skin_dostepny[id][2][1] ? "1" : "0"), (ma_skin[id][2][1] ? "1" : "0"), (skin_dostepny[id][2][2] ? "1" : "0"), (ma_skin[id][2][2] ? "1" : "0"), (skin_dostepny[id][2][3] ? "1" : "0"), (ma_skin[id][2][3] ? "1" : "0"), (skin_dostepny[id][2][4] ? "1" : "0"), (ma_skin[id][2][4] ? "1" : "0"), (skin_dostepny[id][3][0] ? "1" : "0"), (ma_skin[id][3][0] ? "1" : "0"), (skin_dostepny[id][3][1] ? "1" : "0"), (ma_skin[id][3][1] ? "1" : "0"), (skin_dostepny[id][3][2] ? "1" : "0"), (ma_skin[id][3][2] ? "1" : "0"), (skin_dostepny[id][3][3] ? "1" : "0"), (ma_skin[id][3][3] ? "1" : "0"), (skin_dostepny[id][3][4] ? "1" : "0"), (ma_skin[id][3][4] ? "1" : "0"), (skin_dostepny[id][4][0] ? "1" : "0"), (ma_skin[id][4][0] ? "1" : "0"), (skin_dostepny[id][4][1] ? "1" : "0"), (ma_skin[id][4][1] ? "1" : "0"), (skin_dostepny[id][4][2] ? "1" : "0"), (ma_skin[id][4][2] ? "1" : "0"), (skin_dostepny[id][4][3] ? "1" : "0"), (ma_skin[id][4][3] ? "1" : "0"), (skin_dostepny[id][4][4] ? "1" : "0"), (ma_skin[id][4][4] ? "1" : "0"), (skin_dostepny[id][5][0] ? "1" : "0"), (ma_skin[id][5][0] ? "1" : "0"), (skin_dostepny[id][5][1] ? "1" : "0"), (ma_skin[id][5][1] ? "1" : "0"), (skin_dostepny[id][5][2] ? "1" : "0"), (ma_skin[id][5][2] ? "1" : "0"), (skin_dostepny[id][5][3] ? "1" : "0"), (ma_skin[id][5][3] ? "1" : "0"), (skin_dostepny[id][6][0] ? "1" : "0"), (ma_skin[id][6][0] ? "1" : "0"), (skin_dostepny[id][6][1] ? "1" : "0"), (ma_skin[id][6][1] ? "1" : "0"), (skin_dostepny[id][6][2] ? "1" : "0"), (ma_skin[id][6][2] ? "1" : "0"), (skin_dostepny[id][6][3] ? "1" : "0"), (ma_skin[id][6][3] ? "1" : "0"), szName);
	SQL_ThreadQuery(gTuple, "DodajWpis_Handle", qCommand, Data, 1);
}

public DodajWpis_Handle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	new id = Data[0];
	
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [CheckData]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [CheckData]");
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

Teraz to się nawet nie kompiluje tylko kompilator stoi i tyle, gdzie jest błąd ?


  • +
  • -
  • 0

#7 Master Yoga

    Support Team | Mocarz

  • Support Team

Reputacja: 136
Zaawansowany

  • Postów:275
  • Lokalizacja:Magistrala Adresowa
Offline

Napisano 08.08.2017 23:00

new bool:ma_skin[id][7][12]
new bool:skin_dostepny[id][7][12]

(skin_dostepny[id][0][7] ? "1" : "0"), (ma_skin[id][0][7] ? "1" : "0"), (skin_dostepny[id][0][8] ? "1" : "0"), (ma_skin[id][0][8] ? "1" : "0") 

giphy.gif
 
Jak to mawiają: Kto nie ma w głowie, ten ma w ... klawiaturze  :giggle: 
O powtórzeniach nie będę już wspominał bo chyba widzisz, że pobierasz kilka razy wartość tej samej zmiennej  :facepalm2:

ma_skin[id][0][2] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
ma_skin[id][0][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);

Widzę, że lubisz dodawać sobie pracy :D, podziwiam twój zapał  :^D  :D
Wystarczy zastosować rzutowanie, choć obeszłoby się nawet i bez niego bo raz, że to PAWN, dwa, że zmienna typu bool więc nie przyjmie innych wartości poza logicznymi, a trzy to przy kolumnach typu BOOL(/BOOLEAN) baza nie zwróci ci innych wartości jak wcześniej wspomnianych.
 
Poza tym do całych tablic przypisałeś wartość tylko jednej kolumny, prawdopodobnie drugiej.

skin_dostepny[id][6][3] = ((SQL_ReadResult(Query, 1) == 1) ? true : false);
SQL_NextRow(Query);

To też nie działa w taki sposób.
Kolumna z nickiem powinna być unikalna bądź powinna być zawarta jako klucz główny, no chyba, że redundancje ci nie przeszkadzają, jeśli jednak jest inaczej  to funckcja SQL_NextRow do niczego ci się nie przyda, bowiem nie otrzymasz (a przynajmniej nie powinieneś) więcej niż jednego rekordu ( wiersza ).
 
Co do SQL_ReadResult to robimy to w taki sposób:

zmienna[ jakies_id ] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "nazwa kolumny np. skin_awp_7"));

Oczywiście mówimy tu o sytuacji gdzie zwracamy dane liczbowe.
 
P.S Na pętlach zrobiłbyś to o wiele szybciej i sprawniej  ;)


Użytkownik Master Yoga edytował ten post 08.08.2017 23:04

  • +
  • -
  • 0

HTML ★ CSS ★ JAVASCRIPT ★ AJAX ★ JQUERY ★ PHP ★ C++ ★ PAWN ★ SQL ★ Objective-C++


MKW0tb8.pngMKW0tb8.pngMKW0tb8.png


#8 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 09.08.2017 12:34

Próbowałem zrobić zapytanie takim sposobem:

format(qCommand, charsmax(qCommand), "UPDATE `%s` SET \
`skinknife`=%d,\
`skinknife2`=%d,\
...
WHERE `nick`='%s'",
DATABASE, (skin_dostepny[id][0][0] ? "1" : "0"), (skin_dostepny[id][0][1] ? "1" : "0"), ..., szName);

a później uzywając:
 

if(!SQL_MoreResults(Query))
     DodajWpis(id);

else
{
     skin_dostepny[id][0][0] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "skinknife"));
     skin_dostepny[id][0][1] = SQL_ReadRusult(Query, SQL_FieldNameToNum(Query, "skinknife2"));
     ...
}

I był błąd że użycie format jest za długie ...

Nie bardzo rozumiem te tablice bool, wiem że przypisze do niej tylko true lub false ale true a 1 to chyba to samo a sam nie wiem co do niej przypisze powyższy sposób :/

Jak mam użyć tego zapytania i odczytu przez SQL_ReadResult ?


Użytkownik csMaster edytował ten post 09.08.2017 12:35

  • +
  • -
  • 0

#9 tytusek

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:822
Offline

Napisano 13.08.2017 00:28

uzyj formatex zamiast format i zwieksz stringa qCommand na wiecej znakow


  • +
  • -
  • 0

#10 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 14.08.2017 23:24

Obecnie wygląda to tak:

new Handle:gTuple;

public plugin_init()
{
	//...
	gTuple = SQL_MakeDbTuple("127.0.0.1", "root", "unknown", "cssgo");
}

public client_authorized(id)
{
	CheckData(id);
}

public client_disconnect(id)
{
	SaveData(id);
}

public SaveData(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[4096], iLen=0, iMax=charsmax(qCommand), szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	iLen += formatex(qCommand[iLen], iMax-iLen, "UPDATE cssgo SET\");
	iLen += formatex(qCommand[iLen], iMax-iLen, "`keys`=%d,\", klucze_gracza[id]);
	iLen += formatex(qCommand[iLen], iMax-iLen, "`case_awp`=%d,\
	`case_he`=%d,\
	`case_fb`=%d,\
	`case_sg`=%d,\
	`case_player`=%d,\",
	skrzynki_gracza[id][awp], skrzynki_gracza[id][hegrenade], skrzynki_gracza[id][flashbang], skrzynki_gracza[id][smokegrenade], skrzynki_gracza[id][gracz]);
	iLen += formatex(qCommand[iLen], iMax-iLen, "`ma_skin_noz1`=%d,\
	`ma_skin_noz2`=%d,\
	`ma_skin_noz3`=%d,\
	`ma_skin_noz4`=%d,\
	`ma_skin_noz5`=%d,\
	`ma_skin_noz6`=%d,\
	`ma_skin_noz7`=%d,\
	`ma_skin_noz8`=%d,\
	`ma_skin_noz9`=%d,\",
	(skin_dostepny[id][0][1] ? "1" : "0"), (skin_dostepny[id][0][2] ? "1" : "0"), (skin_dostepny[id][0][3] ? "1" : "0"), (skin_dostepny[id][0][4] ? "1" : "0"), (skin_dostepny[id][0][5] ? "1" : "0"), (skin_dostepny[id][0][6] ? "1" : "0"), (skin_dostepny[id][0][7] ? "1" : "0"), (skin_dostepny[id][0][8] ? "1" : "0"), (skin_dostepny[id][0][9] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`ma_skin_awp1`=%d,\
	`ma_skin_awp2`=%d,\
	`ma_skin_awp3`=%d,\
	`ma_skin_awp4`=%d,\
	`ma_skin_awp5`=%d,\
	`ma_skin_awp6`=%d,\
	`ma_skin_awp7`=%d,\
	`ma_skin_awp8`=%d,\
	`ma_skin_awp9`=%d,\
	`ma_skin_awp10`=%d,\
	`ma_skin_awp11`=%d,\",
	(skin_dostepny[id][1][1] ? "1" : "0"), (skin_dostepny[id][1][2] ? "1" : "0"), (skin_dostepny[id][1][3] ? "1" : "0"), (skin_dostepny[id][1][4] ? "1" : "0"), (skin_dostepny[id][1][5] ? "1" : "0"), (skin_dostepny[id][1][6] ? "1" : "0"), (skin_dostepny[id][1][7] ? "1" : "0"), (skin_dostepny[id][1][8] ? "1" : "0"), (skin_dostepny[id][1][9] ? "1" : "0"), (skin_dostepny[id][1][10] ? "1" : "0"), (skin_dostepny[id][1][11] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`ma_skin_he1`=%d,\
	`ma_skin_he2`=%d,\
	`ma_skin_he3`=%d,\
	`ma_skin_he4`=%d,\
	`ma_skin_fb1`=%d,\
	`ma_skin_fb2`=%d,\
	`ma_skin_fb3`=%d,\
	`ma_skin_fb4`=%d,\
	`ma_skin_sg1`=%d,\
	`ma_skin_sg2`=%d,\
	`ma_skin_sg3`=%d,\
	`ma_skin_sg4`=%d,\",
	(skin_dostepny[id][2][1] ? "1" : "0"), (skin_dostepny[id][2][2] ? "1" : "0"), (skin_dostepny[id][2][3] ? "1" : "0"), (skin_dostepny[id][2][4] ? "1" : "0"), (skin_dostepny[id][3][1] ? "1" : "0"), (skin_dostepny[id][3][2] ? "1" : "0"), (skin_dostepny[id][3][3] ? "1" : "0"), (skin_dostepny[id][3][4] ? "1" : "0"), (skin_dostepny[id][4][1] ? "1" : "0"), (skin_dostepny[id][4][2] ? "1" : "0"), (skin_dostepny[id][4][3] ? "1" : "0"), (skin_dostepny[id][4][4] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`ma_skin_tt1`=%d,\
	`ma_skin_tt2`=%d,\
	`ma_skin_tt3`=%d,\
	`ma_skin_ct1`=%d,\
	`ma_skin_ct2`=%d,\
	`ma_skin_ct3`=%d,\",
	(skin_dostepny[id][5][1] ? "1" : "0"), (skin_dostepny[id][5][2] ? "1" : "0"), (skin_dostepny[id][5][3] ? "1" : "0"), (skin_dostepny[id][6][1] ? "1" : "0"), (skin_dostepny[id][6][2] ? "1" : "0"), (skin_dostepny[id][6][3] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_noz1`=%d,\
	`uzywa_skina_noz2`=%d,\
	`uzywa_skina_noz3`=%d,\
	`uzywa_skina_noz4`=%d,\
	`uzywa_skina_noz5`=%d,\
	`uzywa_skina_noz6`=%d,\
	`uzywa_skina_noz7`=%d,\
	`uzywa_skina_noz8`=%d,\
	`uzywa_skina_noz9`=%d,\",
	(ma_skin[id][0][1] ? "1" : "0"), (ma_skin[id][0][2] ? "1" : "0"), (ma_skin[id][0][3] ? "1" : "0"), (ma_skin[id][0][4] ? "1" : "0"), (ma_skin[id][0][5] ? "1" : "0"), (ma_skin[id][0][6] ? "1" : "0"), (ma_skin[id][0][7] ? "1" : "0"), (ma_skin[id][0][8] ? "1" : "0"), (ma_skin[id][0][9] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_awp1`=%d,\
	`uzywa_skina_awp2`=%d,\
	`uzywa_skina_awp3`=%d,\
	`uzywa_skina_awp4`=%d,\
	`uzywa_skina_awp5`=%d,\
	`uzywa_skina_awp6`=%d,\
	`uzywa_skina_awp7`=%d,\
	`uzywa_skina_awp8`=%d,\
	`uzywa_skina_awp9`=%d,\
	`uzywa_skina_awp10`=%d,\
	`uzywa_skina_awp11`=%d,\",
	(ma_skin[id][1][1] ? "1" : "0"), (ma_skin[id][1][2] ? "1" : "0"), (ma_skin[id][1][3] ? "1" : "0"), (ma_skin[id][1][4] ? "1" : "0"), (ma_skin[id][1][5] ? "1" : "0"), (ma_skin[id][1][6] ? "1" : "0"), (ma_skin[id][1][7] ? "1" : "0"), (ma_skin[id][1][8] ? "1" : "0"), (ma_skin[id][1][9] ? "1" : "0"), (ma_skin[id][1][10] ? "1" : "0"), (ma_skin[id][1][11] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_he1`=%d,\
	`uzywa_skina_he2`=%d,\
	`uzywa_skina_he3`=%d,\
	`uzywa_skina_he4`=%d,\
	`uzywa_skina_fb1`=%d,\
	`uzywa_skina_fb2`=%d,\
	`uzywa_skina_fb3`=%d,\
	`uzywa_skina_fb4`=%d,\
	`uzywa_skina_sg1`=%d,\
	`uzywa_skina_sg2`=%d,\
	`uzywa_skina_sg3`=%d,\
	`uzywa_skina_sg4`=%d,\",
	(ma_skin[id][2][1] ? "1" : "0"), (ma_skin[id][2][2] ? "1" : "0"), (ma_skin[id][2][3] ? "1" : "0"), (ma_skin[id][2][4] ? "1" : "0"), (ma_skin[id][3][1] ? "1" : "0"), (ma_skin[id][3][2] ? "1" : "0"), (ma_skin[id][3][3] ? "1" : "0"), (ma_skin[id][3][4] ? "1" : "0"), (ma_skin[id][4][1] ? "1" : "0"), (ma_skin[id][4][2] ? "1" : "0"), (ma_skin[id][4][3] ? "1" : "0"), (ma_skin[id][4][4] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_tt1`=%d,\
	`uzywa_skina_tt2`=%d,\
	`uzywa_skina_tt3`=%d,\
	`uzywa_skina_ct1`=%d,\
	`uzywa_skina_ct2`=%d,\
	`uzywa_skina_ct3`=%d ",
	(ma_skin[id][5][1] ? "1" : "0"), (ma_skin[id][5][2] ? "1" : "0"), (ma_skin[id][5][3] ? "1" : "0"), (ma_skin[id][6][1] ? "1" : "0"), (ma_skin[id][6][2] ? "1" : "0"), (ma_skin[id][6][3] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "WHERE `nick`='%s'", szName);
	
	SQL_ThreadQuery(gTuple, "SaveHandle", qCommand, Data, 1);
}

public SaveHandle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [SaveData]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [SaveData]");
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public CheckData(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[512], szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	format(qCommand, charsmax(qCommand), "SELECT * FROM cssgo WHERE `nick`='%s'", szName);
	SQL_ThreadQuery(gTuple, "CheckHandle", qCommand, Data, 1);
}

public CheckHandle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	new id = Data[0];
	
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [CheckData]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [CheckData]");
		return PLUGIN_CONTINUE;
	}
	
	if(!SQL_MoreResults(Query))
		DodajWpis(id)
	
	else
	{
		for(new skintype=0; skintype<=6; skintype++)
		{
			if(skintype == 0)
			{
				for(new skinnum=1; skinnum<=9; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_noz%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][0][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_noz%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][0][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 1)
			{
				for(new skinnum=1; skinnum<=11; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_awp%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][1][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_awp%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][1][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 2)
			{
				for(new skinnum=1; skinnum<=4; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_he%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][2][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_he%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][2][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 3)
			{
				for(new skinnum=1; skinnum<=4; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_fb%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][3][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_fb%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][3][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 4)
			{
				for(new skinnum=1; skinnum<=4; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_sg%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][4][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_sg%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][4][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 5)
			{
				for(new skinnum=1; skinnum<=3; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_tt%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][5][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_tt%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][5][skinnum] = ((getnum == 1) ? true : false);
				}
			}
			else if(skintype == 6)
			{
				for(new skinnum=1; skinnum<=3; skinnum++)
				{
					new getnum, namee[64];
					format(namee, charsmax(namee), "ma_skin_ct%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					skin_dostepny[id][6][skinnum] = ((getnum == 1) ? true : false);
					format(namee, charsmax(namee), "uzywa_skina_ct%d", skinnum);
					getnum = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, namee));
					ma_skin[id][6][skinnum] = ((getnum == 1) ? true : false);
				}
			}
		}
	}
	
	return PLUGIN_CONTINUE;
}

public DodajWpis(id)
{
	new Data[1];
	Data[0] = id;
	
	new qCommand[4096], iLen=0, iMax=charsmax(qCommand), szName[64];
	get_user_name(id, szName, charsmax(szName));
	
	iLen += formatex(qCommand[iLen], iMax-iLen, "INSERT INTO cssgo SET\");
	iLen += formatex(qCommand[iLen], iMax-iLen, "`keys`=%d,\", klucze_gracza[id]);
	iLen += formatex(qCommand[iLen], iMax-iLen, "`case_awp`=%d,\
	`case_he`=%d,\
	`case_fb`=%d,\
	`case_sg`=%d,\
	`case_player`=%d,\",
	skrzynki_gracza[id][awp], skrzynki_gracza[id][hegrenade], skrzynki_gracza[id][flashbang], skrzynki_gracza[id][smokegrenade], skrzynki_gracza[id][gracz]);
	iLen += formatex(qCommand[iLen], iMax-iLen, "`ma_skin_noz1`=%d,\
	`ma_skin_noz2`=%d,\
	`ma_skin_noz3`=%d,\
	`ma_skin_noz4`=%d,\
	`ma_skin_noz5`=%d,\
	`ma_skin_noz6`=%d,\
	`ma_skin_noz7`=%d,\
	`ma_skin_noz8`=%d,\
	`ma_skin_noz9`=%d,\",
	(skin_dostepny[id][0][1] ? "1" : "0"), (skin_dostepny[id][0][2] ? "1" : "0"), (skin_dostepny[id][0][3] ? "1" : "0"), (skin_dostepny[id][0][4] ? "1" : "0"), (skin_dostepny[id][0][5] ? "1" : "0"), (skin_dostepny[id][0][6] ? "1" : "0"), (skin_dostepny[id][0][7] ? "1" : "0"), (skin_dostepny[id][0][8] ? "1" : "0"), (skin_dostepny[id][0][9] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`ma_skin_awp1`=%d,\
	`ma_skin_awp2`=%d,\
	`ma_skin_awp3`=%d,\
	`ma_skin_awp4`=%d,\
	`ma_skin_awp5`=%d,\
	`ma_skin_awp6`=%d,\
	`ma_skin_awp7`=%d,\
	`ma_skin_awp8`=%d,\
	`ma_skin_awp9`=%d,\
	`ma_skin_awp10`=%d,\
	`ma_skin_awp11`=%d,\",
	(skin_dostepny[id][1][1] ? "1" : "0"), (skin_dostepny[id][1][2] ? "1" : "0"), (skin_dostepny[id][1][3] ? "1" : "0"), (skin_dostepny[id][1][4] ? "1" : "0"), (skin_dostepny[id][1][5] ? "1" : "0"), (skin_dostepny[id][1][6] ? "1" : "0"), (skin_dostepny[id][1][7] ? "1" : "0"), (skin_dostepny[id][1][8] ? "1" : "0"), (skin_dostepny[id][1][9] ? "1" : "0"), (skin_dostepny[id][1][10] ? "1" : "0"), (skin_dostepny[id][1][11] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`ma_skin_he1`=%d,\
	`ma_skin_he2`=%d,\
	`ma_skin_he3`=%d,\
	`ma_skin_he4`=%d,\
	`ma_skin_fb1`=%d,\
	`ma_skin_fb2`=%d,\
	`ma_skin_fb3`=%d,\
	`ma_skin_fb4`=%d,\
	`ma_skin_sg1`=%d,\
	`ma_skin_sg2`=%d,\
	`ma_skin_sg3`=%d,\
	`ma_skin_sg4`=%d,\",
	(skin_dostepny[id][2][1] ? "1" : "0"), (skin_dostepny[id][2][2] ? "1" : "0"), (skin_dostepny[id][2][3] ? "1" : "0"), (skin_dostepny[id][2][4] ? "1" : "0"), (skin_dostepny[id][3][1] ? "1" : "0"), (skin_dostepny[id][3][2] ? "1" : "0"), (skin_dostepny[id][3][3] ? "1" : "0"), (skin_dostepny[id][3][4] ? "1" : "0"), (skin_dostepny[id][4][1] ? "1" : "0"), (skin_dostepny[id][4][2] ? "1" : "0"), (skin_dostepny[id][4][3] ? "1" : "0"), (skin_dostepny[id][4][4] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`ma_skin_tt1`=%d,\
	`ma_skin_tt2`=%d,\
	`ma_skin_tt3`=%d,\
	`ma_skin_ct1`=%d,\
	`ma_skin_ct2`=%d,\
	`ma_skin_ct3`=%d,\",
	(skin_dostepny[id][5][1] ? "1" : "0"), (skin_dostepny[id][5][2] ? "1" : "0"), (skin_dostepny[id][5][3] ? "1" : "0"), (skin_dostepny[id][6][1] ? "1" : "0"), (skin_dostepny[id][6][2] ? "1" : "0"), (skin_dostepny[id][6][3] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_noz1`=%d,\
	`uzywa_skina_noz2`=%d,\
	`uzywa_skina_noz3`=%d,\
	`uzywa_skina_noz4`=%d,\
	`uzywa_skina_noz5`=%d,\
	`uzywa_skina_noz6`=%d,\
	`uzywa_skina_noz7`=%d,\
	`uzywa_skina_noz8`=%d,\
	`uzywa_skina_noz9`=%d,\",
	(ma_skin[id][0][1] ? "1" : "0"), (ma_skin[id][0][2] ? "1" : "0"), (ma_skin[id][0][3] ? "1" : "0"), (ma_skin[id][0][4] ? "1" : "0"), (ma_skin[id][0][5] ? "1" : "0"), (ma_skin[id][0][6] ? "1" : "0"), (ma_skin[id][0][7] ? "1" : "0"), (ma_skin[id][0][8] ? "1" : "0"), (ma_skin[id][0][9] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_awp1`=%d,\
	`uzywa_skina_awp2`=%d,\
	`uzywa_skina_awp3`=%d,\
	`uzywa_skina_awp4`=%d,\
	`uzywa_skina_awp5`=%d,\
	`uzywa_skina_awp6`=%d,\
	`uzywa_skina_awp7`=%d,\
	`uzywa_skina_awp8`=%d,\
	`uzywa_skina_awp9`=%d,\
	`uzywa_skina_awp10`=%d,\
	`uzywa_skina_awp11`=%d,\",
	(ma_skin[id][1][1] ? "1" : "0"), (ma_skin[id][1][2] ? "1" : "0"), (ma_skin[id][1][3] ? "1" : "0"), (ma_skin[id][1][4] ? "1" : "0"), (ma_skin[id][1][5] ? "1" : "0"), (ma_skin[id][1][6] ? "1" : "0"), (ma_skin[id][1][7] ? "1" : "0"), (ma_skin[id][1][8] ? "1" : "0"), (ma_skin[id][1][9] ? "1" : "0"), (ma_skin[id][1][10] ? "1" : "0"), (ma_skin[id][1][11] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_he1`=%d,\
	`uzywa_skina_he2`=%d,\
	`uzywa_skina_he3`=%d,\
	`uzywa_skina_he4`=%d,\
	`uzywa_skina_fb1`=%d,\
	`uzywa_skina_fb2`=%d,\
	`uzywa_skina_fb3`=%d,\
	`uzywa_skina_fb4`=%d,\
	`uzywa_skina_sg1`=%d,\
	`uzywa_skina_sg2`=%d,\
	`uzywa_skina_sg3`=%d,\
	`uzywa_skina_sg4`=%d,\",
	(ma_skin[id][2][1] ? "1" : "0"), (ma_skin[id][2][2] ? "1" : "0"), (ma_skin[id][2][3] ? "1" : "0"), (ma_skin[id][2][4] ? "1" : "0"), (ma_skin[id][3][1] ? "1" : "0"), (ma_skin[id][3][2] ? "1" : "0"), (ma_skin[id][3][3] ? "1" : "0"), (ma_skin[id][3][4] ? "1" : "0"), (ma_skin[id][4][1] ? "1" : "0"), (ma_skin[id][4][2] ? "1" : "0"), (ma_skin[id][4][3] ? "1" : "0"), (ma_skin[id][4][4] ? "1" : "0"));
	formatex(qCommand[iLen], iMax-iLen, "`uzywa_skina_tt1`=%d,\
	`uzywa_skina_tt2`=%d,\
	`uzywa_skina_tt3`=%d,\
	`uzywa_skina_ct1`=%d,\
	`uzywa_skina_ct2`=%d,\
	`uzywa_skina_ct3`=%d ",
	(ma_skin[id][5][1] ? "1" : "0"), (ma_skin[id][5][2] ? "1" : "0"), (ma_skin[id][5][3] ? "1" : "0"), (ma_skin[id][6][1] ? "1" : "0"), (ma_skin[id][6][2] ? "1" : "0"), (ma_skin[id][6][3] ? "1" : "0"));
	iLen += formatex(qCommand[iLen], iMax-iLen, "WHERE `nick`='%s'", szName);
	
	SQL_ThreadQuery(gTuple, "DodajWpis_Handle", qCommand, Data, 1);
}

public DodajWpis_Handle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [DodajWpis]", Error);
	
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.");
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowanie [DodajWpis]");
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

Teraz to się kompiluje ale w konsoli serwera są błędy:

//przy wejsciu na serwer

L 08/15/2017 - 00:17:25: [MySQL] Invalid info tuple handle: 0
L 08/15/2017 - 00:17:25: [AMXX] Displaying debug trace (plugin "onlyawp.amxx")
L 08/15/2017 - 00:17:25: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery")
L 08/15/2017 - 00:17:25: [AMXX]    [0] onlyawp.sma::CheckData (line 459)
L 08/15/2017 - 00:17:25: [AMXX]    [1] onlyawp.sma::client_authorized (line 226)
* Przywileje ustawione

//po wyjsciu z serwera

L 08/15/2017 - 00:19:01: [AMXX] Displaying debug trace (plugin "onlyawp.amxx")
L 08/15/2017 - 00:19:01: [AMXX] Run time error 3: stack error 
L 08/15/2017 - 00:19:01: [AMXX]    [0] onlyawp.sma::SaveData (line 331)
L 08/15/2017 - 00:19:01: [AMXX]    [1] onlyawp.sma::client_disconnect (line 246)

Na starcie mapy jest też błąd że nie można połączyć się z bazą danych ale to raczej wiadome skoro dałem takie ip i haslo w pluginie (do testów).

Plugin sprawdzałem na 'new game' żeby nie kupować serwera aż plugin zacznie działać (troche pieniędzy szkoda).

Nie wiem czy zapis działa bo bazy na razie nie mam ale patrząc na te errory to pewnie nie, co może być problemem ? (raczej to że dałem client_authorized zamiast client_putinserver nie robi różnicy)


  • +
  • -
  • 0




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

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