Raised This Month: $51 Target: $400
 12% 

[Error] What does it mean?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Tene32
Junior Member
Join Date: May 2017
Old 12-22-2019 , 09:07   [Error] What does it mean?
Reply With Quote #1

Hello i have some erros in the log that i dont understand what are they,how to fix it?

Quote:
L 12/22/2019 - 15:52:42: [AdminsTimes.smx] Failed to query, error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'STEAM_1:1:183192468' AND `serverIp` = '185.185.134.241:10013''' at line 1
L 12/22/2019 - 15:54:50: [PickUp_Stats.smx] Failed to query, error: Table 'csgopickup.matches' doesn't exist
L 12/22/2019 - 15:54:50: [PickUp_TeamSpeak.smx] Socket Error: 3 (Error Num: 11001)
L 12/22/2019 - 15:55:54: [PickUp_Stats.smx] Failed to query, error: Table 'csgopickup.matches' doesn't exist
L 12/22/2019 - 15:55:54: [PickUp_TeamSpeak.smx] Socket Error: 3 (Error Num: 11001)
L 12/22/2019 - 15:58:06: [PickUp_Stats.smx] Failed to query, error: Table 'csgopickup.matches' doesn't exist
L 12/22/2019 - 15:58:06: [PickUp_TeamSpeak.smx] Socket Error: 3 (Error Num: 11001)
L 12/22/2019 - 15:59:50: [PickUp_Stats.smx] Failed to query, error: Table 'csgopickup.matches' doesn't exist
L 12/22/2019 - 15:59:50: [PickUp_TeamSpeak.smx] Socket Error: 3 (Error Num: 11001)
Tene32 is offline
LeeStrong
AlliedModders Donor
Join Date: Nov 2015
Old 12-22-2019 , 10:15   Re: [Error] What does it mean?
Reply With Quote #2

The table 'matches' does not exist in the database 'csgopickup'.
Do you need help setting up your database? Essentially the script is working fine but it looks like your database is empty.

Edit: looks like your AdminTimes plugin is having an issue as well, is this a public plugin? If so can you post a link to the plugin and/or the code to the plugin and .sql file (if included)

Last edited by LeeStrong; 12-22-2019 at 10:18.
LeeStrong is offline
Tene32
Junior Member
Join Date: May 2017
Old 12-22-2019 , 11:16   Re: [Error] What does it mean?
Reply With Quote #3

Quote:
Originally Posted by LeeStrong View Post
The table 'matches' does not exist in the database 'csgopickup'.
Do you need help setting up your database? Essentially the script is working fine but it looks like your database is empty.

Edit: looks like your AdminTimes plugin is having an issue as well, is this a public plugin? If so can you post a link to the plugin and/or the code to the plugin and .sql file (if included)
unfortunately, i dont have the sp file but i decompile it from smx to sp .




