added squery logs, removed methods, changed alter table, fixed some qoutes probably, changed some checking with mysql
This commit is contained in:
		
							parent
							
								
									a3f69e7719
								
							
						
					
					
						commit
						63fa29c720
					
				@ -42,10 +42,6 @@ public Plugin myinfo =
 | 
				
			|||||||
	url = "www.unloze.com"
 | 
						url = "www.unloze.com"
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void OnConfigsExecuted()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
        Database.Connect(SQL_OnDatabaseConnect, "racetimercss");
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose: 
 | 
					// Purpose: 
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -107,15 +103,20 @@ public void SQL_OnConnectFinished(Database db, DBResultSet results, const char[]
 | 
				
			|||||||
                        OnClientPostAdminCheck(i);
 | 
					                        OnClientPostAdminCheck(i);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void SQL_OnQueryCompleted(Database db, DBResultSet results, const char[] error, any data)
 | 
					public void SQL_OnQueryCompleted(Database db, DBResultSet results, const char[] error, DataPack data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						ResetPack(data);
 | 
				
			||||||
 | 
						int client_serial = data.ReadCell();
 | 
				
			||||||
	if (!db || strlen(error))
 | 
						if (!db || strlen(error))
 | 
				
			||||||
	{
 | 
					        {
 | 
				
			||||||
		LogError("Query error: %s", error);
 | 
					                char sQuery[g_dLength];
 | 
				
			||||||
 | 
					                data.ReadString(sQuery, sizeof(sQuery));
 | 
				
			||||||
 | 
							LogError("Query error 1: %s", error);   
 | 
				
			||||||
 | 
					                LogError("actual query: %s", sQuery);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
					        }
 | 
				
			||||||
	int client;
 | 
						int client;
 | 
				
			||||||
	if ((client = GetClientFromSerial(data)) == 0)
 | 
						if ((client = GetClientFromSerial(client_serial)) == 0)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	if (results.RowCount && results.FetchRow())
 | 
						if (results.RowCount && results.FetchRow())
 | 
				
			||||||
		results.FetchString(0, g_csTime_record[client], sizeof(g_csTime_record));
 | 
							results.FetchString(0, g_csTime_record[client], sizeof(g_csTime_record));
 | 
				
			||||||
@ -127,70 +128,39 @@ public void MYSQLCheckMapEntry()
 | 
				
			|||||||
        int l_iZoneCount = unloze_zoneCount();
 | 
					        int l_iZoneCount = unloze_zoneCount();
 | 
				
			||||||
        char sQuery[g_dLength];
 | 
					        char sQuery[g_dLength];
 | 
				
			||||||
        char l_cZoneIndexName[g_dIndex][g_dLength];
 | 
					        char l_cZoneIndexName[g_dIndex][g_dLength];
 | 
				
			||||||
        if (l_iZoneCount < 2)
 | 
						if (l_iZoneCount == 1)
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
                Format(sQuery, sizeof(sQuery), "SELECT `%s` FROM `zetimer_table` LIMIT 1", g_cMapname);
 | 
					 | 
				
			||||||
                g_dDatabase.Query(SQL_OnQueryCompleted1, sQuery, _);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        else
 | 
					 | 
				
			||||||
                for (int iterator = 0; iterator <= l_iZoneCount; iterator++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                        if (IsCorrectZone(iterator, l_cZoneIndexName[iterator][g_dLength -1], "ZONE_PREFIX_RACE"))
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                                l_iRaceCount++;
 | 
					 | 
				
			||||||
                                Format(sQuery, sizeof(sQuery), "SELECT `%sS%i` FROM `zetimer_table` LIMIT 1", g_cMapname, l_iRaceCount);
 | 
					 | 
				
			||||||
                                g_dDatabase.Query(SQL_OnQueryCompleted1, sQuery, _);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public void SQL_OnQueryCompleted1(Database db, DBResultSet results, const char[] error, any data)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
        if (!db)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
                LogError("Query error: %s", error);
 | 
					 | 
				
			||||||
                return;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
	int l_iRaceCount;
 | 
					 | 
				
			||||||
        int l_iZoneCount = unloze_zoneCount();
 | 
					 | 
				
			||||||
        char sQuery[g_dLength];
 | 
					 | 
				
			||||||
        char l_cZoneIndexName[g_dIndex][g_dLength];
 | 
					 | 
				
			||||||
        if (results == null)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
                if (l_iZoneCount == 1)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                        Format(sQuery, sizeof(sQuery), "ALTER TABLE `zetimer_table` ADD COLUMN `%s` VARCHAR(256) DEFAULT '0.000' NOT NULL", g_cMapname);
 | 
					 | 
				
			||||||
			g_dDatabase.Query(SQL_FinishedQuery_mute_error, sQuery, _, DBPrio_High);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                        //this might seem repetitive but one null check adds all required coloumns
 | 
					 | 
				
			||||||
                        for (int iterator = 0; iterator <= l_iZoneCount; iterator++)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                                if (IsCorrectZone(iterator, l_cZoneIndexName[iterator][g_dLength -1], "ZONE_PREFIX_RACE"))
 | 
					 | 
				
			||||||
                                {
 | 
					 | 
				
			||||||
                                        l_iRaceCount++;
 | 
					 | 
				
			||||||
                                        Format(sQuery, sizeof(sQuery), "ALTER TABLE `zetimer_table` ADD COLUMN `%sS%i` VARCHAR(256) DEFAULT '0.000' NOT NULL", g_cMapname, l_iRaceCount);
 | 
					 | 
				
			||||||
					g_dDatabase.Query(SQL_FinishedQuery_mute_error, sQuery, _, DBPrio_High);
 | 
					 | 
				
			||||||
                                }
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public void SQL_FinishedQuery(Database db, DBResultSet results, const char[] error, any data)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	if (!db || strlen(error))
 | 
					 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		LogError("Query error: %s", error);
 | 
							Format(sQuery, sizeof(sQuery), "ALTER TABLE `zetimer_table` ADD COLUMN IF NOT EXISTS `%s` VARCHAR(256) DEFAULT '0.000' NOT NULL", g_cMapname);
 | 
				
			||||||
		return;
 | 
							DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
					        	hDataPack.WriteString(sQuery);
 | 
				
			||||||
 | 
							g_dDatabase.Query(SQL_FinishedQuery, sQuery, hDataPack, DBPrio_High);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (int iterator = 0; iterator <= l_iZoneCount; iterator++)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (IsCorrectZone(iterator, l_cZoneIndexName[iterator][g_dLength -1], "ZONE_PREFIX_RACE"))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									l_iRaceCount++;
 | 
				
			||||||
 | 
									Format(sQuery, sizeof(sQuery), "ALTER TABLE `zetimer_table` ADD COLUMN IF NOT EXISTS `%sS%i` VARCHAR(256) DEFAULT '0.000' NOT NULL", g_cMapname, l_iRaceCount);
 | 
				
			||||||
 | 
									DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
					        			hDataPack.WriteString(sQuery);
 | 
				
			||||||
 | 
									g_dDatabase.Query(SQL_FinishedQuery, sQuery, hDataPack, DBPrio_High);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void SQL_FinishedQuery_mute_error(Database db, DBResultSet results, const char[] error, any data)
 | 
					public void SQL_FinishedQuery(Database db, DBResultSet results, const char[] error, DataPack data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
        if (!db)
 | 
						if (!db || strlen(error))
 | 
				
			||||||
                return;
 | 
						{
 | 
				
			||||||
 | 
							char sQuery[g_dLength];
 | 
				
			||||||
 | 
							ResetPack(data);
 | 
				
			||||||
 | 
							data.ReadString(sQuery, sizeof(sQuery));
 | 
				
			||||||
 | 
							LogError("Query error 3: %s", error); 
 | 
				
			||||||
 | 
							LogError("actual query: %s", sQuery);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void OnMapStart()
 | 
					public void OnMapStart()
 | 
				
			||||||
@ -204,7 +174,7 @@ public void OnMapStart()
 | 
				
			|||||||
	GetConVarString(hHostName, line, sizeof(line));
 | 
						GetConVarString(hHostName, line, sizeof(line));
 | 
				
			||||||
	if (StrContains(line, "EVENT", false) > -1)
 | 
						if (StrContains(line, "EVENT", false) > -1)
 | 
				
			||||||
		g_bEventBool = true;
 | 
							g_bEventBool = true;
 | 
				
			||||||
	AutoExecConfig();
 | 
						Database.Connect(SQL_OnDatabaseConnect, "racetimercss");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -264,6 +234,7 @@ public void Event_RoundStart(Handle event, const char[] name, bool dontBroadcast
 | 
				
			|||||||
public void OnClientPostAdminCheck(int client)
 | 
					public void OnClientPostAdminCheck(int client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	resetClient(client);
 | 
						resetClient(client);
 | 
				
			||||||
 | 
						insertPlayerMYSQL(client);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose: 
 | 
					// Purpose: 
 | 
				
			||||||
@ -307,7 +278,6 @@ public void OnPlayerRunCmdPost(int client, int buttons, int impulse, const float
 | 
				
			|||||||
		g_bHumansAllowedTime[client] = false;
 | 
							g_bHumansAllowedTime[client] = false;
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}	
 | 
						}	
 | 
				
			||||||
		
 | 
					 | 
				
			||||||
	if (g_bHumansAllowedTime[client] && (GetClientTeam(client) == CS_TEAM_CT) && IsPlayerAlive(client))
 | 
						if (g_bHumansAllowedTime[client] && (GetClientTeam(client) == CS_TEAM_CT) && IsPlayerAlive(client))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		int frameCap = 11;
 | 
							int frameCap = 11;
 | 
				
			||||||
@ -539,28 +509,50 @@ public int RetrieveZoneIndex(char[] zone)
 | 
				
			|||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
public void FinishedStageRaceZone(int client)
 | 
					public void FinishedStageRaceZone(int client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						char sSID[g_dIndex];
 | 
				
			||||||
 | 
					        char sName[MAX_NAME_LENGTH];
 | 
				
			||||||
 | 
					        GetClientAuthId(client, AuthId_Steam2, sSID, sizeof(sSID));
 | 
				
			||||||
 | 
					        GetClientName(client, sName, sizeof(sName));
 | 
				
			||||||
 | 
					        int size2 = 2 * strlen(sName) + 1;
 | 
				
			||||||
 | 
					        char[] sEscapedName = new char[size2 + 1];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        g_dDatabase.Escape(sName, sEscapedName, size2 + 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (StrEqual(sSID, "STEAM_ID_STOP_IGNORING_RETVALS") || StrEqual(sSID, "STEAM_ID_PENDING"))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					                PrintToChat(client, "Your steam ID is not working, not updating timer");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int l_iZoneCount = unloze_zoneCount();
 | 
						int l_iZoneCount = unloze_zoneCount();
 | 
				
			||||||
	char record_client[32];
 | 
						char record_client[32];
 | 
				
			||||||
	Format(record_client, sizeof(record_client), g_csTime_record[client]);
 | 
						Format(record_client, sizeof(record_client), g_csTime_record[client]);
 | 
				
			||||||
	float client_time = client_current_race_time(client);
 | 
						float client_time = client_current_race_time(client);
 | 
				
			||||||
        char sTime[32];
 | 
					        char sTime[32];
 | 
				
			||||||
        FormatPlayerTime(client_time, sTime, sizeof(sTime), false, 1);
 | 
					        FormatPlayerTime(client_time, sTime, sizeof(sTime), false, 1);
 | 
				
			||||||
	float old_record = StringToFloat(record_client);
 | 
					 | 
				
			||||||
        float new_time = StringToFloat(sTime);
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	if (l_iZoneCount > 1)
 | 
						if (l_iZoneCount > 1)
 | 
				
			||||||
                CPrintToChat(client, "{green}[UNLOZE] Stage: %i", player_stage[client]);
 | 
					                CPrintToChat(client, "{green}[UNLOZE] Stage: %i", player_stage[client]);
 | 
				
			||||||
        CPrintToChat(client, "{green}[UNLOZE] Client: %N Time: %s", client, sTime);
 | 
					        CPrintToChat(client, "{green}[UNLOZE] Client: %N Time: %s", client, sTime);
 | 
				
			||||||
 | 
						int stage = player_stage[client];
 | 
				
			||||||
 | 
						char sQuery[g_dLength];
 | 
				
			||||||
 | 
						if (l_iZoneCount < 2)
 | 
				
			||||||
 | 
					        	Format(sQuery, sizeof(sQuery), "UPDATE `zetimer_table` SET `%s` = %s, name = '%s' WHERE steam_auth = '%s' and LENGTH(`%s`) >= LENGTH(%s) and STRCMP(`%s`, %s) > 0", g_cMapname, sTime, sEscapedName, sSID, g_cMapname, sTime, g_cMapname, sTime);
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					        	Format(sQuery, sizeof(sQuery), "UPDATE `zetimer_table` SET `%sS%i` = %s, name = '%s' WHERE steam_auth = '%s' and LENGTH(`%sS%i`) >= LENGTH(%s) and STRCMP(`%sS%i`, %s) > 0", g_cMapname, stage, sTime, sEscapedName, sSID, g_cMapname, stage, sTime, g_cMapname, stage, sTime);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	if (old_record == 0.0)
 | 
						if (StrEqual(record_client, "0.000"))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		CPrintToChat(client, "Your record: None yet\nCommand: !toptime !mytime !stages");
 | 
							CPrintToChat(client, "Your record: None yet\nCommand: !toptime !mytime !stages");
 | 
				
			||||||
		sendMYSQL(client, sTime, player_stage[client]);
 | 
							if (l_iZoneCount < 2)
 | 
				
			||||||
		return;
 | 
								Format(sQuery, sizeof(sQuery), "UPDATE `zetimer_table` SET `%s` = %s, name = '%s' WHERE steam_auth = '%s'", g_cMapname, sTime, sEscapedName, sSID);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								Format(sQuery, sizeof(sQuery), "UPDATE `zetimer_table` SET `%sS%i` = %s, name = '%s' WHERE steam_auth = '%s'", g_cMapname, stage, sTime, sEscapedName, sSID);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	CPrintToChat(client, "Your record: %s\nCommand: !toptime !mytime !stages", record_client);
 | 
						else
 | 
				
			||||||
	if (new_time < old_record)
 | 
							CPrintToChat(client, "Your record: %s\nCommand: !toptime !mytime !stages", record_client);
 | 
				
			||||||
		sendMYSQL(client, sTime, player_stage[client]);
 | 
					        DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
					        hDataPack.WriteString(sQuery);
 | 
				
			||||||
 | 
					        g_dDatabase.Query(SQL_FinishedQuery, sQuery, hDataPack, DBPrio_High);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose: 
 | 
					// Purpose: 
 | 
				
			||||||
@ -574,7 +566,10 @@ public void mysql_get_player_time(int client, int stage)
 | 
				
			|||||||
		Format(query, sizeof(query), "SELECT `%s` FROM `zetimer_table` where steam_auth = '%s'", g_cMapname, steam_auth);
 | 
							Format(query, sizeof(query), "SELECT `%s` FROM `zetimer_table` where steam_auth = '%s'", g_cMapname, steam_auth);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		Format(query, sizeof(query), "SELECT `%sS%i` FROM `zetimer_table` where steam_auth = '%s'", g_cMapname, stage, steam_auth);
 | 
							Format(query, sizeof(query), "SELECT `%sS%i` FROM `zetimer_table` where steam_auth = '%s'", g_cMapname, stage, steam_auth);
 | 
				
			||||||
	g_dDatabase.Query(SQL_OnQueryCompleted, query, GetClientSerial(client));
 | 
						DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
						hDataPack.WriteCell(GetClientSerial(client));
 | 
				
			||||||
 | 
					        hDataPack.WriteString(query);
 | 
				
			||||||
 | 
						g_dDatabase.Query(SQL_OnQueryCompleted, query, hDataPack);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -596,34 +591,27 @@ public int GetTotalRaceZones()
 | 
				
			|||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose: 
 | 
					// Purpose: 
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
public void sendMYSQL(int client, char[] sTime, int stage)
 | 
					public void insertPlayerMYSQL(int client)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int l_iZoneCount = unloze_zoneCount();
 | 
						if (!IsValidClient(client))
 | 
				
			||||||
	char sSID[g_dIndex];
 | 
					 | 
				
			||||||
	char sQuery[g_dLength];
 | 
					 | 
				
			||||||
	char sName[MAX_NAME_LENGTH];
 | 
					 | 
				
			||||||
	GetClientAuthId(client, AuthId_Steam2, sSID, sizeof(sSID));
 | 
					 | 
				
			||||||
	GetClientName(client, sName, sizeof(sName));
 | 
					 | 
				
			||||||
	int size2 = 2 * strlen(sName) + 1;
 | 
					 | 
				
			||||||
	char[] sEscapedName = new char[size2 + 1];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	g_dDatabase.Escape(sName, sEscapedName, size2 + 1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (StrEqual(sSID, "STEAM_ID_STOP_IGNORING_RETVALS") || StrEqual(sSID, "STEAM_ID_PENDING"))
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		PrintToChat(client, "Your steam ID is not working, not updating timer");
 | 
					 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						char sSID[g_dIndex];
 | 
				
			||||||
	if (l_iZoneCount < 2)
 | 
					        char sQuery[g_dLength];
 | 
				
			||||||
	{
 | 
					        char sName[MAX_NAME_LENGTH];
 | 
				
			||||||
		Format(sQuery, sizeof(sQuery), "INSERT INTO `zetimer_table` (`steam_auth`, `name`, `%s`) VALUES ('%s', '%s', '%s') ON DUPLICATE KEY UPDATE `name` = '%s', `%s` = '%s'", g_cMapname, sSID, sEscapedName, sTime, sEscapedName, g_cMapname, sTime);
 | 
					        GetClientAuthId(client, AuthId_Steam2, sSID, sizeof(sSID));
 | 
				
			||||||
	}
 | 
					        GetClientName(client, sName, sizeof(sName));
 | 
				
			||||||
	else
 | 
					        int size2 = 2 * strlen(sName) + 1;
 | 
				
			||||||
	{
 | 
					        char[] sEscapedName = new char[size2 + 1];
 | 
				
			||||||
		Format(sQuery, sizeof(sQuery), "INSERT INTO `zetimer_table` (`steam_auth`, `name`, `%sS%i`) VALUES ('%s', '%s', '%s') ON DUPLICATE KEY UPDATE `name` = '%s', `%sS%i` = '%s'", g_cMapname, stage, sSID, sEscapedName, sTime, sEscapedName, g_cMapname, stage, sTime);
 | 
					        g_dDatabase.Escape(sName, sEscapedName, size2 + 1);
 | 
				
			||||||
	}
 | 
						if (StrEqual(sSID, "STEAM_ID_STOP_IGNORING_RETVALS") || StrEqual(sSID, "STEAM_ID_PENDING"))
 | 
				
			||||||
	g_dDatabase.Query(SQL_FinishedQuery, sQuery, _, DBPrio_High);
 | 
					        {
 | 
				
			||||||
	CPrintToChat(client, "Updated timer");
 | 
					                PrintToChat(client, "Your steam ID is not working, not updating timer");
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
						Format(sQuery, sizeof(sQuery), "INSERT INTO `zetimer_table` (`steam_auth`, `name`) VALUES ('%s', '%s') ON DUPLICATE KEY UPDATE `name` = '%s'", sSID, sEscapedName, sEscapedName);
 | 
				
			||||||
 | 
						DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
					        hDataPack.WriteString(sQuery);
 | 
				
			||||||
 | 
					        g_dDatabase.Query(SQL_FinishedQuery, sQuery, hDataPack, DBPrio_High);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -657,18 +645,27 @@ public void CheckTop(int client, int index, int autismstate)
 | 
				
			|||||||
		Format(sQuery, sizeof(sQuery), "SELECT name, `%s` FROM `zetimer_table` WHERE `%s` != 0.000 ORDER BY LENGTH(`%s`) ASC, `%s` ASC LIMIT 10", g_cMapname, g_cMapname, g_cMapname, g_cMapname);
 | 
							Format(sQuery, sizeof(sQuery), "SELECT name, `%s` FROM `zetimer_table` WHERE `%s` != 0.000 ORDER BY LENGTH(`%s`) ASC, `%s` ASC LIMIT 10", g_cMapname, g_cMapname, g_cMapname, g_cMapname);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		Format(sQuery, sizeof(sQuery), "SELECT name, `%sS%i` FROM `zetimer_table` WHERE `%sS%i` != 0.000 ORDER BY LENGTH(`%sS%i`) ASC, `%sS%i` ASC LIMIT 10", g_cMapname, index, g_cMapname, index,  g_cMapname, index, g_cMapname, index);
 | 
							Format(sQuery, sizeof(sQuery), "SELECT name, `%sS%i` FROM `zetimer_table` WHERE `%sS%i` != 0.000 ORDER BY LENGTH(`%sS%i`) ASC, `%sS%i` ASC LIMIT 10", g_cMapname, index, g_cMapname, index,  g_cMapname, index, g_cMapname, index);
 | 
				
			||||||
	g_dDatabase.Query(SQL_Select_Top_Callback, sQuery, GetClientSerial(client));
 | 
						DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
						hDataPack.WriteCell(GetClientSerial(client));
 | 
				
			||||||
 | 
						hDataPack.WriteString(sQuery);
 | 
				
			||||||
 | 
						g_dDatabase.Query(SQL_Select_Top_Callback, sQuery, hDataPack);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void SQL_Select_Top_Callback(Database db, DBResultSet results, const char[] error, any data)
 | 
					public void SQL_Select_Top_Callback(Database db, DBResultSet results, const char[] error, DataPack data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
        if(!db || strlen(error))
 | 
						ResetPack(data);
 | 
				
			||||||
 | 
						int client_serial = data.ReadCell();
 | 
				
			||||||
 | 
						if (!db || strlen(error))
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
                LogError("Database error: %s", error);
 | 
					                char sQuery[g_dLength];
 | 
				
			||||||
                return;
 | 
					                data.ReadString(sQuery, sizeof(sQuery));
 | 
				
			||||||
 | 
							LogError("Query error 2: %s", error);   
 | 
				
			||||||
 | 
					                LogError("actual query: %s", sQuery);
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int iclient;
 | 
						int iclient;
 | 
				
			||||||
	if ((iclient = GetClientFromSerial(data)) == 0)
 | 
						if ((iclient = GetClientFromSerial(client_serial)) == 0)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
        int l_iPosition;
 | 
					        int l_iPosition;
 | 
				
			||||||
	char sTime[g_dLength];
 | 
						char sTime[g_dLength];
 | 
				
			||||||
@ -832,17 +829,14 @@ public Action cmd_timerCheckSelf(int client, int args)
 | 
				
			|||||||
public void deleteClientTime(char[] steam2, int stage)
 | 
					public void deleteClientTime(char[] steam2, int stage)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	char l_cQuery[g_dLength];
 | 
						char l_cQuery[g_dLength];
 | 
				
			||||||
	if (stage > 1)
 | 
						int l_iZoneCount = unloze_zoneCount();
 | 
				
			||||||
	{
 | 
						if (l_iZoneCount > 1)
 | 
				
			||||||
		Format(l_cQuery, sizeof(l_cQuery), "UPDATE `zetimer_table` SET `%sS%i` = '0.000' WHERE steam_auth = '%s'", g_cMapname, stage, steam2);
 | 
							Format(l_cQuery, sizeof(l_cQuery), "UPDATE `zetimer_table` SET `%sS%i` = '0.000' WHERE steam_auth = '%s'", g_cMapname, stage, steam2);
 | 
				
			||||||
	} 
 | 
					 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		Format(l_cQuery, sizeof(l_cQuery), "UPDATE `zetimer_table` SET `%s` = '0.000' WHERE steam_auth = '%s'", g_cMapname, steam2);
 | 
							Format(l_cQuery, sizeof(l_cQuery), "UPDATE `zetimer_table` SET `%s` = '0.000' WHERE steam_auth = '%s'", g_cMapname, steam2);
 | 
				
			||||||
		g_dDatabase.Query(SQL_FinishedQuery, l_cQuery, _, DBPrio_High);
 | 
						DataPack hDataPack = new DataPack();
 | 
				
			||||||
		Format(l_cQuery, sizeof(l_cQuery), "UPDATE `zetimer_table` SET `%sS1` = '0.000' WHERE steam_auth = '%s'", g_cMapname, steam2);
 | 
					        hDataPack.WriteString(l_cQuery);
 | 
				
			||||||
	}
 | 
						g_dDatabase.Query(SQL_FinishedQuery, l_cQuery, hDataPack, DBPrio_High);
 | 
				
			||||||
	g_dDatabase.Query(SQL_FinishedQuery_mute_error, l_cQuery, _, DBPrio_High);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose:
 | 
					// Purpose:
 | 
				
			||||||
@ -861,7 +855,10 @@ public void Checkself(int client)
 | 
				
			|||||||
	if (l_iZoneCount < 2)
 | 
						if (l_iZoneCount < 2)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		Format(l_cQuery, sizeof(l_cQuery), "SELECT name, `%s` FROM `zetimer_table` WHERE steam_auth = '%s'", g_cMapname, l_cSID);
 | 
							Format(l_cQuery, sizeof(l_cQuery), "SELECT name, `%s` FROM `zetimer_table` WHERE steam_auth = '%s'", g_cMapname, l_cSID);
 | 
				
			||||||
		g_dDatabase.Query(SQL_CheckSelf, l_cQuery, GetClientSerial(client));
 | 
							DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
							hDataPack.WriteCell(GetClientSerial(client));
 | 
				
			||||||
 | 
					        	hDataPack.WriteString(l_cQuery);
 | 
				
			||||||
 | 
							g_dDatabase.Query(SQL_CheckSelf, l_cQuery, hDataPack);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		CheckStagesOnMap(client, 1);
 | 
							CheckStagesOnMap(client, 1);
 | 
				
			||||||
@ -875,24 +872,32 @@ public void CheckStageSelf(int client, int selection)
 | 
				
			|||||||
	char l_cSID[g_dIndex];
 | 
						char l_cSID[g_dIndex];
 | 
				
			||||||
	GetClientAuthId(client, AuthId_Steam2, l_cSID, sizeof(l_cSID));
 | 
						GetClientAuthId(client, AuthId_Steam2, l_cSID, sizeof(l_cSID));
 | 
				
			||||||
	Format(l_cQuery, sizeof(l_cQuery), "SELECT name, `%sS%i` FROM `zetimer_table` WHERE steam_auth = '%s'", g_cMapname, selection, l_cSID);
 | 
						Format(l_cQuery, sizeof(l_cQuery), "SELECT name, `%sS%i` FROM `zetimer_table` WHERE steam_auth = '%s'", g_cMapname, selection, l_cSID);
 | 
				
			||||||
	g_dDatabase.Query(SQL_CheckSelf, l_cQuery, GetClientSerial(client));
 | 
						DataPack hDataPack = new DataPack();
 | 
				
			||||||
 | 
						hDataPack.WriteCell(GetClientSerial(client));
 | 
				
			||||||
 | 
						hDataPack.WriteString(l_cQuery);
 | 
				
			||||||
 | 
						g_dDatabase.Query(SQL_CheckSelf, l_cQuery, hDataPack);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
// Purpose:
 | 
					// Purpose:
 | 
				
			||||||
//----------------------------------------------------------------------------------------------------
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
public void SQL_CheckSelf(Database db, DBResultSet results, const char[] error, any data)
 | 
					public void SQL_CheckSelf(Database db, DBResultSet results, const char[] error, DataPack data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
        if(!db || strlen(error))
 | 
						ResetPack(data);
 | 
				
			||||||
 | 
					        int client_serial = data.ReadCell();
 | 
				
			||||||
 | 
						if (!db || strlen(error))
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
                LogError("Database error: %s", error);
 | 
					                char sQuery[g_dLength];
 | 
				
			||||||
 | 
					                data.ReadString(sQuery, sizeof(sQuery));
 | 
				
			||||||
 | 
							LogError("Query error 4: %s", error);   
 | 
				
			||||||
 | 
					                LogError("actual query: %s", sQuery);
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
	char sTime[g_dLength];
 | 
						char sTime[g_dLength];
 | 
				
			||||||
        char l_cMessageContent[g_dLength];
 | 
					        char l_cMessageContent[g_dLength];
 | 
				
			||||||
        char[] l_cPlayerName = new char[MAX_NAME_LENGTH];
 | 
					        char[] l_cPlayerName = new char[MAX_NAME_LENGTH];
 | 
				
			||||||
        int iclient;
 | 
					        int iclient;
 | 
				
			||||||
	if ((iclient = GetClientFromSerial(data)) == 0)
 | 
						if ((iclient = GetClientFromSerial(client_serial)) == 0)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	if (results.RowCount && results.FetchRow())
 | 
						if (results.RowCount && results.FetchRow())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user