· 8 years ago · Jul 01, 2018, 08:46 AM
1public MySQLInit()
2{
3 g_SqlTuple = SQL_MakeDbTuple("", "", "", SQL_DB);
4
5 new ErrorCode, Handle:SqlConnection = SQL_Connect(g_SqlTuple, ErrorCode, g_Error, charsmax(g_Error))
6
7 if(SqlConnection == Empty_Handle)
8 set_fail_state(g_Error)
9
10 new Handle:Queries;
11 Queries = SQL_PrepareQuery(SqlConnection, "CREATE TABLE IF NOT EXISTS fragsrank (steamid varchar(32),frags INT(11))")
12
13 if(!SQL_Execute(Queries))
14 {
15 SQL_QueryError(Queries, g_Error, charsmax(g_Error))
16 set_fail_state(g_Error)
17 }
18
19 SQL_FreeHandle(Queries)
20 SQL_FreeHandle(SqlConnection)
21}
22
23public MySQLCoreFunction(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
24{
25 if(FailState == TQUERY_CONNECT_FAILED)
26 log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
27 else if(FailState == TQUERY_QUERY_FAILED)
28 log_amx("Load Query failed. [%d] %s", Errcode, Error)
29
30 new id = Data[0];
31
32 if(SQL_NumResults(Query) < 1)
33 {
34 if(equal(g_iSteamID[id], "ID_PENDING"))
35 return PLUGIN_HANDLED;
36
37 new szTemp[512];
38 format(szTemp,charsmax(szTemp), "INSERT INTO `fragsrank` ( `steamid` , `exp`)VALUES ('%s','0');", g_iSteamID[id])
39
40 SQL_ThreadQuery(g_SqlTuple, "IgnoreHandle", szTemp)
41 }
42 else
43 g_iTotalKills[id] = SQL_ReadResult(Query, 1)
44
45 return PLUGIN_HANDLED
46}
47
48public IgnoreHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
49{
50 SQL_FreeHandle(Query)
51
52 return PLUGIN_HANDLED;
53}
54
55public LoadMySQL(id)
56{
57 new szTemp[512];
58
59 new Data[1];
60 Data[0] = id;
61
62 format(szTemp, charsmax(szTemp), "SELECT * FROM `fragsrank` WHERE (`fragsrank`.`steamid` = '%s')", g_iSteamID[id])
63 SQL_ThreadQuery(g_SqlTuple, "MySQL_CoreFunction", szTemp, Data, 1)
64}
65
66public SaveMySQL(id)
67{
68 new szTemp[512];
69 format(szTemp, charsmax(szTemp), "UPDATE `fragsrank` SET `frags` = '%i' WHERE `fragsrank`.`steamid` = '%s';", g_iTotalKills[id], g_iSteamID[id])
70
71 SQL_ThreadQuery(g_SqlTuple, "IgnoreHandle", szTemp)
72}