· 5 years ago · Jul 09, 2020, 08:06 PM
1#include <sourcemod>
2#include <SteamWorks>
3char error_waac[255];
4Database WAAC;
5char server_port[10];
6char ip[32];
7char comunidade[MAX_NAME_LENGTH];
8public void OnPluginStart()
9{
10 WAAC = SQL_Connect("storage-local", true, error_waac, sizeof(error_waac));
11 if (WAAC == null)
12 {
13 SetFailState("Error in databse: %s", error_waac);
14 return Plugin_Stop;
15 }
16 else {
17
18 Request_Inicio();
19 }
20
21}
22
23
24public Request_Inicio()
25{
26 Handle cvar_port = FindConVar("hostport");
27 GetConVarString(cvar_port, server_port, sizeof(server_port));
28 CloseHandle(cvar_port);
29 Handle gameIP;
30 gameIP = FindConVar("ip");
31 GetConVarString(gameIP, ip, 32);
32
33 Handle req = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, "http://esports4web.com/waac");
34 SteamWorks_SetHTTPCallbacks(req, Request_Sucesso);
35 SteamWorks_SetHTTPRequestGetOrPostParameter(req, "ip", ip);
36 SteamWorks_SetHTTPRequestGetOrPostParameter(req, "server_port", server_port);
37 SteamWorks_SetHTTPRequestHeaderValue(req, "User-Agent", "WAAC System of Whitelist");
38 SteamWorks_SendHTTPRequest(req);
39}
40
41public Request_Sucesso(Handle hRequest, bool bFailure, bool bRequestSuccessful, EHTTPStatusCode eStatusCode)
42{
43 if (bRequestSuccessful)
44 {
45 int length;
46 char query[100];
47 char Nome[100];
48 char obtem[100];
49 SteamWorks_GetHTTPResponseBodySize(hRequest, length);
50 char[] sBody = new char[length];
51 SteamWorks_GetHTTPResponseBodyData(hRequest, sBody, length);
52 Format(Nome, sizeof(Nome), "%s", sBody)
53 SQL_FastQuery(WAAC, "CREATE TABLE IF NOT EXISTS waac (name VARCHAR(100) NOT NULL PRIMARY KEY);");
54 Format(obtem, sizeof(obtem), "UPDATE waac SET name ='%s'", Nome);
55 SQL_Query(WAAC, obtem);
56 Obtem_Nome_Query();
57
58 }
59 else
60 {
61 SetFailState("This server is not allowed in our records!");
62 return Plugin_Stop;
63 }
64
65}
66
67void Define_Nome(Handle query)
68{
69 while (SQL_FetchRow(query))
70 {
71 SQL_FetchString(query, 0, comunidade, sizeof(comunidade));
72 PrintToServer("Nome da Comunidade \"%s\"", comunidade); //Aqui, comunidade já é uma string normal.
73 }
74}
75
76
77bool Obtem_Nome_Query()
78{
79 char query[100];
80 Format(query, sizeof(query), "SELECT name FROM waac ORDER BY name LIMIT 1");
81
82 DBResultSet hQuery = SQL_Query(WAAC, query);
83 if (hQuery == null)
84 {
85 return false;
86 }
87
88 Define_Nome(hQuery);
89 delete hQuery;
90 return true;
91}