Quote:
public PlVers:__version =
{
version = 5,
filevers = "1.8.0.5914",
date = "10/12/2019",
time = "22:53:49"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
name = "Core",
file = "core",
autoload = 0,
required = 0,
};
new MaxClients;
public Extension:__ext_sdktools =
{
name = "SDKTools",
file = "sdktools.ext",
autoload = 1,
required = 1,
};
new Database:g_dDatabase;
new Handle:g_hTimer[66];
new String:g_szAddress[64];
new String:g_szAuth[66][32];
new g_iMinutes[66];
public Plugin:myinfo =
{
name = "Admins Time",
description = "Calculating the admins play time",
author = "??",
version = "1.0",
url = "http://gamers-il.com/"
};
public void:__ext_core_SetNTVOptional()
{
MarkNativeAsOptional("GetFeatureStatus");
MarkNativeAsOptional("RequireFeature");
MarkNativeAsOptional("AddCommandListener");
MarkNativeAsOptional("RemoveCommandListener") ;
MarkNativeAsOptional("BfWriteBool");
MarkNativeAsOptional("BfWriteByte");
MarkNativeAsOptional("BfWriteChar");
MarkNativeAsOptional("BfWriteShort");
MarkNativeAsOptional("BfWriteWord");
MarkNativeAsOptional("BfWriteNum");
MarkNativeAsOptional("BfWriteFloat");
MarkNativeAsOptional("BfWriteString");
MarkNativeAsOptional("BfWriteEntity");
MarkNativeAsOptional("BfWriteAngle");
MarkNativeAsOptional("BfWriteCoord");
MarkNativeAsOptional("BfWriteVecCoord");
MarkNativeAsOptional("BfWriteVecNormal");
MarkNativeAsOptional("BfWriteAngles");
MarkNativeAsOptional("BfReadBool");
MarkNativeAsOptional("BfReadByte");
MarkNativeAsOptional("BfReadChar");
MarkNativeAsOptional("BfReadShort");
MarkNativeAsOptional("BfReadWord");
MarkNativeAsOptional("BfReadNum");
MarkNativeAsOptional("BfReadFloat");
MarkNativeAsOptional("BfReadString");
MarkNativeAsOptional("BfReadEntity");
MarkNativeAsOptional("BfReadAngle");
MarkNativeAsOptional("BfReadCoord");
MarkNativeAsOptional("BfReadVecCoord");
MarkNativeAsOptional("BfReadVecNormal");
MarkNativeAsOptional("BfReadAngles");
MarkNativeAsOptional("BfGetNumBytesLeft");
MarkNativeAsOptional("BfWrite.WriteBool");
MarkNativeAsOptional("BfWrite.WriteByte");
MarkNativeAsOptional("BfWrite.WriteChar");
MarkNativeAsOptional("BfWrite.WriteShort");
MarkNativeAsOptional("BfWrite.WriteWord");
MarkNativeAsOptional("BfWrite.WriteNum");
MarkNativeAsOptional("BfWrite.WriteFloat");
MarkNativeAsOptional("BfWrite.WriteString");
MarkNativeAsOptional("BfWrite.WriteEntity");
MarkNativeAsOptional("BfWrite.WriteAngle");
MarkNativeAsOptional("BfWrite.WriteCoord");
MarkNativeAsOptional("BfWrite.WriteVecCoord") ;
MarkNativeAsOptional("BfWrite.WriteVecNormal" );
MarkNativeAsOptional("BfWrite.WriteAngles");
MarkNativeAsOptional("BfRead.ReadBool");
MarkNativeAsOptional("BfRead.ReadByte");
MarkNativeAsOptional("BfRead.ReadChar");
MarkNativeAsOptional("BfRead.ReadShort");
MarkNativeAsOptional("BfRead.ReadWord");
MarkNativeAsOptional("BfRead.ReadNum");
MarkNativeAsOptional("BfRead.ReadFloat");
MarkNativeAsOptional("BfRead.ReadString");
MarkNativeAsOptional("BfRead.ReadEntity");
MarkNativeAsOptional("BfRead.ReadAngle");
MarkNativeAsOptional("BfRead.ReadCoord");
MarkNativeAsOptional("BfRead.ReadVecCoord");
MarkNativeAsOptional("BfRead.ReadVecNormal");
MarkNativeAsOptional("BfRead.ReadAngles");
MarkNativeAsOptional("BfRead.GetNumBytesLeft" );
MarkNativeAsOptional("PbReadInt");
MarkNativeAsOptional("PbReadFloat");
MarkNativeAsOptional("PbReadBool");
MarkNativeAsOptional("PbReadString");
MarkNativeAsOptional("PbReadColor");
MarkNativeAsOptional("PbReadAngle");
MarkNativeAsOptional("PbReadVector");
MarkNativeAsOptional("PbReadVector2D");
MarkNativeAsOptional("PbGetRepeatedFieldCount ");
MarkNativeAsOptional("PbSetInt");
MarkNativeAsOptional("PbSetFloat");
MarkNativeAsOptional("PbSetBool");
MarkNativeAsOptional("PbSetString");
MarkNativeAsOptional("PbSetColor");
MarkNativeAsOptional("PbSetAngle");
MarkNativeAsOptional("PbSetVector");
MarkNativeAsOptional("PbSetVector2D");
MarkNativeAsOptional("PbAddInt");
MarkNativeAsOptional("PbAddFloat");
MarkNativeAsOptional("PbAddBool");
MarkNativeAsOptional("PbAddString");
MarkNativeAsOptional("PbAddColor");
MarkNativeAsOptional("PbAddAngle");
MarkNativeAsOptional("PbAddVector");
MarkNativeAsOptional("PbAddVector2D");
MarkNativeAsOptional("PbRemoveRepeatedFieldVa lue");
MarkNativeAsOptional("PbReadMessage");
MarkNativeAsOptional("PbReadRepeatedMessage") ;
MarkNativeAsOptional("PbAddMessage");
MarkNativeAsOptional("Protobuf.ReadInt");
MarkNativeAsOptional("Protobuf.ReadFloat");
MarkNativeAsOptional("Protobuf.ReadBool");
MarkNativeAsOptional("Protobuf.ReadString");
MarkNativeAsOptional("Protobuf.ReadColor");
MarkNativeAsOptional("Protobuf.ReadAngle");
MarkNativeAsOptional("Protobuf.ReadVector");
MarkNativeAsOptional("Protobuf.ReadVector2D") ;
MarkNativeAsOptional("Protobuf.GetRepeatedFie ldCount");
MarkNativeAsOptional("Protobuf.SetInt");
MarkNativeAsOptional("Protobuf.SetFloat");
MarkNativeAsOptional("Protobuf.SetBool");
MarkNativeAsOptional("Protobuf.SetString");
MarkNativeAsOptional("Protobuf.SetColor");
MarkNativeAsOptional("Protobuf.SetAngle");
MarkNativeAsOptional("Protobuf.SetVector");
MarkNativeAsOptional("Protobuf.SetVector2D");
MarkNativeAsOptional("Protobuf.AddInt");
MarkNativeAsOptional("Protobuf.AddFloat");
MarkNativeAsOptional("Protobuf.AddBool");
MarkNativeAsOptional("Protobuf.AddString");
MarkNativeAsOptional("Protobuf.AddColor");
MarkNativeAsOptional("Protobuf.AddAngle");
MarkNativeAsOptional("Protobuf.AddVector");
MarkNativeAsOptional("Protobuf.AddVector2D");
MarkNativeAsOptional("Protobuf.RemoveRepeated FieldValue");
MarkNativeAsOptional("Protobuf.ReadMessage");
MarkNativeAsOptional("Protobuf.ReadRepeatedMe ssage");
MarkNativeAsOptional("Protobuf.AddMessage");
VerifyCoreVersion();
return void:0;
}

