Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Roberrt

Zasłużony
  • Postów

    1151
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    78

Treść opublikowana przez Roberrt

  1. pewnie również dostałeś IPSa za free? Słoneczko głowy nie przegrzało? + Masz 2 serwery CS:GO z czego 1 pusty a drugi 9/25 więc się nie mądrz
  2. a nie na CS_SLOT_SECONDARY? wcześniej piszesz o glocku teraz o cs_slot_primary.. primary = broń główna secondary = broń dodatkowa
  3. U mnie skiny działają i cały serwer...
  4. Działa, dzięki wszystkim @up za pomoc :) Do zamknęcia
  5. Jakby funkcje się nie wykonywały ponieważ nawet nie printują się kwerendy. public void GiveFlag(int client, const char[] SID) { if (IsClientInGame(client)) { char Query[256]; if (!g_bPolaczono || !DB) { ConnectSQL(); GiveFlag(client, SID); } else { Format(Query, sizeof(Query), "SELECT `serviceid` FROM `sklepsms_user_services` WHERE (`serverid`='%d' OR `serverid`='-1') AND `steamid` LIKE '%s'", ServerID, SID); DB.Query(GiveFlag_1, Query, GetClientUserId(client)); LogQuery(Query); } } } public void GiveFlag_1(Database db, DBResultSet results, const char[] error, any data) { char Query[500]; int client = 0; if ((client = GetClientOfUserId(data)) == 0) { return; } char Error[216]; if (results == null) { KickClient(client, "Wystąpił błąd podczas autoryzacji...<br />Połącz ponownie się z serwerem wpisując w konsoli `retry`"); SQL_GetError(db, Error, sizeof(Error)); LogError("[ GiveFlag#_1(result null) ] %s", Error); } else { while (results.FetchRow()) { int Service = results.FetchInt(0); Format(Query, sizeof(Query), "SELECT `flags` FROM `sklepsms_services` WHERE `serviceid`='%i'", Service); DB.Query(GiveFlag_2, Query, GetClientUserId(client)); LogQuery(Query); } } } public void GiveFlag_2(Database db, DBResultSet results, const char[] error, any data) { char Error[200]; int client = 0; if ((client = GetClientOfUserId(data)) == 0) { return; } if (results == null) { KickClient(client, "Wystąpił błąd podczas autoryzacji...<br />Połącz ponownie się z serwerem wpisując w konsoli `retry`"); SQL_GetError(db, Error, sizeof(Error)); LogError("[ GiveFlag#_2(no results) ] %s", Error); } else { if (results.FetchRow()) { char Flags[50]; results.FetchString(0, Flags, sizeof(Flags)); strcopy(g_cFlags[client], sizeof(g_cFlags), Flags); int FlagsInt = ReadFlagString(Flags); SetUserFlagBits(client, FlagsInt); } else { SQL_GetError(db, Error, sizeof(Error)); LogMessage("[ GiveFlag#_2(no fetch) ] %s", Error); } } } stock void LogQuery(const char[] Query) { LogMessage("***********************************************"); LogMessage("! "); LogMessage("! Logowanie kwerendy:"); LogMessage("! "); LogMessage("! %s", Query); LogMessage("! "); LogMessage("***********************************************"); PrintToServer("***********************************************"); PrintToServer("! "); PrintToServer("! Logowanie kwerendy:"); PrintToServer("! "); PrintToServer("! %s", Query); PrintToServer("! "); PrintToServer("***********************************************"); } // db stuff void ConnectSQL() { if (DB != INVALID_HANDLE) { CloseHandle(DB); } if (SQL_CheckConfig("gsystems")) { Database.Connect(GotDatabase, "gsystems"); } } public void GotDatabase(Database db, const char[] error, any data) { //char Error[128]; if (db == null) { LogToFile("addons/sourcemod/logs/Roberrt-ShopSMS.txt", "[ Błąd MySQL-DBConnect ] %s", error); LogError("Database ERROR: %s", error); if (g_iPolaczenia <= 5) { g_iPolaczenia++; CreateTimer(0.2, Timer_DatabaseTimeout); } else SetFailState("Database ERROR: 'g_i <= 5'"); } else { g_bPolaczono = true; DB = db; g_iPolaczenia = 0; if (DB) { char Query[500]; Format(Query, sizeof(Query), "SELECT `id` FROM `sklepsms_serverid` WHERE `ip`='%s' AND `port`='%i' LIMIT 1", ServerIP, ServerPort); Handle QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { if (SQL_FetchRow(QueryDB)) { ServerID = SQL_FetchInt(QueryDB, 0); } else { Format(Query, sizeof(Query), "INSERT INTO `sklepsms_serverid` VALUES (0, 'Server', '%s', %i)", ServerIP, ServerPort); Handle QueryDB2 = SQL_Query(DB, Query); if (QueryDB2 != INVALID_HANDLE) { LogToFile("addons/sourcemod/logs/Roberrt-ShopSMS.txt", "[ MySQL-ServerAdd ] Poprawnie dodano serwer..."); } } } } else SetFailState("[ #DB ] Błąd połączenia z DB (Brak)"); } } public Action Timer_DatabaseTimeout(Handle timer, any data) { ConnectSQL(); } próbowałem serverid też ręcznie ustawić (int ServerID = 2) ale też nie działa :/
  6. public void OnPluginStart() { ServerPort = GetConVarInt(FindConVar("hostport")); GetConVarString(FindConVar("ip"), ServerIP, sizeof(ServerIP)); ConnectSQL(); } void ConnectSQL() { if (DB != INVALID_HANDLE) { CloseHandle(DB); } if (SQL_CheckConfig("gsystems")) { Database.Connect(GotDatabase, "gsystems"); } } public void GotDatabase(Database db, const char[] error, any data) { //char Error[128]; if (db == null) { LogToFile("addons/sourcemod/logs/Roberrt-ShopSMS.txt", "[ Błąd MySQL-DBConnect ] %s", error); LogError("Database ERROR: %s", error); if (g_iPolaczenia <= 5) { g_iPolaczenia++; CreateTimer(0.2, Timer_DatabaseTimeout); } else SetFailState("Database ERROR: 'g_i <= 5'"); } else { g_bPolaczono = true; DB = db; g_iPolaczenia = 0; if (DB) { char Query[500]; Format(Query, sizeof(Query), "SELECT `id` FROM `sklepsms_serverid` WHERE `ip`='%s' AND `port`='%i' LIMIT 1", ServerIP, ServerPort); Handle QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { if (SQL_FetchRow(QueryDB)) { ServerID = SQL_FetchInt(QueryDB, 0); } else { Format(Query, sizeof(Query), "INSERT INTO `sklepsms_serverid` VALUES (0, 'Server', '%s', %i)", ServerIP, ServerPort); Handle QueryDB2 = SQL_Query(DB, Query); if (QueryDB2 != INVALID_HANDLE) { LogToFile("addons/sourcemod/logs/Roberrt-ShopSMS.txt", "[ MySQL-ServerAdd ] Poprawnie dodano serwer..."); } } } } else SetFailState("[ #DB ] Błąd połączenia z DB (Brak)"); } } https://scr.hu/5Aw79D @camerdisco
  7. 2 kwerenda: https://scr.hu/81RPMN jak wrócę to spróbuję sprawdzić te kwerendy (printtoserver, itp);
  8. PMA: Struktura user_services https://scr.hu/5Aw1GB Struktura services https://scr.hu/OBDKka Kwerenda 1 https://scr.hu/PKqW7o Kwerenda 2 https://scr.hu/PKqW7o
  9. public void GiveFlag(int client, const char[] SID) { if (IsClientInGame(client)) { char Query[256]; if (!g_bPolaczono || !DB) { ConnectSQL(); GiveFlag(client, SID); } else { Format(Query, sizeof(Query), "SELECT `serviceid` FROM `sklepsms_user_services` WHERE (`serverid`='%d' OR `serverid`='-1') AND `steamid` LIKE '%s'", ServerID, SID); DB.Query(GiveFlag_1, Query, GetClientUserId(client)); } } } public void GiveFlag_1(Database db, DBResultSet results, const char[] error, any data) { char Query[500]; int client = 0; if ((client = GetClientOfUserId(data)) == 0) { return; } char Error[216]; if (results == null) { KickClient(client, "Wystąpił błąd podczas autoryzacji...<br />Połącz ponownie się z serwerem wpisując w konsoli `retry`"); SQL_GetError(db, Error, sizeof(Error)); LogError("[ GiveFlag#_1(result null) ] %s", Error); } else { while (results.FetchRow()) { int Service = results.FetchInt(0); Format(Query, sizeof(Query), "SELECT `flags` FROM `sklepsms_services` WHERE `serviceid`='%i'", Service); DB.Query(GiveFlag_2, Query, GetClientUserId(client)); } } } public void GiveFlag_2(Database db, DBResultSet results, const char[] error, any data) { char Error[200]; int client = 0; if ((client = GetClientOfUserId(data)) == 0) { return; } if (results == null) { KickClient(client, "Wystąpił błąd podczas autoryzacji...<br />Połącz ponownie się z serwerem wpisując w konsoli `retry`"); SQL_GetError(db, Error, sizeof(Error)); LogError("[ GiveFlag#_2(no results) ] %s", Error); } else { if (results.FetchRow()) { char Flags[50]; results.FetchString(0, Flags, sizeof(Flags)); strcopy(g_cFlags[client], sizeof(g_cFlags), Flags); int FlagsInt = ReadFlagString(Flags); SetUserFlagBits(client, FlagsInt); } else { SQL_GetError(db, Error, sizeof(Error)); LogMessage("[ GiveFlag#_2(no fetch) ] %s", Error); } } } i podczas sprawdzania zmiennej g_cFlags jest ona pusta jak i nie dodaje flagi ;_; (gdzieś tam jest błąd tylko ja ślepy jestem)
  10. Nope nadal nie pomaga zmiana z onclientputinserver na onclientauthorized oraz zmiana kwerendy. public void OnClientAuthorized(int client, const char[] auth) { char Query[128]; Format(Query, 128, "DELETE FROM `sklepsms_user_services` WHERE `enddate` < NOW() AND `serverid`='%i'", ServerID); SQL_TQuery(DB, SQLErrorCallback, Query); GiveFlag(client, auth); } public void GiveFlag(int client, const char[] SID) { char Error[256]; if (IsClientInGame(client)) { char Query[256]; if (!g_bPolaczono || !DB) { ConnectSQL(); GiveFlag(client, SID); } else { Format(Query, sizeof(Query), "SELECT `serviceid` FROM `sklepsms_user_services` WHERE (`serverid`='%d' OR `serverid`='-1') AND `steamid` LIKE '%s'", ServerID, SID); Handle QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { while (SQL_FetchRow(QueryDB)) { char Flags[64]; int Service = SQL_FetchInt(QueryDB, 0); Format(Query, sizeof(Query), "SELECT `flags` FROM `sklepsms_services` WHERE `serviceid`='%i'", Service); QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { if (SQL_FetchRow(QueryDB)) { SQL_FetchString(QueryDB, 0, Flags, sizeof(Flags)); int FlagsInt = ReadFlagString(Flags); SetUserFlagBits(client, FlagsInt); } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#1 ] %s", Error); } } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#2 ] %s", Error); } } } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#4 ] %s", Error); } } } }
  11. Cześć, aktualnie tworzę mój sklepsms z dociskiem na automatyczny i mam drobny drobniutki problemik. Ponieważ sklep musi być 'automatyczny' czyli samemu sprawdzać rodzaj usługi itp to najpierw selectuje czy jest steamid jeżeli jest to pobiera serviceid usługi i w tabeli services sprawdza czy istnieje taka usługa i dodaję flagi i tu zaczyna się robić problem. Podczas gdy gracz łączy się z serwerem i jest w momencie OnClientPutInServer to wywołuję tą funkcję i wywala serwer. W logach jest że serwer nagle stracił połączenie z DB ("lost connection to MySQL server during query") Kodzik na nadawanie: public void GiveFlag(int client) { char Error[256]; if (IsClientInGame(client)) { char SID[64]; char Query[256]; GetClientAuthId(client, AuthId_Steam2, SID, sizeof(SID)); if (!g_bPolaczono || !DB) { ConnectSQL(); GiveFlag(client); } else { Format(Query, sizeof(Query), "SELECT `serviceid` FROM `sklepsms_user_services` WHERE `serverid`='%i' OR `serverid`='-1' AND `steamid`='%s'", ServerID, SID); Handle QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { while (SQL_FetchRow(QueryDB)) { char Flags[64]; int Service = SQL_FetchInt(QueryDB, 0); Format(Query, sizeof(Query), "SELECT `flags` FROM `sklepsms_services` WHERE `serviceid`='%i'", Service); QueryDB = SQL_Query(DB, Query); if (QueryDB != INVALID_HANDLE) { if (SQL_FetchRow(QueryDB)) { SQL_FetchString(QueryDB, 0, Flags, sizeof(Flags)); int FlagsInt = ReadFlagString(Flags); SetUserFlagBits(client, FlagsInt); } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#1 ] %s", Error); } } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#2 ] %s", Error); } } /* else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#3 ] %s", Error); } */ } else { SQL_GetError(DB, Error, sizeof(Error)); LogError("[ GiveFlag#4 ] %s", Error); } } } } A i jak popatrzycie do kodu to przy GiveFlag#4 wywala ten błąd. (Czyli przy 1 zapytaniu). Z góry dzięki :3
  12. Użyj biblioteki <multicolors> a nie <colors> Colors posiada mniej kolorów btw. Nie {„green”} tylko {green}
  13. Pobierasz imię gracza np do zmiennej char nickname[64]; GetClientName(client, name, sizeof(name)); i potem If(StrContains(nickname, NICKNAME_PARTPL) != 0) { // tutaj już sam sobie poradzisz } Wysylam z telefonu wiec może coś być nie pełne lub coś ale raczej jest ok
  14. sklepcs.pl sklep-sms.pl vipsource.eu i mój w budowie :P
  15. Musisz idealnie odbić się od ziemi przy samym teleporcie abyś utrzymał prędkość
  16. Ja tam z nich korzystam w swoim sklepie SMS polecam :D
  17. W kulkach standardowych pb są wystrzeliwane wabiki z innym modelem
×
×
  • Dodaj nową pozycję...