AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting (https://forums.alliedmods.net/forumdisplay.php?f=107)
-   -   [Error] What does it mean? (https://forums.alliedmods.net/showthread.php?t=320440)

Tene32 12-22-2019 09:07

[Error] What does it mean?
 
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)

LeeStrong 12-22-2019 10:15

Re: [Error] What does it mean?
 
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)

Tene32 12-22-2019 11:16

Re: [Error] What does it mean?
 
Quote:

Originally Posted by LeeStrong (Post 2677716)
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, 8);
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:3;
}

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

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(Database:DB, 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(Database:DB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
new client = GetClientFromSerial(data);
new Menu:menu = Menu.Menu(Handler_TimesMenu, MenuAction:28);
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(Database:DB, DBResultSet:results, String:error[], any:data)
{
if (results)
{
return void:0;
}
LogError("Failed to query, error: %s", error);
return void:0;
}

foxhound27 12-22-2019 17:10

Re: [Error] What does it mean?
 
just add this to ur databases.cfg

PHP Code:

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



Tene32 12-23-2019 15:59

Re: [Error] What does it mean?
 
Quote:

Originally Posted by foxhound27 (Post 2677759)
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 :(

foxhound27 12-23-2019 18:52

Re: [Error] What does it mean?
 
you also need to show us this one PickUp_Stats.smx <-

foxhound27 12-23-2019 18:53

Re: [Error] What does it mean?
 
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

Tene32 12-24-2019 15:09

Re: [Error] What does it mean?
 
Quote:

Originally Posted by foxhound27 (Post 2677862)
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;
}

bool:operator>(_:,Float:)(oper1, Float:oper2)
{
return float(oper1) > oper2;
}

bool:operator>(_:,Float:)(oper1, Float:oper2)
{
return float(oper1) > oper2;
}

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

void:PrintToChatAll(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 void:PU_OnMatchStart()
{
GetCurrentMap(g_szCurrentMap, 256);
g_iRoundPassed = 0;
StartRecord();
SQL_RegisterMatch();
return void:0;
}

public void:PU_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(Database:DB, 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(Database:DB, 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(Database:DB, 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;
}

foxhound27 01-07-2020 15:20

Re: [Error] What does it mean?
 
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"
}


All times are GMT -4. The time now is 19:07.

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