public void:OnPluginStart()
{
new String:szIp[32];
new String:szPort[8];
ConVar.GetString(FindConVar("ip"), szIp, 32);
ConVar.GetString(FindConVar("hostport"), szPort, ;
Format(g_szAddress, 64, "%s:%s", szIp, szPort);
SQL_StartConnection();
RegAdminCmd("sm_time", Command_Time, 32, "", "", 0);
RegAdminCmd("sm_times", Command_Times, 32768, "", "", 0);
return void:0;
}

public void:OnClientPostAdminCheck(client)
{
if (!GetClientAuthId(client, AuthIdType:1, g_szAuth[client], 66, true))
{
KickClient(client, "Verification problem, please reconnect");
return void:0;
}
if (GetAdminFlag(GetUserAdmin(client), AdminFlag:5, AdmAccessMode:1))
{
SQL_CheckUser(client);
}
return void:0;
}

public void:OnClientDisconnect(client)
{
if (GetAdminFlag(GetUserAdmin(client), AdminFlag:5, AdmAccessMode:1))
{
SQL_UpdateUser(client);
if (g_hTimer[client])
{
CloseHandle(g_hTimer[client]);
g_hTimer[client] = 0;
}
}
return void:0;
}

public Action:Timer_AddMinute(Handle:timer, any:client)
{
new var1;
if (client <= any:0 || client > MaxClients || !IsClientInGame(client))
{
return Action:0;
}
g_iMinutes[client]++;
return Action:0;
}

public Action:Command_Time(client, args)
{
PrintToChat(client, "%s Current activity on this server: \x02%i \x01minutes.", " \x04[Gamers-IL]\x01", g_iMinutes[client]);
return Action;
}

public Action:Command_Times(client, args)
{
SQL_FetchTimes(client);
return Action;
}

void:SQL_StartConnection()
{
if (g_dDatabase)
{
CloseHandle(g_dDatabase);
g_dDatabase = MissingTAG:0;
}
new String:szError[512];
g_dDatabase = SQL_Connect("adminstime", true, szError, 512);
if (!g_dDatabase)
{
SetFailState("Cannot connect to database: %s.", szError);
}
Database.Query(g_dDatabase, SQLQueryCallback:23, "CREATE TABLE IF NOT EXISTS `times` (`steamId` VARCHAR(32) NOT NULL, `name` VARCHAR(64) NOT NULL, `serverIp` VARCHAR(32) NOT NULL, `minutes` INT NOT NULL DEFAULT 0)", any:0, DBPriority:1);
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
OnClientPostAdminCheck(i);
}
i++;
}
return void:0;
}

void:SQL_CheckUser(client)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "SELECT `minutes` FROM `times` WHERE `steamid` = '%s' AND `serverIp` = '%s'", g_szAuth[client], g_szAddress);
Database.Query(g_dDatabase, SQLQueryCallback:25, szQuery, GetClientSerial(client), DBPriority:1);
return void:0;
}

public void:SQL_CheckUser_CB(DatabaseB, DBResultSet:results, String:error[], any:data)
{
new client = GetClientFromSerial(data);
if (results)
{
new String:szName[32];
GetClientName(client, szName, 32);
new len = strlen(szName) * 2 + 1;
new szEscapedName[len];
Database.Escape(g_dDatabase, szName, szEscapedName, len, 0);
new String:szQuery[512];
if (DBResultSet.FetchRow(results))
{
g_iMinutes[client] = DBResultSet.FetchInt(results, 0, 0);
FormatEx(szQuery, 512, "UPDATE `times` SET `name` = '%s WHERE `steamId` = '%s' AND `serverIp` = '%s''", szEscapedName, g_szAuth[client], g_szAddress);
}
else
{
g_iMinutes[client] = 0;
FormatEx(szQuery, 512, "INSERT INTO `times` (`steamId`, `name`, `serverIp`) VALUES ('%s', '%s', '%s')", g_szAuth[client], szEscapedName, g_szAddress);
}
Database.Query(g_dDatabase, SQLQueryCallback:23, szQuery, any:0, DBPriority:1);
g_hTimer[client] = CreateTimer(60.0, Timer_AddMinute, client, 0);
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

void:SQL_UpdateUser(client)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "UPDATE `times` SET `minutes` = %i WHERE `steamId` = '%s' AND `serverIp` = '%s'", g_iMinutes[client], g_szAuth[client], g_szAddress);
Database.Query(g_dDatabase, SQLQueryCallback:23, szQuery, any:0, DBPriority:1);
return void:0;
}

void:SQL_FetchTimes(client)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "SELECT `name`, `minutes` FROM `times` ORDER BY `minutes` DESC");
Database.Query(g_dDatabase, SQLQueryCallback:27, szQuery, GetClientSerial(client), DBPriority:1);
return void:0;
}

public void:SQL_FetchTimes_CB(DatabaseB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
new client = GetClientFromSerial(data);
new Menu:menu = Menu.Menu(Handler_TimesMenu, MenuAction:2;
Menu.SetTitle(menu, "%s Current admins' activity on this server:\nActivity is updated on every disconnect\n ", "[Gamers-IL]");
Menu.AddItem(menu, "reset", "Reset Times\n ", 0);
while (DBResultSet.FetchRow(results))
{
new String:szBuffer[44];
DBResultSet.FetchString(results, 0, szBuffer, 42, 0);
Format(szBuffer, 42, "%s - %i Minutes", szBuffer, DBResultSet.FetchInt(results, 1, 0));
Menu.AddItem(menu, "", szBuffer, 0);
}
Menu.Display(menu, client, 0);
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

public Handler_TimesMenu(Menu:menu, MenuAction:action, client, itemNum)
{
if (action == MenuAction:4)
{
if (!itemNum)
{
SQL_ResetTimes();
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
OnClientPostAdminCheck(i);
}
i++;
}
PrintToChat(client, "%s The times has been resetted.", " \x04[Gamers-IL]\x01");
}
}
return 0;
}

void:SQL_ResetTimes()
{
new String:szQuery[512];
FormatEx(szQuery, 512, "DELETE FROM `times` WHERE `serverIp` = '%s'", g_szAddress);
Database.Query(g_dDatabase, SQLQueryCallback:23, szQuery, any:0, DBPriority:1);
return void:0;
}

