· 5 years ago · Aug 19, 2020, 01:24 PM
1#include <amxmodx>
2#include <amxmisc>
3#include <sqlx>
4#include <mg_core>
5
6#define PLUGIN "RegSys"
7#define VERSION "1.0"
8#define AUTHOR "Turán*"
9
10////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11new Handle:gSQLtuple;
12new gLengthc[4];
13new gPrefixs;
14new gRegsysName[33][128], gRegsysPassword[33][128], gRegsysrePassword[33][128];
15new bool:gLoggedIn[33];
16new gSQLQuery[512], gAccountid[33], bool:gShowAccName[33], gId[33], gRegDate[33], gLastLogDate[33];
17////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
18
19////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
20public plugin_init()
21{
22 register_plugin(PLUGIN, VERSION, AUTHOR);
23
24 gPrefixs = register_cvar("SERVER_PREFIX", "Csabikanak");
25
26 register_clcmd("say /regfomenu", "regsys_mainmenu");
27 mg_core_command_reg("regfomenu", "regsys_mainmenu");
28
29 register_clcmd("say /changepw", "regsys_changecheck");
30 mg_core_command_reg("changepw", "regsys_changecheck");
31
32 register_clcmd("type_regname", "regsys_regname");
33 register_clcmd("type_regpassword", "regsys_regpw");
34 register_clcmd("type_reregpassword", "regsys_reregpw");
35
36 register_clcmd("type_changeregpassword", "regsys_changeregpw");
37 register_clcmd("type_changereregpassword", "regsys_changereregpw");
38
39 gLengthc[0] = register_cvar("regsys_regname_lenghtmin", "6");
40 gLengthc[1] = register_cvar("regsys_regname_lenghtmax", "16");
41
42 gLengthc[2] = register_cvar("regsys_regpw_lenghtmin", "8");
43 gLengthc[3] = register_cvar("regsys_regpw_lenghtmax", "24");
44
45 register_clcmd("type_logname", "regsys_logname");
46 register_clcmd("type_logpassword", "regsys_logpw");
47}
48////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
49public plugin_natives()
50{
51 register_native("get_player_loggedIn","native_get_player_loggedIn", 1);
52 register_native("get_player_regdate","native_get_player_regdate", 1);
53 register_native("get_player_lastlogdate","native_get_player_lastlogdate", 1);
54}
55public bool:native_get_player_loggedIn(id)
56{
57 return bool:gLoggedIn[id];
58}
59public int:native_get_player_regdate(id)
60{
61 return int:gRegDate[id];
62}
63public int:native_get_player_lastlogdate(id)
64{
65 return int:gLastLogDate[id];
66}
67public regsys_changecheck(id)
68{
69 if(!gLoggedIn[id])
70 client_print_color(id, print_team_default, "^4[%s]^1 nem valtoztathatsz jelszot amig be nem lepssz!", get_prefix());
71 else
72 regsys_changepw(id);
73}
74////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
75public regsys_changepw(id)
76{
77 new Menustring[256];
78 format(Menustring, charsmax(Menustring), "\r[%s]\w |\d Jelszo valtoztatas", get_prefix());
79 new menu = menu_create(Menustring, "regsys_changepw_h");
80
81 formatex(Menustring, charsmax(Menustring), strlen(gRegsysPassword[id]) == 0 ? "\dJelszo: [ures]":"\wJelszo:\r %s", gRegsysPassword[id]);
82 menu_additem(menu, Menustring, "0", 0);
83 formatex(Menustring, charsmax(Menustring), strlen(gRegsysrePassword[id]) == 0 ? "\dJelszo ujra: [ures]":"\wJelszo ujra:\r %s", gRegsysrePassword[id]);
84 menu_additem(menu, Menustring, "1", 0);
85 formatex(Menustring, charsmax(Menustring), strlen(gRegsysName[id]) == 0 && strlen(gRegsysPassword[id]) == 0 && strlen(gRegsysrePassword[id]) == 0 ? "\dMegvaltoztatas":"\wMegvaltoztatas");
86 menu_additem(menu, Menustring, "2", 0);
87
88 menu_setprop(menu, MPROP_EXITNAME, "\wKilepes");
89
90 menu_display(id, menu, 0);
91}
92public regsys_changepw_h(id, menu, item)
93{
94 if(item == MENU_EXIT)
95 {
96 menu_destroy(menu);
97 return PLUGIN_HANDLED;
98 }
99 new command[6], name[64], access, callback;
100 menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
101
102 switch(item)
103 {
104 case 0:{ client_cmd(id, "messagemode type_changeregpassword");}
105 case 1:{ client_cmd(id, "messagemode type_changereregpassword");}
106 case 2:{ SQLUpdate(id);}
107
108 }
109
110 menu_destroy(menu);
111 return PLUGIN_HANDLED;
112}
113public regsys_changeregpw(id)
114{
115 new regpw[128];
116 read_args(regpw, charsmax(regpw));
117 remove_quotes(regpw);
118
119 if(strlen(regpw) == 0)
120 {
121 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo mezobe!", get_prefix());
122 regsys_changepw(id);
123 return PLUGIN_HANDLED;
124 }
125
126 if(strlen(regpw) < get_pcvar_num(gLengthc[2]) || strlen(regpw) > get_pcvar_num(gLengthc[3]))
127 {
128 client_print_color(id, print_team_default, "^4[%s]^1 A jelszavad minimum %d es maximum %d karakter lehet!", get_prefix(), get_pcvar_num(gLengthc[2]), get_pcvar_num(gLengthc[3]));
129 regsys_changepw(id);
130 return PLUGIN_HANDLED;
131 }
132 else
133 {
134 gRegsysPassword[id] = regpw;
135 regsys_changepw(id);
136 }
137 return PLUGIN_CONTINUE;
138}
139public regsys_changereregpw(id)
140{
141 new regpw[128];
142 read_args(regpw, charsmax(regpw));
143 remove_quotes(regpw);
144
145 if(strlen(regpw) == 0)
146 {
147 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo ujra mezobe!", get_prefix());
148 regsys_changepw(id);
149 return PLUGIN_HANDLED;
150 }
151 else
152 {
153 gRegsysrePassword[id] = regpw;
154 regsys_changepw(id);
155 }
156 return PLUGIN_CONTINUE;
157}
158public SQLUpdate(id)
159{
160 new hashedpw[128];
161 hash_string(gRegsysPassword[id], Hash_Sha256, hashedpw, charsmax(hashedpw));
162 formatex(gSQLQuery, charsmax(gSQLQuery), "UPDATE `rregsys` SET regsyspassword = ^"%s^" WHERE id = ^"%d^";", hashedpw, gId[id])
163
164 new Data[2];
165 Data[0] = id;
166 Data[1] = get_user_userid(id);
167
168 SQL_ThreadQuery(gSQLtuple, "SQLUpdate_thr", gSQLQuery, Data, 2);
169}
170public SQL_updateLogDate(id)
171{
172 gLastLogDate[id] = get_systime();
173 formatex(gSQLQuery, charsmax(gSQLQuery), "UPDATE `rregsys` SET regsyslastlogdate = ^"%s^" WHERE id = ^"%d^";", gLastLogDate[id], gId[id])
174
175 SQL_ThreadQuery(gSQLtuple, "SQLUpdate_thr", gSQLQuery);
176}
177public SQLUpdate_thr(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
178{
179 if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
180 {
181 log_amx("%s", Error);
182 return;
183 }
184 new id = Data[0];
185
186 if (Data[1] != get_user_userid(id))
187 return;
188
189 if(gLoggedIn[id])
190 client_print_color(id, print_team_default, "^4[%s]^1 Sikeresen megvaltoztattad a jelszavadat!", get_prefix());
191}
192////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
193public regsys_mainmenu(id)
194{
195 new Menustring[256];
196 format(Menustring, charsmax(Menustring), "\r[%s]\w |\d Regisztralj/jelentkezz be!", get_prefix());
197 new menu = menu_create(Menustring, "regsys_mainmenu_h");
198
199 formatex(Menustring, charsmax(Menustring), "Regisztracio");
200 menu_additem(menu, Menustring, "0", 0);
201 formatex(Menustring, charsmax(Menustring), "Bejelentkezes^n");
202 menu_additem(menu, Menustring, "1", 0);
203
204 new ONOFF[32];
205 formatex(ONOFF, charsmax(ONOFF), gShowAccName[id] == false ? "\dKI":"\rBE")
206 formatex(Menustring, charsmax(Menustring), "Fioknev megjelenitese:%s", ONOFF);
207 menu_additem(menu, Menustring, "1", 0);
208
209 menu_setprop(menu, MPROP_EXITNAME, "\wKilepes");
210
211 menu_display(id, menu, 0);
212}
213public regsys_mainmenu_h(id, menu, item)
214{
215 if(item == MENU_EXIT)
216 {
217 menu_destroy(menu);
218 return PLUGIN_HANDLED;
219 }
220 new command[6], name[64], access, callback;
221 menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
222
223 switch(item)
224 {
225 case 0:{ regsys_regmenu(id);}
226 case 1:{ regsys_logmenu(id);}
227 case 2:
228 {
229 if(!gShowAccName[id])
230 {
231 gShowAccName[id] = true;
232 regsys_mainmenu(id);
233 client_print_color(id, print_team_default, "^4[%s]^1 A fiokneved meg fog jelenni a chaten mikor belepsz!", get_prefix());
234 }
235 else
236 {
237 gShowAccName[id] = false;
238 regsys_mainmenu(id);
239 client_print_color(id, print_team_default, "^4[%s]^1 A fiokneved nem fog jelenni a chaten mikor belepsz!", get_prefix());
240 }
241 }
242 }
243
244 menu_destroy(menu);
245 return PLUGIN_HANDLED;
246}
247////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
248public plugin_cfg()
249{
250 gSQLtuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3]);
251
252 formatex(gSQLQuery, charsmax(gSQLQuery), "CREATE TABLE IF NOT EXISTS `rregsys` (`User_id` INT(11) NOT NULL, `regsysname` varchar(128) NOT NULL,`regsyspassword` varchar(128) NOT NULL, `regsysregdate` INT(11) NOT NULL, `regsyslastlogdate` INT(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
253 SQL_ThreadQuery(gSQLtuple,"CreateTableThr", gSQLQuery);
254}
255public CreateTableThr(FailState, Handle:Query, Error[], Errcode, Data[])
256{
257 if(FailState == TQUERY_CONNECT_FAILED)
258 set_fail_state("[HIBA] Nem lehet csatlakozni az adatbazishoz!");
259 else if(FailState == TQUERY_QUERY_FAILED)
260 set_fail_state("Query Error");
261 if(Errcode)
262 log_amx("[HIBA] Hiba: %s",Error);
263}
264////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
265public regsys_regmenu(id)
266{
267 new Menustring[256];
268 format(Menustring, charsmax(Menustring), "\r[%s]\w |\d Regmenu", get_prefix());
269 new menu = menu_create(Menustring, "regsys_regmenu_h");
270
271 formatex(Menustring, charsmax(Menustring), strlen(gRegsysName[id]) == 0 ? "\dFelhasznalo: [ures]":"\wFelhasznalo:\r %s", gRegsysName[id]);
272 menu_additem(menu, Menustring, "0", 0);
273 formatex(Menustring, charsmax(Menustring), strlen(gRegsysPassword[id]) == 0 ? "\dJelszo: [ures]":"\wJelszo:\r %s", gRegsysPassword[id]);
274 menu_additem(menu, Menustring, "1", 0);
275 formatex(Menustring, charsmax(Menustring), strlen(gRegsysrePassword[id]) == 0 ? "\dJelszo ujra: [ures]":"\wJelszo ujra:\r %s", gRegsysrePassword[id]);
276 menu_additem(menu, Menustring, "2", 0);
277 formatex(Menustring, charsmax(Menustring), strlen(gRegsysName[id]) == 0 && strlen(gRegsysPassword[id]) == 0 && strlen(gRegsysrePassword[id]) == 0 ? "\dRegisztracio":"\wRegisztracio");
278 menu_additem(menu, Menustring, "3", 0);
279
280 menu_setprop(menu, MPROP_EXITNAME, "\wKilepes");
281
282 menu_display(id, menu, 0);
283}
284public regsys_regmenu_h(id, menu, item)
285{
286 if(item == MENU_EXIT)
287 {
288 menu_destroy(menu);
289 return PLUGIN_HANDLED;
290 }
291 new command[6], name[64], access, callback;
292 menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
293
294 switch(item)
295 {
296 case 0:{ client_cmd(id, "messagemode type_regname");}
297 case 1:{ client_cmd(id, "messagemode type_regpassword");}
298 case 2:{ client_cmd(id, "messagemode type_reregpassword");}
299 case 3:{ checkpw(id);}
300 }
301 menu_destroy(menu);
302 return PLUGIN_HANDLED;
303}
304public checkpw(id)
305{
306 if(strlen(gRegsysPassword[id]) != strlen(gRegsysrePassword[id]))
307 {
308 client_print_color(id, print_team_default, "^4[%s]^1 A ket jelszavad nem egyezik meg!", get_prefix());
309 regsys_regmenu(id);
310 }
311 else
312 SQL_checkfh(id);
313}
314public regsys_regname(id)
315{
316 new regname[128];
317 read_args(regname, charsmax(regname));
318 remove_quotes(regname);
319
320 if(strlen(regname) == 0)
321 {
322 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a nev mezobe!", get_prefix());
323 regsys_regmenu(id);
324 return PLUGIN_HANDLED;
325 }
326 if(strlen(regname) < get_pcvar_num(gLengthc[0]) || strlen(regname) > get_pcvar_num(gLengthc[1]))
327 {
328 client_print_color(id, print_team_default, "^4[%s]^1 A neved minimum %d es maximum %d karakter lehet!", get_prefix(), get_pcvar_num(gLengthc[0]), get_pcvar_num(gLengthc[1]));
329 regsys_regmenu(id);
330 return PLUGIN_HANDLED;
331 }
332 else
333 {
334 gRegsysName[id] = regname;
335 regsys_regmenu(id);
336 }
337 return PLUGIN_CONTINUE;
338}
339public regsys_regpw(id)
340{
341 new regpw[128];
342 read_args(regpw, charsmax(regpw));
343 remove_quotes(regpw);
344
345 if(strlen(regpw) == 0)
346 {
347 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo mezobe!", get_prefix());
348 regsys_regmenu(id);
349 return PLUGIN_HANDLED;
350 }
351
352 if(strlen(regpw) < get_pcvar_num(gLengthc[2]) || strlen(regpw) > get_pcvar_num(gLengthc[3]))
353 {
354 client_print_color(id, print_team_default, "^4[%s]^1 A jelszavad minimum %d es maximum %d karakter lehet!", get_prefix(), get_pcvar_num(gLengthc[2]), get_pcvar_num(gLengthc[3]));
355 regsys_regmenu(id);
356 return PLUGIN_HANDLED;
357 }
358 else
359 {
360 gRegsysPassword[id] = regpw;
361 regsys_regmenu(id);
362 }
363 return PLUGIN_CONTINUE;
364}
365public regsys_reregpw(id)
366{
367 new regpw[128];
368 read_args(regpw, charsmax(regpw));
369 remove_quotes(regpw);
370
371 if(strlen(regpw) == 0)
372 {
373 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo ujra mezobe!", get_prefix());
374 regsys_regmenu(id);
375 return PLUGIN_HANDLED;
376 }
377 else
378 {
379 gRegsysrePassword[id] = regpw;
380 regsys_regmenu(id);
381 }
382 return PLUGIN_CONTINUE;
383}
384public SQL_checkfh(id)
385{
386 formatex(gSQLQuery, charsmax(gSQLQuery), "SELECT * FROM `rregsys` WHERE `regsysname`='%s';", gRegsysName[id]);
387
388 new Data[2];
389 Data[0] = id;
390 Data[1] = get_user_userid(id);
391
392 SQL_ThreadQuery(gSQLtuple, "SQL_checkfh_thr", gSQLQuery, Data, 2);
393}
394public SQL_checkfh_thr(FailState, Handle:Query, Error[], Errcode,Data[], DataSize)
395{
396 if(FailState == TQUERY_CONNECT_FAILED)
397 set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
398 else if(FailState == TQUERY_QUERY_FAILED)
399 set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!");
400 if(Errcode)
401 log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
402
403 new id = Data[0];
404
405 if (Data[1] != get_user_userid(id))
406 return;
407
408 new RowsFound = SQL_NumRows(Query);
409
410 if(RowsFound > 0)
411 {
412 client_print_color(id, print_team_default, "^4[%s]^1 Ez a nev foglalt!", get_prefix());
413 regsys_regmenu(id);
414 }
415 else SQL_insert(id);
416}
417public SQL_insert(id)
418{
419 new hashedpw[128];
420 hash_string(gRegsysPassword[id], Hash_Sha256, hashedpw, charsmax(hashedpw));
421
422 gRegDate[id] = get_systime();
423
424 formatex(gSQLQuery, charsmax(gSQLQuery), "INSERT INTO `rregsys` (`User_id`, `regsysname`, `regsyspassword`, `regsysregdate`, `regsyslastlogdate`) VALUES('%d' ,'%s', '%s', '%d', '%d')", gAccountid[id], gRegsysName[id], hashedpw, gRegDate[id], gLastLogDate[id]);
425
426 new Data[2];
427 Data[0] = id;
428 Data[1] = get_user_userid(id);
429
430 SQL_ThreadQuery(gSQLtuple, "SQL_insert_thr", gSQLQuery, Data, 2);
431}
432public SQL_insert_thr(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
433{
434 if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
435 {
436 log_amx("%s", Error)
437 return;
438 }
439
440 new id = Data[0]
441
442 if(Data[1] != get_user_userid(id))
443 return;
444
445 set_task(5.0, "RegWait", id);
446 client_print_color(id, print_team_default, "^4[%s]^1 A regisztracio folyamatban.. kerlek varj!", get_prefix());
447}
448public RegWait(id)
449{
450 client_print_color(id, print_team_default, "^4[%s]^1 Sikresen regisztraltal, most jelentkezz be!", get_prefix());
451 regsys_logmenu(id);
452}
453////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
454public regsys_logmenu(id)
455{
456 new Menustring[256];
457 format(Menustring, charsmax(Menustring), "\r[%s]\w |\d Logmenu", get_prefix());
458 new menu = menu_create(Menustring, "regsys_logmenu_h");
459
460 formatex(Menustring, charsmax(Menustring), strlen(gRegsysName[id]) == 0 ? "\dFelhasznalo: [ures]":"\wFelhasznalo:\r %s", gRegsysName[id]);
461 menu_additem(menu, Menustring, "0", 0);
462 formatex(Menustring, charsmax(Menustring), strlen(gRegsysPassword[id]) == 0 ? "\dJelszo: [ures]":"\wJelszo:\r %s", gRegsysPassword[id]);
463 menu_additem(menu, Menustring, "1", 0);
464
465 formatex(Menustring, charsmax(Menustring), strlen(gRegsysName[id]) == 0 && strlen(gRegsysPassword[id]) == 0 ? "\dBejelentkezes":"\wBejelentkezes");
466 menu_additem(menu, Menustring, "2", 0);
467
468 menu_setprop(menu, MPROP_EXITNAME, "\wKilepes");
469
470 menu_display(id, menu, 0);
471}
472public regsys_logmenu_h(id, menu, item)
473{
474 if(item == MENU_EXIT)
475 {
476 menu_destroy(menu);
477 return PLUGIN_HANDLED;
478 }
479 new command[6], name[64], access, callback;
480 menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
481
482 switch(item)
483 {
484 case 0:{ client_cmd(id, "messagemode type_logname");}
485 case 1:{ client_cmd(id, "messagemode type_logpassword");}
486 case 2:{ SQL_load(id);}
487 }
488
489 menu_destroy(menu);
490 return PLUGIN_HANDLED;
491}
492public regsys_logname(id)
493{
494 new logname[128];
495 read_args(logname, charsmax(logname));
496 remove_quotes(logname);
497
498 if(strlen(logname) == 0)
499 {
500 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo mezobe!", get_prefix());
501 regsys_logmenu(id);
502 return PLUGIN_HANDLED;
503 }
504 else
505 {
506 gRegsysName[id] = logname;
507 regsys_logmenu(id);
508 }
509 return PLUGIN_CONTINUE;
510}
511public regsys_logpw(id)
512{
513 new logpw[128];
514 read_args(logpw, charsmax(logpw));
515 remove_quotes(logpw);
516
517 if(strlen(logpw) == 0)
518 {
519 client_print_color(id, print_team_default, "^4[%s]^1 Nem irtal semmit a jelszo mezobe!", get_prefix());
520 regsys_logmenu(id);
521 return PLUGIN_HANDLED;
522 }
523 else
524 {
525 gRegsysPassword[id] = logpw;
526 regsys_logmenu(id);
527 }
528 return PLUGIN_CONTINUE;
529}
530public SQL_load(id)
531{
532 new hashedpw[128];
533 hash_string(gRegsysPassword[id], Hash_Sha256, hashedpw, charsmax(hashedpw));
534 formatex(gSQLQuery, charsmax(gSQLQuery), "SELECT * FROM `rregsys` WHERE regsysname = ^"%s^" AND regsyspassword = ^"%s^";", gRegsysName[id], hashedpw);
535
536 new Data[2];
537 Data[0] = id;
538 Data[1] = get_user_userid(id);
539
540 SQL_ThreadQuery(gSQLtuple, "SQL_load_thr", gSQLQuery, Data, 2);
541}
542public SQL_load_thr(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
543{
544 if(FailState == TQUERY_CONNECT_FAILED)
545 set_fail_state("[*HIBA*] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!");
546 else if(FailState == TQUERY_QUERY_FAILED)
547 set_fail_state("[*HIBA*] A LEKERDEZES MEGSZAKADT!");
548 if(Errcode)
549 log_amx("[*HIBA*] PROBLEMA A LEKERDEZESNEL! ( %s )",Error);
550
551 new id = Data[0];
552 if(get_user_userid(id) != Data[1])
553 return;
554 new sName[MAX_AUTHID_LENGTH];
555 get_user_name(id, sName, charsmax(sName));
556
557 if(strlen(gRegsysName[id]) == 0 && strlen(gRegsysPassword[id]) == 0)
558 {
559 client_print_color(id, print_team_default, "^4[%s]^1 Elsonek ird be az adataid!", get_prefix());
560 regsys_regmenu(id);
561 return;
562 }
563
564 if(SQL_NumRows(Query) > 0)
565 {
566 new itaken = 0;
567 if(gId[id] == SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id")))
568 {
569 for(new i = 1; i < 32; i++)
570 {
571 itaken = 1;
572 gId[id] = 0;
573 client_print_color(id, print_team_default, "^4[%s]^1 Ebbe a felhasznaloba mar valaki bejelentkezett!", get_prefix());
574 break;
575 }
576 }
577
578 if(itaken == 1)
579 return;
580
581 gId[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id"));
582 gAccountid[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "User_id"));
583 SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "regsysname"), gRegsysName[id], charsmax(gRegsysName[]));
584 gRegDate[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "regsysregdate"));
585 gLastLogDate[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "regsysregdate"));
586
587 if(gShowAccName[id] == false)
588 {
589 SQL_updateLogDate(id);
590 gLoggedIn[id] = true;gAccountid[id]++;
591 client_print_color(0, print_team_default, "^4[%s]^3 %s^1(^3#%d^1) ^1bejelentkezett!", get_prefix(), sName, gId[id]);
592 }
593 else
594 {
595 SQL_updateLogDate(id);
596 gLoggedIn[id] = true;gAccountid[id]++;
597 client_print_color(0, print_team_default, "^4[%s]^3 %s^1(^3#%d^1) ^1bejelentkezett^3 %s^1 nevu fiokjaba!", get_prefix(), sName, gId[id], gRegsysName[id]);
598 }
599
600 }
601 else
602 {
603 client_print_color(id, print_team_default, "^4[%s]^1 Nem sikerult belepned, rossz jelszo vagy felhasznalo!", get_prefix());
604 return;
605 }
606}
607////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
608public client_authorized(id)
609{
610 if(is_user_bot(id))
611 return PLUGIN_HANDLED;
612
613 gRegsysName[id] = "";
614 gRegsysPassword[id] = "";
615 gRegsysrePassword[id] = "";
616 gRegDate[id] = 0;
617 gLastLogDate[id] = 0;
618 gLoggedIn[id] = false;
619 gAccountid[id] = 0;
620 gId[id] = 0;
621
622 return PLUGIN_HANDLED;
623}
624public client_disconnected(id)
625{
626 if(is_user_bot(id))
627 return PLUGIN_HANDLED;
628
629 gRegsysName[id] = "";
630 gRegsysPassword[id] = "";
631 gRegsysrePassword[id] = "";
632 gRegDate[id] = 0;
633 gLastLogDate[id] = 0;
634 gLoggedIn[id] = false;
635 gAccountid[id] = 0;
636 gId[id] = 0;
637
638 return PLUGIN_HANDLED;
639}
640////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
641get_prefix(){
642 new sPrefix[64];
643 get_pcvar_string(gPrefixs, sPrefix, charsmax(sPrefix));
644 return sPrefix;
645}
646/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
647*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
648*/
649