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

CodMod_Stary - Dodanie codtop15 i codranku

cs:go

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

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

Napisano 08.08.2015 12:41

opis

 

W tym tutku opisze w jaki sposob mozna dodac codtop15 oraz codrank do silnika.

 

Pierw gdzies na gorze dodajemy:

new String:top_string[1024];

Nastepnie szukamy:

public OnMapStart()
{

i do srodka dodajemy:

WczytajTopke();

Przechodzimy teraz do:

public Action:Komendy(client, args)
{

i gdzies w srodku dodajemy:

else if(strcmp(text, "/codtop15", false) == 0)
	Top15Serwera(client);
else if(strcmp(text, "/codrank", false) == 0)
	RankSerwera(client);

Teraz juz tylko gdzies na dole wystarczy dodac:

public Action:RankSerwera(client)
{
	if(klasa_gracza[client])
	{
		new String:tmp[512];
		new String:authid[64];
		if(!GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid)))
			return;

		Format(tmp, sizeof(tmp), "SELECT count(xp) FROM codmod WHERE xp >= (SELECT xp FROM codmod WHERE steamid = '%s' AND klasa = '%s') ORDER BY xp;", authid, nazwy_klas[klasa_gracza[client]]);
		new Handle:query = SQL_Query(sql, tmp);

		new pozycja;
		if(query == INVALID_HANDLE)
		{
			SQL_GetError(sql, dbError, sizeof(dbError));
			PrintToServer("Failed to INSERT query (error: %s)", dbError);
			return;
		}
		if(SQL_FetchRow(query))
			pozycja = SQL_FetchInt(query, 0);

		PrintToChat(client, "[COD:MW] Twoja pozycja w CodRanku: %i miejsce - Wymagane: %i doswiadczenie do nastepnego poziomu.", pozycja, doswiadczenie_poziomu[poziom_gracza[client]]-doswiadczenie_gracza[client]); 
		CloseHandle(query);
	}
	else
		PrintToChat(client, "[COD:MW] Musisz miec wybrana klase aby moc sprawdzic rank!");
}
public Action:Top15Serwera(client)
{
	PrintToConsole(client, top_string);
	PrintToChat(client, "[COD:MW] Lista CodTop15 Serwera zostala wyswietlona w twojej konsoli.");
}
public Action:WczytajTopke()
{
	new String:tmp[512];
	Format(tmp, sizeof(tmp), "SELECT lvl, xp, klasa, steamid FROM codmod ORDER BY xp DESC LIMIT 15;");
	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;
	}

	new String:klasa[512];
	new String:authid[64];
	new poziom;
	new doswiadczenie;
	new len = Format(top_string, sizeof(top_string), "Lista CodTop15 Serwera:\nMiejsce | Steam | Klasa | Poziom | Doswiadczenie");
	for(new i = 1; SQL_FetchRow(query); i ++)
	{
		poziom = SQL_FetchInt(query, 0);
		doswiadczenie = SQL_FetchInt(query, 1);
		SQL_FetchString(query, 2, klasa, sizeof(klasa))
		SQL_FetchString(query, 3, authid, sizeof(authid))
		len += Format(top_string[len], sizeof(top_string) - len, "\n%i. %s - %s - %i - %i", i, authid, klasa, poziom, doswiadczenie);
	}

	CloseHandle(query);
}

I gotowe. Po wykonaniu powyzszej instrukcji powinienes otrzymac codtop15 oraz codrank po wpisaniu odpowiednich komend.

 

 

Podziekowania dla plx211 za pomoc przy tworzeniu kodu.


  • +
  • -
  • 0

b35020692_qesnxqa.png






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