public void:SQL_CheckForErrors(DatabaseB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}
Tene32 is offline
foxhound27
AlliedModders Donor
Join Date: Sep 2019
Location: Argentina
Old 12-22-2019 , 17:10   Re: [Error] What does it mean?
Reply With Quote #4

just add this to ur databases.cfg

PHP Code:
    "adminstime"
    
{
        
"driver"             "mysql"
        "host"                "yourhostmysql"
        "database"            "databasename"
        "user"                "user"
        "pass"                "password"
    


Last edited by foxhound27; 12-22-2019 at 17:11.
foxhound27 is offline
Tene32
Junior Member
Join Date: May 2017
Old 12-23-2019 , 15:59   Re: [Error] What does it mean?
Reply With Quote #5

Quote:
Originally Posted by foxhound27 View Post
just add this to ur databases.cfg

PHP Code:
    "adminstime"
    
{
        
"driver"             "mysql"
        "host"                "yourhostmysql"
        "database"            "databasename"
        "user"                "user"
        "pass"                "password"
    

ok i added once again , and it still does not work
Tene32 is offline
foxhound27
AlliedModders Donor
Join Date: Sep 2019
Location: Argentina
Old 12-23-2019 , 18:52   Re: [Error] What does it mean?
Reply With Quote #6

you also need to show us this one PickUp_Stats.smx <-
foxhound27 is offline
foxhound27
AlliedModders Donor
Join Date: Sep 2019
Location: Argentina
Old 12-23-2019 , 18:53   Re: [Error] What does it mean?
Reply With Quote #7

check if this table is created "times" <-

CREATE TABLE IF NOT EXISTS `times` (`steamId` VARCHAR(32) NOT NULL, `name` VARCHAR(64) NOT NULL, `serverIp` VARCHAR(32) NOT NULL, `minutes` INT NOT NULL DEFAULT 0);

otherwise go to ur php my admin and paste that code
foxhound27 is offline
Tene32
Junior Member
Join Date: May 2017
Old 12-24-2019 , 15:09   Re: [Error] What does it mean?
Reply With Quote #8

Quote:
Originally Posted by foxhound27 View Post
you also need to show us this one PickUp_Stats.smx <-
Quote:
check if this table is created "times" <-

CREATE TABLE IF NOT EXISTS `times` (`steamId` VARCHAR(32) NOT NULL, `name` VARCHAR(64) NOT NULL, `serverIp` VARCHAR(32) NOT NULL, `minutes` INT NOT NULL DEFAULT 0);
where exactly do i need to add it?

this is pickup_stats.smx

Quote:

this is the pickup_stats.smx :
public PlVers:__version =
{
version = 5,
filevers = "1.8.0.5914",
date = "05/15/2019",
time = "21:42:46"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
name = "Core",
file = "core",
autoload = 0,
required = 0,
};
new MaxClients;
public Extension:__ext_cstrike =
{
name = "cstrike",
file = "games/game.cstrike.ext",
autoload = 0,
required = 1,
};
public SharedPlugin:__pl_PickUp_Core =
{
name = "PickUp_Core.smx",
file = "PickUp_Core.smx",
required = 1,
};
new Database:g_dDatabase;
new String:g_szCurrentMap[256];
new String:g_szRecordName[512];
new String:g_szAuth[66][32];
new bool:g_bInsert[66];
new Float:g_fRWS[66];
new g_iRoundPassed;
new g_iMatchID;
new g_iPlanter = -1;
new g_iDefuser = -1;
new g_iTeamDamage[2];
new g_iClutchPlayers[66];
new g_iClutch[66][6];
new g_iDamage[66];
new g_iKills[66];
new g_iTotalDeaths[66];
new g_iTotalHS[66];
new g_iTotalKills[66];
new g_iSpecialKills[66][6];
public void:__ext_core_SetNTVOptional()
{
MarkNativeAsOptional("GetFeatureStatus");
MarkNativeAsOptional("RequireFeature");
MarkNativeAsOptional("AddCommandListener");
MarkNativeAsOptional("RemoveCommandListener") ;
MarkNativeAsOptional("BfWriteBool");
MarkNativeAsOptional("BfWriteByte");
MarkNativeAsOptional("BfWriteChar");
MarkNativeAsOptional("BfWriteShort");
MarkNativeAsOptional("BfWriteWord");
MarkNativeAsOptional("BfWriteNum");
MarkNativeAsOptional("BfWriteFloat");
MarkNativeAsOptional("BfWriteString");
MarkNativeAsOptional("BfWriteEntity");
MarkNativeAsOptional("BfWriteAngle");
MarkNativeAsOptional("BfWriteCoord");
MarkNativeAsOptional("BfWriteVecCoord");
MarkNativeAsOptional("BfWriteVecNormal");
MarkNativeAsOptional("BfWriteAngles");
MarkNativeAsOptional("BfReadBool");
MarkNativeAsOptional("BfReadByte");
MarkNativeAsOptional("BfReadChar");
MarkNativeAsOptional("BfReadShort");
MarkNativeAsOptional("BfReadWord");
MarkNativeAsOptional("BfReadNum");
MarkNativeAsOptional("BfReadFloat");
MarkNativeAsOptional("BfReadString");
MarkNativeAsOptional("BfReadEntity");
MarkNativeAsOptional("BfReadAngle");
MarkNativeAsOptional("BfReadCoord");
MarkNativeAsOptional("BfReadVecCoord");
MarkNativeAsOptional("BfReadVecNormal");
MarkNativeAsOptional("BfReadAngles");
MarkNativeAsOptional("BfGetNumBytesLeft");
MarkNativeAsOptional("BfWrite.WriteBool");
MarkNativeAsOptional("BfWrite.WriteByte");
MarkNativeAsOptional("BfWrite.WriteChar");
MarkNativeAsOptional("BfWrite.WriteShort");
MarkNativeAsOptional("BfWrite.WriteWord");
MarkNativeAsOptional("BfWrite.WriteNum");
MarkNativeAsOptional("BfWrite.WriteFloat");
MarkNativeAsOptional("BfWrite.WriteString");
MarkNativeAsOptional("BfWrite.WriteEntity");
MarkNativeAsOptional("BfWrite.WriteAngle");
MarkNativeAsOptional("BfWrite.WriteCoord");
MarkNativeAsOptional("BfWrite.WriteVecCoord") ;
MarkNativeAsOptional("BfWrite.WriteVecNormal" );
MarkNativeAsOptional("BfWrite.WriteAngles");
MarkNativeAsOptional("BfRead.ReadBool");
MarkNativeAsOptional("BfRead.ReadByte");
MarkNativeAsOptional("BfRead.ReadChar");
MarkNativeAsOptional("BfRead.ReadShort");
MarkNativeAsOptional("BfRead.ReadWord");
MarkNativeAsOptional("BfRead.ReadNum");
MarkNativeAsOptional("BfRead.ReadFloat");
MarkNativeAsOptional("BfRead.ReadString");
MarkNativeAsOptional("BfRead.ReadEntity");
MarkNativeAsOptional("BfRead.ReadAngle");
MarkNativeAsOptional("BfRead.ReadCoord");
MarkNativeAsOptional("BfRead.ReadVecCoord");
MarkNativeAsOptional("BfRead.ReadVecNormal");
MarkNativeAsOptional("BfRead.ReadAngles");
MarkNativeAsOptional("BfRead.GetNumBytesLeft" );
MarkNativeAsOptional("PbReadInt");
MarkNativeAsOptional("PbReadFloat");
MarkNativeAsOptional("PbReadBool");
MarkNativeAsOptional("PbReadString");
MarkNativeAsOptional("PbReadColor");
MarkNativeAsOptional("PbReadAngle");
MarkNativeAsOptional("PbReadVector");
MarkNativeAsOptional("PbReadVector2D");
MarkNativeAsOptional("PbGetRepeatedFieldCount ");
MarkNativeAsOptional("PbSetInt");
MarkNativeAsOptional("PbSetFloat");
MarkNativeAsOptional("PbSetBool");
MarkNativeAsOptional("PbSetString");
MarkNativeAsOptional("PbSetColor");
MarkNativeAsOptional("PbSetAngle");
MarkNativeAsOptional("PbSetVector");
MarkNativeAsOptional("PbSetVector2D");
MarkNativeAsOptional("PbAddInt");
MarkNativeAsOptional("PbAddFloat");
MarkNativeAsOptional("PbAddBool");
MarkNativeAsOptional("PbAddString");
MarkNativeAsOptional("PbAddColor");
MarkNativeAsOptional("PbAddAngle");
MarkNativeAsOptional("PbAddVector");
MarkNativeAsOptional("PbAddVector2D");
MarkNativeAsOptional("PbRemoveRepeatedFieldVa lue");
MarkNativeAsOptional("PbReadMessage");
MarkNativeAsOptional("PbReadRepeatedMessage") ;
MarkNativeAsOptional("PbAddMessage");
MarkNativeAsOptional("Protobuf.ReadInt");
MarkNativeAsOptional("Protobuf.ReadFloat");
MarkNativeAsOptional("Protobuf.ReadBool");
MarkNativeAsOptional("Protobuf.ReadString");
MarkNativeAsOptional("Protobuf.ReadColor");
MarkNativeAsOptional("Protobuf.ReadAngle");
MarkNativeAsOptional("Protobuf.ReadVector");
MarkNativeAsOptional("Protobuf.ReadVector2D") ;
MarkNativeAsOptional("Protobuf.GetRepeatedFie ldCount");
MarkNativeAsOptional("Protobuf.SetInt");
MarkNativeAsOptional("Protobuf.SetFloat");
MarkNativeAsOptional("Protobuf.SetBool");
MarkNativeAsOptional("Protobuf.SetString");
MarkNativeAsOptional("Protobuf.SetColor");
MarkNativeAsOptional("Protobuf.SetAngle");
MarkNativeAsOptional("Protobuf.SetVector");
MarkNativeAsOptional("Protobuf.SetVector2D");
MarkNativeAsOptional("Protobuf.AddInt");
MarkNativeAsOptional("Protobuf.AddFloat");
MarkNativeAsOptional("Protobuf.AddBool");
MarkNativeAsOptional("Protobuf.AddString");
MarkNativeAsOptional("Protobuf.AddColor");
MarkNativeAsOptional("Protobuf.AddAngle");
MarkNativeAsOptional("Protobuf.AddVector");
MarkNativeAsOptional("Protobuf.AddVector2D");
MarkNativeAsOptional("Protobuf.RemoveRepeated FieldValue");
MarkNativeAsOptional("Protobuf.ReadMessage");
MarkNativeAsOptional("Protobuf.ReadRepeatedMe ssage");
MarkNativeAsOptional("Protobuf.AddMessage");
VerifyCoreVersion();
return void:0;
}

boolperator>(_:,Float(oper1, Floatper2)
{
return float(oper1) > oper2;
}

boolperator>(_:,Float(oper1, Floatper2)
{
return float(oper1) > oper2;
}

bool:StrEqual(String:str1[], String:str2[], bool:caseSensitive)
{
return strcmp(str1, str2, caseSensitive) == 0;
}

voidrintToChatAll(String:format[])
{
new String:buffer[256];
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
SetGlobalTransTarget(i);
VFormat(buffer, 254, format, 2);
PrintToChat(i, "%s", buffer);
}
i++;
}
return void:0;
}

public void:OnPluginStart()
{
SQL_MakeConnection();
HookEvent("player_hurt", Event_PlayerHurt, EventHookMode:1);
HookEvent("player_death", Event_PlayerDeath, EventHookMode:1);
HookEvent("round_start", Event_RoundStart, EventHookMode:1);
HookEvent("round_end", Event_RoundEnd, EventHookMode:1);
HookEvent("bomb_planted", Event_BombPlanted, EventHookMode:1);
HookEvent("bomb_defused", Event_BombDefused, EventHookMode:1);
HookEvent("player_team", Event_PlayerTeam, EventHookMode:1);
return void:0;
}

public void:OnClientPostAdminCheck(client)
{
if (!GetClientAuthId(client, AuthIdType:1, g_szAuth[client], 66, true))
{
KickClient(client, "Verification problem, Please reconnect");
return void:0;
}
if (StrEqual(g_szAuth[client], "BOT", true))
{
return void:0;
}
g_fRWS[client] = 0;
g_iKills[client] = 0;
g_iTotalDeaths[client] = 0;
g_iTotalHS[client] = 0;
g_iTotalKills[client] = 0;
g_iSpecialKills[client][2] = 0;
g_iSpecialKills[client][3] = 0;
g_iSpecialKills[client][4] = 0;
g_iSpecialKills[client][5] = 0;
g_iClutch[client][1] = 0;
g_iClutch[client][2] = 0;
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
g_bInsert[client] = 1;
}
else
{
g_bInsert[client] = 0;
}
SQL_CheckPlayer(client);
return void:0;
}

public void:OnClientDisconnect(client)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
SQL_DeletePlayer(g_szAuth[client]);
}
return void:0;
}

public voidU_OnMatchStart()
{
GetCurrentMap(g_szCurrentMap, 256);
g_iRoundPassed = 0;
StartRecord();
SQL_RegisterMatch();
return void:0;
}

public voidU_OnMatchEnd(winnersTeam)
{
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
new var1;
if (winnersTeam == GetClientTeam(i))
{
var1 = true;
}
else
{
var1 = false;
}
SQL_UpdatePlayer(i, var1);
}
i++;
}
CreateTimer(2.1, Timer_StopRecord, any:0, 0);
return void:0;
}

public Action:Timer_StopRecord(Handle:timer)
{
StopRecord();
return Action:0;
}

public Action:Event_PlayerTeam(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
if (g_bInsert[client])
{
SQL_InsertPlayer(client, g_szAuth[client]);
}
}
return Action:0;
}

public Action:Event_BombPlanted(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
g_iPlanter = client;
}
return Action:0;
}

public Action:Event_BombDefused(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
g_iDefuser = client;
}
return Action:0;
}

public Action:Event_PlayerHurt(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (!PU_IsMatchRunning() || PU_GetRoundType() == 1)
{
return Action:0;
}
new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
new attacker = GetClientOfUserId(Event.GetInt(event, "attacker", 0));
new var2;
if (!attacker || !client || client != attacker)
{
return Action:0;
}
new damage = Event.GetInt(event, "dmg_health", 0);
new var4 = g_iDamage[attacker];
var4 = var4[damage];
new var3;
if (GetClientTeam(attacker) == 2)
{
var3 = 0;
}
else
{
var3 = 1;
}
new var5 = g_iTeamDamage[var3];
var5 = var5[damage];
return Action:0;
}

