· 6 years ago · Apr 24, 2019, 02:34 AM
1/#include <amxmodx>
2#include <reapi>
3#include <jctf>
4#include <sqlx>
5
6new const PLUGIN [] = "VSC - TOP 5 and RANK";
7new const VERSION [] = "1.0";
8new const AUTHOR [] = "Alejandro-.";
9new const iTag [] = "^4[^3 CBP^4 ]^1"
10#define TASK_ID(%0) (taskid-%0)
11
12#define SQLX_DATABASE "Rank"
13#define SQLX_TABLA "Info"
14new Handle:g_query, Handle:g_tuple
15
16new TASK1 = 12412;
17
18enum _:DT_TYPEDEATH
19{
20 FRAGS,
21 AVATAR[300],
22 URL[128],
23 STEAMID[33],
24 NAME[33],
25 HEADSHOT,
26 MUERTES,
27 C_FLAG_RED,
28 C_FLAG_BLUE,
29 R_FLAG_RED,
30 R_FLAG_BLUE,
31 DAMAGE,
32 EXITOS,
33 SEGUNDOS,
34 MINUTOS,
35 HORAS,
36 DIAS
37}
38new g_TYPEDEATH[33][DT_TYPEDEATH]
39
40new iMaxPlayers;
41
42native get_steam_url(id, iBuffer[], len)
43native get_steam_avatar(id, iBuffer[], len)
44
45public plugin_init()
46{
47 register_plugin(PLUGIN, VERSION, AUTHOR);
48
49 register_clcmd("say top5", "top5");
50 register_clcmd("say top", "top5");
51 register_clcmd("say_team top5", "top5");
52 register_clcmd("say_team top", "top5")
53 register_clcmd("say rank", "rank");
54 register_clcmd("say_team rank", "rank");
55
56 register_clcmd("say stats", "stats");
57 register_clcmd("say_team stats", "stats");
58 register_event("DeathMsg", "DeathMsg", "a");
59 register_event("Damage", "pfn_EVENT_damage", "b");
60
61 iMaxPlayers = get_maxplayers()
62
63 SQLXInit()
64}
65
66public SQLXInit()
67{
68 new get_type[12]
69 SQL_SetAffinity("sqlite")
70 SQL_GetAffinity(get_type, sizeof(get_type))
71
72 if (!equali(get_type, "sqlite"))
73 {
74 log_to_file("SQLX.log", "Driver no encontrado")
75 pause("a")
76 }
77 else
78 {
79 static error, szError[300]
80 g_query = SQL_MakeDbTuple("", "", "", SQLX_DATABASE)
81 g_tuple = SQL_Connect(g_query, error, szError, 300)
82 if (strlen(szError))
83 {
84 log_to_file("ErrorSQL.log", szError)
85 pause("a")
86 }
87 CheckTabla()
88 }
89}
90public CheckTabla()
91{
92 /* Creamos la tabla si no existe*/
93 new szTemp[768]
94 formatex(szTemp, charsmax(szTemp), "CREATE TABLE IF NOT EXISTS '%s' (`STEAMID` varchar(33) NOT NULL default '' PRIMARY KEY,`NAME` varchar(33) NOT NULL default '',`AVATAR` varchar(33) NOT NULL default '',`URL` varchar(33) NOT NULL default '',`FRAGS` int NOT NULL default 0,`MUERTES` int NOT NULL default 0,`HEADSHOT` int NOT NULL default 0,`C_FLAG_RED` int NOT NULL default 0,`C_FLAG_BLUE` int NOT NULL default 0,`R_FLAG_RED` int NOT NULL default 0,`R_FLAG_BLUE` int NOT NULL default 0,`DAMAGE` int NOT NULL default 0,`EXITOS` int NOT NULL default 0,`SEGUNDOS` int NOT NULL default 0,`MINUTOS` int NOT NULL default 0,`HORAS` int NOT NULL default 0,`DIAS` int NOT NULL default 0)",
95 SQLX_TABLA)
96 g_query = SQL_PrepareQuery(g_tuple, szTemp)
97 if (SQL_Execute(g_query)) {
98 server_print("Se realizo el registro")
99 }
100 else server_print("Error en el registro")
101
102}
103
104public DeathMsg()
105{
106 new A = read_data(1);
107 new V = read_data(2);
108 new HS = read_data(3);
109
110 if(A == V || !is_user_connected(A) || !is_user_connected(V))
111 return;
112
113 g_TYPEDEATH[A][FRAGS]++
114 g_TYPEDEATH[V][MUERTES]++
115 if(HS) g_TYPEDEATH[A][HEADSHOT]++;
116 Guardar(A)
117}
118public pfn_EVENT_damage(id)
119{
120 new a = get_user_attacker(id)
121 new damage = read_data(2)
122
123 if(!is_user_alive(a) || !(1 <= a <= iMaxPlayers) || a == id || damage <= 0)
124 {
125 return
126 }
127
128 g_TYPEDEATH[a][DAMAGE] += damage
129 g_TYPEDEATH[a][EXITOS]++;
130}
131public jctf_flag(event, id, flagteam){
132
133 if(!is_user_connected(id)) return
134 new iTeams = get_user_team(id)
135
136 switch(event) {
137
138 case FLAG_RETURNED: {
139 if(iTeams == 1) g_TYPEDEATH[id][R_FLAG_RED]++;
140 else if(iTeams == 2) g_TYPEDEATH[id][R_FLAG_BLUE]++;
141 }
142 case FLAG_CAPTURED: {
143 if(iTeams == 2) g_TYPEDEATH[id][C_FLAG_RED]++;
144 else if(iTeams == 1) g_TYPEDEATH[id][C_FLAG_BLUE]++;
145 }
146 }
147}
148
149public count_time(id)
150{
151 id -= TASK1
152 if(g_TYPEDEATH[id][SEGUNDOS] < 60)
153 {
154 g_TYPEDEATH[id][SEGUNDOS]++
155 }
156 else if(g_TYPEDEATH[id][SEGUNDOS] >= 60 && g_TYPEDEATH[id][MINUTOS] < 60)
157 {
158 g_TYPEDEATH[id][MINUTOS]++
159 g_TYPEDEATH[id][SEGUNDOS] = 0
160 }
161 else if(g_TYPEDEATH[id][MINUTOS] >= 60 && g_TYPEDEATH[id][HORAS] < 60)
162 {
163 g_TYPEDEATH[id][HORAS]++
164 g_TYPEDEATH[id][MINUTOS] = 0
165 }
166 else if(g_TYPEDEATH[id][HORAS] >= 24)
167 {
168 g_TYPEDEATH[id][DIAS]++
169 }
170}
171public default_data(id){
172 if(is_user_hltv(id) ||is_user_bot(id)) return
173 new szSteamID[32]
174 get_user_authid(id, szSteamID, charsmax(szSteamID))
175
176 formatex(g_TYPEDEATH[id][AVATAR], 299, "")
177 formatex(g_TYPEDEATH[id][URL], 127, "")
178 formatex(g_TYPEDEATH[id][STEAMID], 32, szSteamID)
179 get_user_name(id, g_TYPEDEATH[id][NAME], 32)
180 g_TYPEDEATH[id][FRAGS] = 0;
181 g_TYPEDEATH[id][HEADSHOT] = 0
182 g_TYPEDEATH[id][MUERTES] = 0
183 g_TYPEDEATH[id][C_FLAG_RED] = 0
184 g_TYPEDEATH[id][C_FLAG_BLUE] = 0
185 g_TYPEDEATH[id][R_FLAG_RED] = 0
186 g_TYPEDEATH[id][R_FLAG_BLUE] = 0
187 g_TYPEDEATH[id][DAMAGE] = 0
188 g_TYPEDEATH[id][EXITOS] = 0
189 g_TYPEDEATH[id][SEGUNDOS] = 0
190 g_TYPEDEATH[id][MINUTOS] = 0
191 g_TYPEDEATH[id][HORAS] = 0
192 g_TYPEDEATH[id][DIAS] = 0
193}
194public client_putinserver(id){
195
196 default_data(id)
197 Registar(id);
198 Cargar(id);
199 if(is_user_steam(id)){
200 get_steam_avatar(id, g_TYPEDEATH[id][AVATAR], 299)
201 get_steam_url(id, g_TYPEDEATH[id][URL], 127)
202 }
203 set_task(1.0, "count_time", id+TASK1, _, _, "b");
204 set_task(4.0, "Bienvenida", id);
205
206}
207public client_disconnected(id)
208{
209 if(task_exists(id+TASK1)) remove_task(id+TASK1)
210}
211public Registar(id) {
212 if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)) return
213
214 new szTemp[2048]
215
216 formatex(szTemp, charsmax(szTemp), "INSERT INTO %s (FRAGS,AVATAR,URL,STEAMID,NAME,HEADSHOT,MUERTES,C_FLAG_RED,C_FLAG_BLUE,R_FLAG_RED,R_FLAG_BLUE,DAMAGE,EXITOS,SEGUNDOS,MINUTOS,HORAS,DIAS) VALUES ('%i','%s','%s','%s','%s','%i','%i','%i','%i','%i','%i','%i','%i','%i','%i','%i','%i')",
217 SQLX_TABLA,
218 g_TYPEDEATH[id][FRAGS],
219 g_TYPEDEATH[id][AVATAR],
220 g_TYPEDEATH[id][URL],
221 g_TYPEDEATH[id][STEAMID],
222 g_TYPEDEATH[id][NAME],
223 g_TYPEDEATH[id][HEADSHOT],
224 g_TYPEDEATH[id][MUERTES],
225 g_TYPEDEATH[id][C_FLAG_RED],
226 g_TYPEDEATH[id][C_FLAG_BLUE],
227 g_TYPEDEATH[id][R_FLAG_RED],
228 g_TYPEDEATH[id][R_FLAG_BLUE],
229 g_TYPEDEATH[id][DAMAGE],
230 g_TYPEDEATH[id][EXITOS],
231 g_TYPEDEATH[id][SEGUNDOS],
232 g_TYPEDEATH[id][MINUTOS],
233 g_TYPEDEATH[id][HORAS],
234 g_TYPEDEATH[id][DIAS] )
235
236
237 g_query = SQL_PrepareQuery(g_tuple, szTemp) /* Actualizamos datos previos a guardar*/
238
239 if (SQL_Execute(g_query)) /*Se realizo bien la consulta...*/
240 {
241 console_print(id, "No se encontro resultados, creando nuevos datos...")
242 }
243 else console_print(id, "Error al registrar")
244
245
246}
247public Cargar(id) {
248 if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)) return
249
250 new szSteamID[32], szTemp[256]
251 get_user_authid(id, szSteamID, charsmax(szSteamID))
252 formatex(szTemp, charsmax(szTemp), "SELECT `STEAMID`, `NAME`, `AVATAR`, `URL`, `FRAGS`, `MUERTES`, `HEADSHOT`, `C_FLAG_RED`, `C_FLAG_BLUE`, `R_FLAG_RED`, `R_FLAG_BLUE`, `DAMAGE`, `EXITOS`, `SEGUNDOS`, `MINUTOS`, `HORAS`, `DIAS` FROM %s WHERE ^"STEAMID^" = ^"%s^"", SQLX_TABLA, szSteamID)
253 g_query = SQL_PrepareQuery(g_tuple,szTemp)
254
255 if (SQL_Execute(g_query)) /* Se realizo bien la consulta...*/
256 {
257 SQL_ReadResult(g_query, 1, g_TYPEDEATH[id][NAME], 32)
258 SQL_ReadResult(g_query, 2, g_TYPEDEATH[id][AVATAR], 299)
259 SQL_ReadResult(g_query, 3, g_TYPEDEATH[id][URL], 1287)
260
261 g_TYPEDEATH[id][FRAGS] = SQL_ReadResult(g_query, 4)
262 g_TYPEDEATH[id][MUERTES] = SQL_ReadResult(g_query, 5)
263 g_TYPEDEATH[id][HEADSHOT] = SQL_ReadResult(g_query, 6)
264 g_TYPEDEATH[id][C_FLAG_RED] = SQL_ReadResult(g_query, 7)
265 g_TYPEDEATH[id][C_FLAG_BLUE] = SQL_ReadResult(g_query, 8)
266 g_TYPEDEATH[id][R_FLAG_RED] = SQL_ReadResult(g_query, 9)
267 g_TYPEDEATH[id][R_FLAG_BLUE] = SQL_ReadResult(g_query, 10)
268 g_TYPEDEATH[id][DAMAGE] = SQL_ReadResult(g_query, 11)
269 g_TYPEDEATH[id][EXITOS] = SQL_ReadResult(g_query, 12)
270 g_TYPEDEATH[id][SEGUNDOS] = SQL_ReadResult(g_query, 13)
271 g_TYPEDEATH[id][MINUTOS] = SQL_ReadResult(g_query, 14)
272 g_TYPEDEATH[id][HORAS] = SQL_ReadResult(g_query, 15)
273 g_TYPEDEATH[id][DIAS] = SQL_ReadResult(g_query, 16)
274
275 console_print(id, "Datos Cargados")
276 }
277 else console_print(id, "Error al Cargar :(")
278
279}
280public Guardar(id) {
281
282 new szName[33], szTemp[2048]
283 get_user_name(id, szName, charsmax(szName))
284 /* Seteamos las nuevas Identificador*/
285 formatex(szTemp, charsmax(szTemp), "UPDATE %s SET `NAME`=^"%s^",`AVATAR`=^"%s^",`URL`=^"%s^",`FRAGS`=^"%i^",`MUERTES`=^"%i^",`HEADSHOT`=^"%i^",`C_FLAG_RED`=^"%i^",`C_FLAG_BLUE`=^"%i^",`R_FLAG_RED`=^"%i^",`R_FLAG_BLUE`=^"%i^",`DAMAGE`=^"%i^",`EXITOS`=^"%i^",`SEGUNDOS`=^"%i^",`MINUTOS`=^"%i^",`HORAS`=^"%i^",`DIAS`=^"%i^" WHERE STEAMID = ^"%s^"",
286 SQLX_TABLA,
287 g_TYPEDEATH[id][NAME],
288 g_TYPEDEATH[id][AVATAR],
289 g_TYPEDEATH[id][URL],
290 g_TYPEDEATH[id][FRAGS],
291 g_TYPEDEATH[id][HEADSHOT],
292 g_TYPEDEATH[id][MUERTES],
293 g_TYPEDEATH[id][C_FLAG_RED],
294 g_TYPEDEATH[id][C_FLAG_BLUE],
295 g_TYPEDEATH[id][R_FLAG_RED],
296 g_TYPEDEATH[id][R_FLAG_BLUE],
297 g_TYPEDEATH[id][DAMAGE],
298 g_TYPEDEATH[id][EXITOS],
299 g_TYPEDEATH[id][SEGUNDOS],
300 g_TYPEDEATH[id][MINUTOS],
301 g_TYPEDEATH[id][HORAS],
302 g_TYPEDEATH[id][DIAS],
303 g_TYPEDEATH[id][STEAMID]
304 )
305
306 g_query = SQL_PrepareQuery(g_tuple, szTemp)
307 /* Ejecutamos la consulta para asi guardar los nuevos datos*/
308 if(SQL_Execute(g_query))
309 {
310 console_print(id, "Datos Actualizados")
311
312 }
313 else{
314 console_print(id, "Error Actualizar datos")
315
316 }
317}
318
319
320public stats(id)
321{
322 if(is_user_steam(id)){
323 get_steam_avatar(id, g_TYPEDEATH[id][AVATAR], 299)
324 get_steam_url(id, g_TYPEDEATH[id][URL], 127)
325 Guardar(id)
326 }
327 new motd[ 1536 ];
328 static len;
329 len = 0;
330 new name[32];
331 get_user_name(id, name, charsmax(name));
332 new Dia[30];
333 new Hora[30];
334 new Minuto[30];
335 formatex(Dia, charsmax(Dia), "%d Dia%s | ", g_TYPEDEATH[id][DIAS], g_TYPEDEATH[id][DIAS] > 1 ? "s" : "");
336 formatex(Hora, charsmax(Hora), "%02i", g_TYPEDEATH[id][HORAS], g_TYPEDEATH[id][HORAS] > 1 ? "s" : "");
337 formatex(Minuto, charsmax(Minuto), "%02i", g_TYPEDEATH[id][MINUTOS]);
338
339 len += formatex(motd[len], sizeof motd-len,
340 "<body>\
341 <style>\
342 @import url('https://fonts.googleapis.com/css?family=Mukta');\
343 body{color:white;background:#282725;font-family:'Mukta',sans-serif}\
344 img{border-radius:100;width:50%%;}\
345 h1{font-size:15px;background:#0D8A83;}\
346 .left{width:40%%;color:white;text-align:center;background:rgba(0,0,0,0.5);padding:3%%;float:left;margin-left:3%%;}\
347 .left a{color:#0D8A83;font-size:15px;text-decoration:none}\
348 .right{width:40%%;color:white;text-align:center;background:rgba(0,0,0,0.5);padding:3%%;float:right;margin-right:3%%}\
349 .right a{color:#0D8A83;font-size:15px;text-decoration:none}\
350 table{border:1px solid #0D8A83;font-size:10px}\
351 th{background:#0D8A83;}\
352 td{border:1px solid #0D8A83}</style>");
353 if(strlen(g_TYPEDEATH[id][AVATAR]) > 10)
354 {
355 len += formatex(motd[len], sizeof motd-len, "<div class=left><h1>PERFIL</h1></br><img src=%s></br><h4>%s</h4>", g_TYPEDEATH[id][AVATAR], name);
356 if(is_user_steam(id)) len += formatex(motd[len], sizeof motd-len, "<a href=%s>Perfil de steam</a>", g_TYPEDEATH[id][URL])
357
358 }
359 else {
360 len += formatex(motd[len], sizeof motd-len, "<div class=left><h1>PERFIL</h1></br><img src=https://i.ibb.co/HB7q1P9/profile.png></br><h4>%s</h4>", name);
361 if(is_user_steam(id)) len += formatex(motd[len], sizeof motd-len, "<a href=%s>Perfil de steam</a>", g_TYPEDEATH[id][URL])
362 }
363
364 len += formatex(motd[len], sizeof motd-len, "</div><div class=right>\
365 <h1>ESTADISTICAS</h1>\
366 </br>\
367 <table width=100%%>\
368 <tr align=center>\
369 <th width=25%%>R-Flag. Blue\
370 <th width=25%%>R-Flag. Red\
371 <th width=25%%>C-Flag. Blue\
372 <th width=25%%>C-Flag. Red");
373 len += formatex(motd[len], sizeof motd-len, "\
374 <tr align=center>\
375 <td>%d\
376 <td>%d\
377 <td>%d\
378 <td>%d", g_TYPEDEATH[id][R_FLAG_BLUE], g_TYPEDEATH[id][R_FLAG_RED], g_TYPEDEATH[id][C_FLAG_BLUE], g_TYPEDEATH[id][C_FLAG_RED]);
379 len += formatex(motd[len], sizeof motd-len, "</table><table width=100%%>\
380 <tr align=center>\
381 <th width=25%%>Damge (HP)\
382 <th width=25%%>Exitos\
383 <th width=25%%>Kills\
384 <th width=25%%>Muertes");
385 len += formatex(motd[len], sizeof motd-len, "\
386 <tr align=center>\
387 <td>%d\
388 <td>%d\
389 <td>%d\
390 <td>%d", g_TYPEDEATH[id][DAMAGE], g_TYPEDEATH[id][EXITOS], g_TYPEDEATH[id][FRAGS], g_TYPEDEATH[id][MUERTES]);
391 len += formatex(motd[len], sizeof motd-len, "</table><table width=100%%>\
392 <tr align=center>\
393 <th width=25%%>Tiempo jugado en total");
394 len += formatex(motd[len], sizeof motd-len, "\
395 <tr align=center>\
396 <td>%s%s:%s</table></br></br></br>", g_TYPEDEATH[id][DIAS] > 1 ? Dia : "", Hora, Minuto);
397 if(is_user_steam(id)) len += formatex(motd[len], sizeof motd-len, "</br>");
398 len += formatex(motd[len], sizeof motd-len, "</div></body>");
399
400 show_motd( id, motd, "[ CBP ] Estadisticas");
401}
402
403public top5(id) {
404
405
406 new szSteamID[32], szTemp[256]
407 new iPosition = 0, szName[50], szAvatar[300], iFrags, iMuertes, iHeadShot, len = 0, motd[2048];
408
409 get_user_authid(id, szSteamID, charsmax(szSteamID))
410 formatex(szTemp, charsmax(szTemp), "SELECT `NAME`, `AVATAR`, `FRAGS`, `MUERTES`, `HEADSHOT` FROM %s ORDER BY `FRAGS`-`MUERTES` DESC LIMIT 5", SQLX_TABLA)
411 g_query = SQL_PrepareQuery(g_tuple,szTemp)
412
413 if (SQL_Execute(g_query)) /* Se realizo bien la consulta...*/
414 {
415 if(SQL_NumResults(g_query))
416 {
417 len += formatex(motd[len], sizeof motd-len,
418 "<body>\
419 <style>\
420 @import url('https://fonts.googleapis.com/css?family=Mukta');\
421 body{color:white;background:#282725;font-family:'Mukta',sans-serif}\
422 table{border:1px solid #0D8A83;font-size:12px}\
423 img{width:50px;border-radius:100%%}\
424 th{background:#0D8A83;padding:1%%}\
425 td{border:1px solid #0D8A83;background:rgba(0,0,0,0.5)}\
426 </style>\
427 <h1 align=center>[CBP] TOP 5<h1>\
428 <table>\
429 <tr align=center>\
430 <th width=5%%>Posicion\
431 <th width=7%%>Perfil\
432 <th width=25%%>Nombre\
433 <th width=15%%>Matanzas\
434 <th width=8%%>Muertes");
435
436 while(SQL_MoreResults(g_query))
437 {
438 ++iPosition;
439
440 SQL_ReadResult(g_query, 0, szName, charsmax(szName));
441 SQL_ReadResult(g_query, 1, szAvatar, charsmax(szAvatar));
442 iFrags = SQL_ReadResult(g_query, 2);
443 iMuertes = SQL_ReadResult(g_query, 3);
444 iHeadShot = SQL_ReadResult(g_query, 4);
445
446
447 len += formatex(motd[len], sizeof motd-len, "<tr align=center>");
448 len += formatex(motd[len], sizeof motd-len, "<td>%d", iPosition);
449 if(strlen(szAvatar) > 10) len += formatex(motd[len], sizeof motd-len, "<td><img src=%s>", szAvatar);
450 else len += formatex(motd[len], sizeof motd-len, "<td><img src=https://i.ibb.co/HB7q1P9/profile.png>");
451 len += formatex(motd[len], sizeof motd-len, "<td>%s",szName);
452 len += formatex(motd[len], sizeof motd-len, "<td>%d (%d HS)",iFrags, iHeadShot);
453 len += formatex(motd[len], sizeof motd-len, "<td>%d",iMuertes);
454
455
456 SQL_NextRow(g_query);
457 }
458 len += formatex(motd[len], sizeof motd-len, "</table></body>");
459
460 show_motd( id, motd, "[ CBP ] CTF Top 5");
461 }
462
463 console_print(id, "Datos Cargados")
464 }
465 else console_print(id, "Error al Cargar :(")
466
467}
468public Bienvenida(id)
469{
470 new szTemp[256], ServerName[40], rank, MaxRank, szSteamID[32]
471 formatex(szTemp, charsmax(szTemp), "SELECT `FRAGS`, `STEAMID`, `MUERTES` FROM %s ORDER BY `FRAGS`-`MUERTES` DESC", SQLX_TABLA)
472 g_query = SQL_PrepareQuery(g_tuple,szTemp)
473
474 if (SQL_Execute(g_query))
475 {
476 if(SQL_NumResults(g_query))
477 {
478
479 while(SQL_MoreResults(g_query))
480
481 {
482 ++MaxRank;
483 SQL_ReadResult(g_query, 1, szSteamID, charsmax(szSteamID));
484 if(equal(szSteamID, g_TYPEDEATH[id][STEAMID])){
485 rank = MaxRank
486 }
487 SQL_NextRow(g_query);
488 formatex(szSteamID, charsmax(szSteamID), "")
489 }
490 }
491 }
492
493 get_cvar_string("hostname", ServerName, charsmax(ServerName))
494 set_hudmessage(255, 255, 255, 0.08, 0.30, 2, 6.0, 12.0)
495 show_hudmessage(id, "Bienvenido a: %s^nTu rank es de %d/%d con %d Matanzas y %d Muertes.",
496 ServerName, rank, MaxRank, g_TYPEDEATH[id][FRAGS], g_TYPEDEATH[id][MUERTES])
497}
498
499public rank(id)
500{
501 new szTemp[256], rank, MaxRank, szSteamID[32]
502 formatex(szTemp, charsmax(szTemp), "SELECT `FRAGS`, `STEAMID`, `MUERTES` FROM %s ORDER BY `FRAGS`-`MUERTES` DESC", SQLX_TABLA)
503 g_query = SQL_PrepareQuery(g_tuple,szTemp)
504
505 if (SQL_Execute(g_query))
506 {
507 if(SQL_NumResults(g_query))
508 {
509
510 while(SQL_MoreResults(g_query))
511
512 {
513 ++MaxRank;
514 SQL_ReadResult(g_query, 1, szSteamID, charsmax(szSteamID));
515 if(equal(szSteamID, g_TYPEDEATH[id][STEAMID])){
516 rank = MaxRank
517 }
518 SQL_NextRow(g_query);
519 formatex(szSteamID, charsmax(szSteamID), "")
520 }
521 }
522 }
523
524 if(!rank) client_print_color(id, print_team_default, "%s ^1Todavia no estas en el ^4rank", iTag)
525 else client_print_color(id, print_team_default, "%s Tu rank es de ^4%d^3/^4%d^1 con ^4%d ^1Matanzas y ^4%d^1 Muertes.", iTag, rank, MaxRank, g_TYPEDEATH[id][FRAGS], g_TYPEDEATH[id][MUERTES])
526}