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
CS:GO

[ROZWIĄZANE] Top15 w oparciu o zapis SqlLite

cs:go

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

#1 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 13.06.2015 15:56

Moja modyfikacja korzysta z zapisu z tego coda http://amxx.pl/topic...odmod-dla-csgo/ i teraz taki problem, że chciałbym utworzyć top15 pod względem np poziomów ale moja wiedza na temat zapisu jest nikła. Proszę o pomoc, niżej załączam wyciągnięty public odpowiedzialny za zapis i wczytywanie poziomów.


public saveToDB(id)
{
	new String:tmp[1025];
	decl String:authid[64];
	if(!GetClientAuthId(id, AuthId_Steam2, authid, 63))
		return -1;

	Format(tmp, sizeof(tmp), "INSERT INTO codmod (steamid, class, lvl, exp, sPoints, sInt, sCon, sStr, sDex) VALUES ('%s', '%s', %d, %d, %d, %d, %d, %d, %d);", authid, className[playerClass[id]], playerLvl[id], playerExp[id], playerPoints[id], playerInt[id], playerCon[id], playerStr[id], playerDex[id]);
	if(!SQL_FastQuery(sql, tmp))
	{
		SQL_GetError(sql, dbError, sizeof(dbError))
		PrintToServer("Failed to INSERT query (error: %s)", dbError)
		return 1;
	}

	return 0;
}
public readClassFromDB(id, classN)
{
	new String:tmp[513];
	decl String:authid[64];
	if(!GetClientAuthId(id, AuthId_Steam2, authid, 63))
		return -1;

	Format(tmp, sizeof(tmp), "SELECT lvl, exp, sPoints, sInt, sCon, sStr, sDex FROM codmod WHERE steamID = '%s' AND class = '%s';", authid, className[classN]);
	new Handle:query = SQL_Query(sql, tmp);

	if(query == INVALID_HANDLE)
	{
		SQL_GetError(sql, dbError, sizeof(dbError))
		PrintToServer("Failed to readClassFromDB query (error: %s)", dbError)
		return 0;
	}
	if(SQL_GetRowCount(query))
	{
		playerLvl[id] = SQL_FetchInt(query, 0);
		playerExp[id] = SQL_FetchInt(query, 1);
		playerPoints[id] = SQL_FetchInt(query, 2);
		playerInt[id] = SQL_FetchInt(query, 3);
		playerCon[id] = SQL_FetchInt(query, 4);
		playerStr[id] = SQL_FetchInt(query, 5);
		playerDex[id] = SQL_FetchInt(query, 6);
	}
	else
	{
		playerLvl[id] = 1;
		playerExp[id] = 0;
		playerPoints[id] = 0;
		playerInt[id] = 0;
		playerCon[id] = 0;
		playerStr[id] = 0;
		playerDex[id] = 0;
	}

	CloseHandle(query)
	return 1;
}

  • +
  • -
  • 0

b35020692_qesnxqa.png


#2 plx211

    Wszechpomocny

  • Użytkownik

Reputacja: 231
Wszechwidzący

  • Postów:397
  • Lokalizacja:Polska
Offline

Napisano 14.06.2015 01:43

To zapytanie zwróci ci 15 rekordów z największym expem (nie testowane):
SELECT * FROM codmod ORDER BY exp DESC LIMIT 15;
Po wykonaniu zapytania, będziesz musiał przenieść sobie wynik do zmiennych, jak to zrobić dowiesz się z api i z https://wiki.alliedm...ceMod_Scripting) (Processing result)
  • +
  • -
  • 1

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 15.06.2015 13:47

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cs:go

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

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