public Action:Event_RoundStart(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
g_iPlanter = -1;
g_iDefuser = -1;
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
g_iKills[i] = 0;
g_iDamage[i] = 0;
new var2;
if (g_iRoundPassed > 0)
{
var2 = g_fRWS[i] / float(g_iRoundPassed);
}
else
{
var2 = 0;
}
PrintToChat(i, "%s Your current RWS is \x02%.2f\x01.", " \x04[Gamers-IL]\x01", var2);
}
i++;
}
g_iTeamDamage[0] = 0;
g_iTeamDamage[1] = 0;
}
return Action:0;
}

public Action:Event_RoundEnd(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
SQL_UpdateMatch(CS_GetTeamScore(GetClientTeam (PU_GetLeader(0))), CS_GetTeamScore(GetClientTeam(PU_GetLeader(1) )));
g_iRoundPassed += 1;
new iWinners = Event.GetInt(event, "winner", 0);
new iReason = Event.GetInt(event, "reason", 0);
if (iReason != 7)
{
g_iDefuser = -1;
}
if (iReason != 1)
{
g_iPlanter = -1;
}
new i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
if (iWinners == GetClientTeam(i))
{
new Float:fEarned = 0.0;
new var2;
if (i != g_iDefuser && i != g_iPlanter)
{
fEarned += 30.0;
}
if (g_iDamage[i] > 0)
{
new var3;
if (g_iDefuser == -1 && g_iPlanter == -1)
{
new var4;
if (GetClientTeam(i) == 2)
{
var4 = 0;
}
else
{
var4 = 1;
}
fEarned += float(g_iDamage[i]) / float(g_iTeamDamage[var4]) * 70.0;
}
new var5;
if (GetClientTeam(i) == 2)
{
var5 = 0;
}
else
{
var5 = 1;
}
fEarned += float(g_iDamage[i]) / float(g_iTeamDamage[var5]) * 100.0;
}
new var6 = g_fRWS[i];
var6 = var6[fEarned];
PrintToChat(i, "%s You earned \x02%.2f \x01RWS in this round.", " \x04[Gamers-IL]\x01", fEarned);
if (0 < g_iClutchPlayers[i])
{
g_iClutch[i][g_iClutchPlayers[i]]++;
}
g_iClutchPlayers[i] = 0;
}
if (!StrEqual(g_szAuth[i], "BOT", true))
{
SQL_UpdateStats(i);
SQL_UpdatePlayer(i, false);
}
}
i++;
}
}
return Action:0;
}

