-
Postów
1151 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
78
Treść opublikowana przez Roberrt
-
ROZWIĄZANE Wchodzą ludzie pograją chwilę i wychodzą
Roberrt odpowiedział(a) na Quak temat w Pytania ogólne
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 -
a nie na CS_SLOT_SECONDARY? wcześniej piszesz o glocku teraz o cs_slot_primary.. primary = broń główna secondary = broń dodatkowa
-
Smokeradar wywal i sprawdź
- 11 odpowiedzi
-
- widocznością
- radarem
- (i 4 więcej)
-
U mnie skiny działają i cały serwer...
-
3tokeny to 7dni
-
Działa, dzięki wszystkim @up za pomoc :) Do zamknęcia
-
Wyślę ci na pw // wysłałem
-
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 :/
-
Nie, nadal nic
-
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
-
2 kwerenda: https://scr.hu/81RPMN jak wrócę to spróbuję sprawdzić te kwerendy (printtoserver, itp);
-
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
-
nie nic 0 null
-
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)
-
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); } } } }
-
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
-
ROZWIĄZANE Zastosowanie biblioteki multicolors w bslimiter
Roberrt odpowiedział(a) na SeParator temat w Pytania ogólne
Użyj biblioteki <multicolors> a nie <colors> Colors posiada mniej kolorów btw. Nie {„green”} tylko {green}- 6 odpowiedzi
-
- 1
-
- multicolors
- biblioteki
-
(i 3 więcej)
Oznaczone tagami:
-
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
- 4 odpowiedzi
-
- Spełnienie
- warunku
-
(i 1 więcej)
Oznaczone tagami:
-
sklepcs.pl sklep-sms.pl vipsource.eu i mój w budowie :P
-
Nie ale był
-
Musisz idealnie odbić się od ziemi przy samym teleporcie abyś utrzymał prędkość
- 4 odpowiedzi
-
- Problem
- snowdream!
-
(i 1 więcej)
Oznaczone tagami:
-
Obie opcje
-
Ja tam z nich korzystam w swoim sklepie SMS polecam :D
-
W kulkach standardowych pb są wystrzeliwane wabiki z innym modelem
- 8 odpowiedzi
-
- Przeładowanie
- broni
-
(i 1 więcej)
Oznaczone tagami: