Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'punktów' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Kategorie

  • Error'y w kompilatorze
  • Warning'i w kompilatorze
  • Fatal error'y w kompilatorze

Forum

  • Go-Code.pl - Ogólne
    • Informacje
    • O serwisie
  • Sourcemod Scripting
    • Baza wiedzy
    • Masz problem?
    • Pytania na temat kodowania
  • Pluginy Sourcemod
    • Wszystko o pluginach
    • Duże modyfikacje
    • Dodatki
  • Konfiguracja serwera
    • Baza wiedzy
    • Pytania
    • Problemy
  • Counter-Strike: Global Offensive
    • Nowości
    • Artykuły, poradniki, tutoriale
    • Pytania
    • Problemy
  • Hostingi serwerów & WWW
    • Oferty firm
    • Opinie o hostingach
    • Pytania
  • Poza tematyką forum, OFF-TOPIC
    • Życie społeczności
    • Biznes
    • Zareklamuj swoją sieć/serwer
    • RoundSoundy
  • Archiwum
    • Przestarzałe tematy
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Dołączył

  • Od tej daty

    Do tej daty


Grupa podstawowa


Imię


Lokalizacja


Zawód


O mnie


Strona WWW

Znaleziono 2 wyniki

  1. O plugnie : Plugin po wpisaniu !rs resetuje statystyki Instalacja : Plik .smx : addons/sourcemod/plugins DownLoad: yResetScore.smxyResetScore.sp
  2. Cześć, To jak na razie ostatni plugin, jaki chciałbym napisać do mojego serwera deathmatch. Prawie cały plugin skopiowałem od Magneta z drugiej części poradnika MySQL, ale dodałem trochę swoich rzeczy i chciałem obsłużyć !rank. Pokaże to na czacie wiadomość typu "*nick* is X/Y | [*points*]", gdzie X to miejsce posiadane przez gracza, a Y to liczba wszystkich graczy, którzy się kiedykolwiek połączyli. To mnie przerosło, więc przychodzę z prośbą o pomoc tutaj. Dodam, że w całym pluginie, który wyślę tylko "public Action ClientRanking(int client, int args) mnie interesuje, reszta jest obsłużona poprawnie. *komentarze dla mnie, nie zwracajcie uwagi* Oto plugin: #include <sourcemod> #include <multicolors> #define RANK_TAG "{green}[RANKING]{purple}" int kills[MAXPLAYERS]; int points[MAXPLAYERS]; Database DB; public void OnPluginStart() { RegConsoleCmd("sm_rank", ClientRanking); RegConsoleCmd("sm_top", TopRanking); HookEvent("player_death", PlayerDeath); } public void OnMapStart() { char error[128]; DB = SQL_Connect("Killer", true, error, sizeof(error)); if(DB == INVALID_HANDLE) { LogError("Could not connect: %s", error); return; } char buffer[1024]; Format(buffer, sizeof(buffer), "CREATE TABLE IF NOT EXISTS `Kills`(`steamid` INT NOT NULL PRIMARY KEY,`nick` VARCHAR(64),`kills` INT NOT NULL,`points` INT NOT NULL)"); if(!SQL_FastQuery(DB, buffer)) { SQL_GetError(DB, error, sizeof(error)); PrintToServer("Could not create a table, error: %s", error); } } public Action ClientRanking(int client, int args) { char buffer[1024]; Format(buffer, sizeof(buffer), "SELECT `points` FROM `Kills` ORDER BY `points` DESC;"); //char nameBuffer[MAX_NAME_LENGTH]; //int pointsBuffer; CPrintToChat(client, "%s {lightblue}%N{purple} is {olive}X{purple}/{darkred}Y{purple} | [{orchid}%d{purple} points]", RANK_TAG, client, points[client]); //OBSLUZYC, ZROBIC MENU WYLACZAJACE DZWIEKI (OVERLAYE ITP) } public Action PlayerDeath(Event e, const char[] n, bool b) { int client = GetClientOfUserId(e.GetInt("userid")); int attacker = GetClientOfUserId(e.GetInt("attacker")); kills[attacker]++; points[client]-=2; if(points[client]<0) points[client]=0; if(IsVip(attacker)) { points[attacker]+=6; } else { points[attacker]+=4; } } public void OnClientPutInServer(int client) { kills[client] = 0; points[client] = 0; if(IsFakeClient(client) || IsClientSourceTV(client)) return; int sid = GetSteamAccountID(client); char buffer[1024]; Format(buffer, sizeof(buffer), "SELECT `kills`,`points` FROM `Kills` WHERE `steamid`=%d", sid); DBResultSet query = SQL_Query(DB, buffer); if(query == null) // null or INVALID_HANDLE { char error[255]; SQL_GetError(DB, error, sizeof(error)); PrintToServer("Could not player's (%N) data download, error: %s", client, error); return; } if(!SQL_GetRowCount(query)) { Format(buffer, sizeof(buffer), "INSERT INTO `Kills` VALUES(%d, '%N', 0, 1000)", sid, client); if(!SQL_FastQuery(DB, buffer)) { char error[255]; SQL_GetError(DB, error, sizeof(error)); PrintToServer("Could not add new player (%N), error: %s", client, error); } return; } while(SQL_FetchRow(query)) { kills[client] = SQL_FetchInt(query, 0); points[client] = SQL_FetchInt(query, 1); } } public void OnClientDisconnect(int client) { char buffer[1024]; Format(buffer, sizeof(buffer), "UPDATE `Kills` SET `kills`=%d,`points`=%d WHERE `steamid`=%d", kills[client], points[client], GetSteamAccountID(client)); if(!SQL_FastQuery(DB, buffer)) { char error[255]; SQL_GetError(DB, error, sizeof(error)); PrintToServer("Could not update player's (%N) data, error: %s", client, error); } } public Action TopRanking(int client, int args) { Menu top = new Menu(TopRanking_Handler); top.SetTitle("TOP 10:"); char buffer[1024]; Format(buffer, sizeof(buffer), "SELECT `nick`,`points` FROM `Kills` ORDER BY `points` DESC LIMIT 10;"); DBResultSet query = SQL_Query(DB, buffer); char nameBuffer[MAX_NAME_LENGTH]; int pointsBuffer; while(SQL_FetchRow(query)) { pointsBuffer = SQL_FetchInt(query, 1); SQL_FetchString(query, 0, nameBuffer, sizeof(nameBuffer)); if (IsVip(client)) Format(buffer, sizeof(buffer), "[VIP] %s [%d]", nameBuffer, pointsBuffer); else Format(buffer, sizeof(buffer), "%s [%d]", nameBuffer, pointsBuffer); top.AddItem("", buffer); } top.Display(client, 120); return Plugin_Continue; } public int TopRanking_Handler(Menu top, MenuAction action, int client, int position) { if(action == MenuAction_End || action == MenuAction_Select) delete top; } //////////////////////////////////// BOOLS //////////////////////////////////// bool IsVip(int client) //or owner or admin { if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1 || GetUserFlagBits(client) & ADMFLAG_CUSTOM2 || GetUserFlagBits(client) & ADMFLAG_CUSTOM3) return true; return false; }
×
×
  • Dodaj nową pozycję...