public Action:Event_PlayerDeath(Event:event, String:name[], bool:dontBroadcast)
{
new var1;
if (PU_IsMatchRunning() && PU_GetRoundType() == 1)
{
new client = GetClientOfUserId(Event.GetInt(event, "userid", 0));
new attacker = GetClientOfUserId(Event.GetInt(event, "attacker", 0));
new var2;
if (!client || !attacker || attacker != client)
{
return Action:0;
}
g_iKills[attacker]++;
g_iTotalKills[attacker]++;
if (Event.GetBool(event, "headshot", false))
{
g_iTotalHS[attacker]++;
}
g_iTotalDeaths[client]++;
if (g_iKills[attacker] > 2)
{
if (g_iKills[attacker] < 5)
{
PrintToChatAll("%s \x02%N \x01just did a \x04%iK \x01in this round.", " \x04[Gamers-IL]\x01", attacker, g_iKills[attacker]);
}
else
{
PrintToChatAll("%s \x02%N \x01just did an \x04ACE \x01in this round.", " \x04[Gamers-IL]\x01", attacker);
}
g_iSpecialKills[attacker][g_iKills[attacker]]++;
}
new attackerAlives = GetAliveCountTeam(GetClientTeam(attacker));
new clientAlives = GetAliveCountTeam(GetClientTeam(attacker)) + -1;
new var3;
if (attackerAlives == 1 && g_iClutchPlayers[attacker])
{
g_iClutchPlayers[client] = clientAlives;
}
else
{
if (clientAlives == 1)
{
new lastAlive = -1;
new i = 1;
while (i <= MaxClients)
{
new var4;
if (IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(client) == GetClientTeam(i))
{
lastAlive = i;
}
i++;
}
if (g_iClutchPlayers[lastAlive])
{
g_iClutchPlayers[lastAlive] = attackerAlives;
}
}
}
}
return Action:0;
}

void:StartRecord()
{
new iStamp = GetTime({0,0});
FormatTime(g_szRecordName, 512, "%d_%m_%y-%H_%M", iStamp);
Format(g_szRecordName, 512, "%s-%s.dem", g_szRecordName, g_szCurrentMap);
ServerCommand("tv_record %s", g_szRecordName);
LogMessage("Started a TV Record, File name: %s", g_szRecordName);
return void:0;
}

void:StopRecord()
{
ServerCommand("tv_stoprecord");
return void:0;
}

void:SQL_MakeConnection()
{
if (g_dDatabase)
{
CloseHandle(g_dDatabase);
g_dDatabase = MissingTAG:0;
}
new String:szError[512];
g_dDatabase = SQL_Connect("pickup", true, szError, 512);
if (!g_dDatabase)
{
SetFailState("Cannot connect to database, error: %s", szError);
}
SQL_CreateTables();
return void:0;
}

void:SQL_CreateTables()
{
return void:0;
}

void:SQL_CheckPlayer(iClient)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "SELECT * FROM `players` WHERE `auth` = '%s'", g_szAuth[iClient]);
Database.Query(g_dDatabase, SQLQueryCallback:57, szQuery, GetClientSerial(iClient), DBPriority:1);
return void:0;
}

public void:SQL_CheckPlayer_CB(DatabaseB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
if (!(SQL_GetRowCount(results)))
{
new String:szQuery[512];
new String:szName[32];
new iClient = GetClientFromSerial(data);
GetClientName(iClient, szName, 32);
new len = strlen(szName) * 2 + 1;
new szEscapedName[len];
Database.Escape(g_dDatabase, szName, szEscapedName, len, 0);
FormatEx(szQuery, 512, "INSERT INTO `players` (auth, name, kills, deaths, assists, headshots, mvps, score, rws, rwssum, matchcount, wins, 2k, 3k, 4k, 5k, 1v1, 1v2, 1v3, 1v4, 1v5, elo) VALUES ('%s', '%s', 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)", g_szAuth[iClient], szEscapedName);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
}
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

void:SQL_UpdateStats(client)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "UPDATE `matchstats` SET `team` = %i, `kills` = %i, `deaths` = %i, `assists` = %i, `headshots` = %i, `mvps` = %i, `score` = %i, `rws` = '%f', `2k` = %i, `3k` = %i, `4k` = %i, `5k` = %i, `1v1` = %i, `1v2` = %i WHERE `auth` = '%s' AND `matchid` = %i", GetClientTeam(client), g_iTotalKills[client], g_iTotalDeaths[client], CS_GetClientAssists(client), g_iTotalHS[client], CS_GetMVPCount(client), CS_GetClientContributionScore(client), g_fRWS[client] / float(g_iRoundPassed), g_iSpecialKills[client][2], g_iSpecialKills[client][3], g_iSpecialKills[client][4], g_iSpecialKills[client][5], g_iClutch[client][1], g_iClutch[client][2], g_szAuth[client], g_iMatchID);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
return void:0;
}

void:SQL_RegisterMatch()
{
new String:szQuery[512];
FormatEx(szQuery, 512, "SELECT `total_games` FROM `info`");
Database.Query(g_dDatabase, SQLQueryCallback:59, szQuery, any:0, DBPriority:1);
return void:0;
}

public void:SQL_RegisterMatch_CB(DatabaseB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
if (DBResultSet.FetchRow(results))
{
g_iMatchID = DBResultSet.FetchInt(results, 0, 0);
new String:szQuery[512];
FormatEx(szQuery, 512, "UPDATE `info` SET `total_games` = `total_games` + 1");
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
FormatEx(szQuery, 512, "INSERT INTO `matches` (`matchid`,`teamAid`,`teamBid`,`scoreA`,`scor eB`,`date`,`map`,`demo`) VALUES ('%i',0,0,0,0,'%i','%s','%s')", g_iMatchID, GetTime({0,0}), g_szCurrentMap, g_szRecordName);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
new i = 1;
while (i <= MaxClients)
{
new var1;
if (IsClientInGame(i) && GetClientTeam(i) != 1)
{
SQL_InsertPlayer(i, g_szAuth[i]);
}
i++;
}
}
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

void:SQL_InsertPlayer(client, String:auth[])
{
new String:szQuery[512];
FormatEx(szQuery, 512, "INSERT INTO `matchstats` (`matchid`, `auth`, `team`, `kills`, `deaths`, `assists`, `headshots`, `mvps`, `score`, `rws`, `2k`, `3k`, `4k`, `5k`, `1v1`, `1v2`) VALUES ('%i', '%s', '%i', '%i', '%i', '%i', '%i', '%i', '%i', '%.2f', '%i', '%i', '%i', '%i', '%i', '%i')", g_iMatchID, auth, GetClientTeam(client), g_iTotalKills[client], g_iTotalDeaths[client], CS_GetClientAssists(client), g_iTotalHS[client], CS_GetMVPCount(client), CS_GetClientContributionScore(client), g_fRWS[client] / float(g_iRoundPassed), g_iSpecialKills[client][2], g_iSpecialKills[client][3], g_iSpecialKills[client][4], g_iSpecialKills[client][5], g_iClutch[client][1], g_iClutch[client][2]);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
return void:0;
}

void:SQL_UpdatePlayer(client, bool:winner)
{
new String:szQuery[512];
new String:szName[32];
if (StrEqual(g_szAuth[client], "BOT", true))
{
return void:0;
}
GetClientName(client, szName, 32);
new len = strlen(szName) * 2 + 1;
new szEscapedName[len];
Database.Escape(g_dDatabase, szName, szEscapedName, len, 0);
new var1;
if (winner)
{
var1 = 1;
}
else
{
var1 = 0;
}
FormatEx(szQuery, 512, "UPDATE `players` SET `name` = '%s', `kills` = `kills` + %i, `deaths` = `deaths` + %i, `assists` = `assists` + %i, `headshots` = `headshots` + %i, `mvps` = `mvps` + %i, `score`= `score` + %i, `rwssum` = `rwssum` + %.2f, `matchcount` = `matchcount` + 1, `wins` = `wins` + %i, `2k` = `2k` + %i, `3k` = `3k` + %i, `4k` = `4k` + %i, `5k` = `5k` + %i, `1v1` = `1v1` + %i,`1v2` = `1v2` + %i,`1v3` = `1v3` + %i,`1v4` = `1v4` + %i,`1v5` = `1v5` + %i, `rws` = `rwssum`/`matchcount` WHERE `auth` = '%s'", szEscapedName, g_iTotalKills[client], g_iTotalDeaths[client], CS_GetClientAssists(client), g_iTotalHS[client], CS_GetMVPCount(client), CS_GetClientContributionScore(client), g_fRWS[client] / float(g_iRoundPassed), var1, g_iSpecialKills[client][2], g_iSpecialKills[client][3], g_iSpecialKills[client][4], g_iSpecialKills[client][5], g_iClutch[client][1], g_iClutch[client][2], g_iClutch[client][3], g_iClutch[client][4], g_iClutch[client][5], g_szAuth[client]);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
return void:0;
}

void:SQL_DeletePlayer(String:auth[])
{
new String:szQuery[512];
FormatEx(szQuery, 512, "DELETE FROM `matchstats` WHERE `matchid` = %i AND `auth` = '%s'", g_iMatchID, auth);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
return void:0;
}

void:SQL_UpdateMatch(scoreA, scoreB)
{
new String:szQuery[512];
FormatEx(szQuery, 512, "UPDATE `matches` SET `scoreA` = %i, `scoreB` = %i WHERE `matchid` = %i", scoreA, scoreB, g_iMatchID);
Database.Query(g_dDatabase, SQLQueryCallback:55, szQuery, any:0, DBPriority:1);
return void:0;
}

public void:SQL_CheckErrors_CB(DatabaseB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

GetAliveCountTeam(team)
{
new count;
new i = 1;
while (i <= MaxClients)
{
new var1;
if (IsClientInGame(i) && team == GetClientTeam(i) && IsPlayerAlive(i))
{
count++;
}
i++;
}
return count;
}

Last edited by Tene32; 12-24-2019 at 15:11.
Tene32 is offline
foxhound27
AlliedModders Donor
Join Date: Sep 2019
Location: Argentina
Old 01-07-2020 , 15:20   Re: [Error] What does it mean?
Reply With Quote #9

you need a lot of tables lol for pickup_stats.smx matches, matchstats, players and also need the same

"pickup"
{
"driver" "mysql"
"host" "yourhostmysql"
"database" "databasename"
"user" "user"
"pass" "password"
}
foxhound27 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:18.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode