hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.17. 06:47



Jelenlévő felhasználók

Jelenleg 217 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 216 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Regisztrácios rendszer másshogy
HozzászólásElküldve: 2013.10.13. 11:52 
Offline
Tud valamit
Avatar

Csatlakozott: 2013.09.12. 16:51
Hozzászólások: 144
Megköszönt másnak: 51 alkalommal
Megköszönték neki: 6 alkalommal
Ebből ki lehetne venni azt h ne írja hudban és helyete 1 menüt hozzna elő ami igy állna:

Belépés
Regisztrálás
Nem regisztrálok
[INFO] Lépj be igy konzolba: amx_login amx_login <jelszo> - (BELÉPÉS)


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define PLUGIN "UserRegister System"
  6. #define VERSION "1.0"
  7. #define AUTHOR "Alka"
  8.  
  9. #define TASK_CHECK_LOG 2223
  10. #define TASK_CHECK_REG 2132
  11.  
  12. #define PASSWORD_MIN_LEN 6
  13. #define MAX_LOGIN_ATTEMPTS 3
  14.  
  15. #define STORE_REGISTER_DATE
  16.  
  17. new bool:user_is_registerd[33];
  18. new user_saved_password[33][32];
  19.  
  20. new bool:user_has_loged[33];
  21. new bool:user_has_registerd[33];
  22. new bool:user_has_changed_pass[33];
  23. new attempts[33];
  24.  
  25. new users_db_file[256];
  26.  
  27. public plugin_init() {
  28.  
  29. register_plugin(PLUGIN, VERSION, AUTHOR);
  30.  
  31. register_dictionary("userregister_system.txt");
  32.  
  33. register_concmd("amx_register", "register_user", ADMIN_ALL, "<mod:1[Nev],2[Ip],3[SteamID]> <jelszo>");
  34. register_concmd("amx_login", "login_user", ADMIN_ALL, "<jelszo>");
  35. register_concmd("amx_changepassword", "change_password", ADMIN_ALL, "<regi jelszo> <uj jelszo>");
  36.  
  37. register_forward(FM_ClientUserInfoChanged, "Fwd_ClientInfoChanged");
  38.  
  39. check_db();
  40. }
  41.  
  42. public check_db()
  43. {
  44. new datadir[64];
  45. get_datadir(datadir, 63);
  46.  
  47. format(users_db_file, sizeof users_db_file - 1, "%s/users_db.ini", datadir);
  48.  
  49. new file_pointer = fopen(users_db_file, "r");
  50.  
  51. if(!file_pointer)
  52. {
  53. server_print("%L", LANG_SERVER, "ERROR_DB", users_db_file);
  54.  
  55. write_file(users_db_file, "");
  56. }
  57. fclose(file_pointer);
  58. }
  59.  
  60. public client_putinserver(id)
  61. {
  62. new Steamid[32], Ip[32], Name[32];
  63.  
  64. get_user_authid(id, Steamid, 31);
  65. get_user_ip(id, Ip, 31, 1);
  66. get_user_name(id, Name, 31);
  67.  
  68. new parm[1];
  69. parm[0] = id;
  70.  
  71. check_user(id, Steamid, Ip, Name);
  72.  
  73. set_task(3.0, "warn_user", id);
  74.  
  75. if(user_is_registerd[id])
  76. set_task(13.0, "check_user_login", TASK_CHECK_LOG, parm, 1);
  77.  
  78. else
  79. set_task(18.0, "check_user_reg", TASK_CHECK_REG, parm, 1);
  80. }
  81.  
  82. public client_disconnect(id)
  83. {
  84. if(user_has_loged[id])
  85. user_has_loged[id] = false;
  86.  
  87. if(user_has_registerd[id])
  88. user_has_registerd[id] = false;
  89.  
  90. if(user_has_changed_pass[id])
  91. user_has_changed_pass[id] = false;
  92.  
  93. attempts[id] = 0;
  94. }
  95.  
  96. public warn_user(id)
  97. {
  98. if(user_is_registerd[id])
  99. {
  100. set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 6.0, 5.0, 0.1, 0.1, -1);
  101. show_hudmessage(id, "%L", LANG_PLAYER, "LOGIN_ADV_HUD");
  102.  
  103. client_print(id, print_chat, "%L", LANG_PLAYER, "LOGIN_ADV_CHAT");
  104. }
  105. else
  106. {
  107. set_hudmessage(255, 0, 0, -1.0, -1.0, 1, 6.0, 5.0, 0.1, 0.1, -1);
  108. show_hudmessage(id, "%L", LANG_PLAYER, "REGISTER_ADV_HUD");
  109.  
  110. client_print(id, print_chat, "%L", LANG_PLAYER, "REGISTER_ADV_CHAT");
  111. }
  112. }
  113.  
  114. public register_user(id, level, cid)
  115. {
  116. if(!cmd_access(id, level, cid, 2))
  117. return 1;
  118.  
  119. new name[32], ip[32], steamid[32];
  120.  
  121. new arg_mod[4], arg_pass[32];
  122. new Buffer[256], Buffer2[128];
  123.  
  124. read_argv(1, arg_mod, 3);
  125. read_argv(2, arg_pass, 31);
  126.  
  127. new adate[128];
  128. get_time("%x", adate, sizeof adate - 1);
  129.  
  130. new mod = str_to_num(arg_mod);
  131.  
  132. new len = strlen(arg_pass);
  133.  
  134. switch(mod)
  135. {
  136. case 1:
  137. {
  138. get_user_name(id, name, 31);
  139.  
  140. format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^"^n", name, arg_pass);
  141. #if defined STORE_REGISTER_DATE
  142. format(Buffer2, sizeof Buffer2 - 1, ";Register date: %s^n^n", adate);
  143. #endif
  144. }
  145.  
  146. case 2:
  147. {
  148. get_user_ip(id, ip, 31, 1);
  149.  
  150. format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^"^n", ip, arg_pass);
  151. #if defined STORE_REGISTER_DATE
  152. format(Buffer2, sizeof Buffer2 - 1, ";Register date: %s^n^n", adate);
  153. #endif
  154. }
  155.  
  156. case 3:
  157. {
  158. get_user_authid(id, steamid, 31);
  159.  
  160. format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^"^n", steamid, arg_pass);
  161. #if defined STORE_REGISTER_DATE
  162. format(Buffer2, sizeof Buffer2 - 1, ";Register date: %s^n^n", adate);
  163. #endif
  164. }
  165. }
  166.  
  167. if(cont_exists(users_db_file, name, ip, steamid))
  168. {
  169. client_print(id, print_console, "%L", LANG_PLAYER, "ACCOUNT_EXISTS");
  170. return 1;
  171. }
  172. if(len < PASSWORD_MIN_LEN)
  173. {
  174. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_LEN", PASSWORD_MIN_LEN);
  175. return 1;
  176. }
  177.  
  178. client_print(id, print_console, "%L", LANG_PLAYER, "REGISTER_OK", arg_pass);
  179.  
  180. user_has_registerd[id] = true;
  181.  
  182. new file = fopen(users_db_file, "at+");
  183. fprintf(file, Buffer);
  184. fprintf(file, Buffer2);
  185. fclose(file);
  186.  
  187. return 1;
  188. }
  189.  
  190. public login_user(id, level, cid)
  191. {
  192. if(!cmd_access(id, level, cid, 1))
  193. return 1;
  194.  
  195. if(user_has_loged[id])
  196. {
  197. client_print(id, print_console, "%L", LANG_PLAYER, "ALREADY_LOGEDIN");
  198. return 1;
  199. }
  200.  
  201. new arg_pass[32];
  202. read_argv(1, arg_pass, 31);
  203.  
  204. if(!equali(arg_pass, user_saved_password[id]))
  205. {
  206. attempts[id] += 1;
  207.  
  208. if(attempts[id] >= MAX_LOGIN_ATTEMPTS)
  209. {
  210. server_cmd("kick #%i ^"Rossz jelszo! %d probalkozas van hatra!^"", get_user_userid(id), MAX_LOGIN_ATTEMPTS);
  211. return 1;
  212. }
  213.  
  214. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_INVALID", attempts[id], MAX_LOGIN_ATTEMPTS);
  215. return 1;
  216. }
  217. else
  218. {
  219. client_print(id, print_console, "%L", LANG_PLAYER, "LOGIN_OK");
  220.  
  221. user_has_loged[id] = true;
  222. }
  223. return 1;
  224. }
  225.  
  226. public change_password(id, level, cid)
  227. {
  228. if(!cmd_access(id, level, cid, 2))
  229. return 1;
  230.  
  231. if(user_has_changed_pass[id])
  232. {
  233. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_WAIT_TIME");
  234. return 1;
  235. }
  236.  
  237. new arg_old_pass[32], arg_new_pass[32];
  238. read_argv(1, arg_old_pass, 31);
  239. read_argv(2, arg_new_pass, 31);
  240.  
  241. new name[32], ip[32], steamid[32];
  242. get_user_name(id, name, 31);
  243. get_user_ip(id, ip, 31, 1);
  244. get_user_authid(id, steamid, 31);
  245.  
  246. new len = strlen(arg_new_pass);
  247.  
  248. if(!equali(arg_old_pass, user_saved_password[id]))
  249. {
  250. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_NOMATCH");
  251. return 1;
  252. }
  253.  
  254. if(len < PASSWORD_MIN_LEN)
  255. {
  256. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_LEN#2", PASSWORD_MIN_LEN);
  257. return 1;
  258. }
  259.  
  260. new file = fopen(users_db_file, "rt");
  261.  
  262. if(file)
  263. {
  264. new Buffer[128];
  265. new counter;
  266.  
  267. while(!feof(file))
  268. {
  269. fgets(file, Buffer, 128);
  270.  
  271. parse(Buffer, Buffer, sizeof Buffer -1);
  272.  
  273. if(equal(Buffer, steamid) || equal(Buffer, ip) || equal(Buffer, name))
  274. {
  275. format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^"", Buffer, arg_new_pass);
  276.  
  277. write_file(users_db_file, Buffer, counter);
  278. }
  279. counter++;
  280. }
  281. fclose(file);
  282.  
  283. client_print(id, print_console, "%L", LANG_PLAYER, "PASSWORD_NEW", arg_new_pass);
  284.  
  285. user_has_changed_pass[id] = true;
  286. }
  287. return 1;
  288. }
  289.  
  290. public check_user_reg(parm[])
  291. {
  292. new id = parm[0];
  293.  
  294. if(!user_has_registerd[id])
  295. {
  296. server_cmd("kick #%i ^"Kickelve lettel, mert nem regisztraltal!!^"", get_user_userid(id));
  297. }
  298. else
  299. return 1;
  300.  
  301. return 0;
  302. }
  303.  
  304. public check_user_login(parm[])
  305. {
  306. new id = parm[0];
  307.  
  308. if(!user_has_loged[id])
  309. {
  310. server_cmd("kick #%i ^"Kickelve lettel, legkozelebb loginolj be!^"", get_user_userid(id));
  311. }
  312. else
  313. return 1;
  314.  
  315. return 0;
  316. }
  317.  
  318. stock check_user(id, steamid[], ip[], name[])
  319. {
  320. new szFile = fopen(users_db_file, "rt");
  321.  
  322. new Buffer[256], file_id[32], file_password[32];
  323.  
  324. while(!feof(szFile))
  325. {
  326. fgets(szFile, Buffer, 255);
  327.  
  328. if((strlen(Buffer) < 2) || Buffer[0] == ';')
  329. continue;
  330.  
  331. parse(Buffer, file_id, 31, file_password, 31);
  332.  
  333. if(equal(file_id, steamid) || equal(file_id, ip) || equal(file_id, name))
  334. {
  335. user_is_registerd[id] = true;
  336. user_saved_password[id] = file_password;
  337.  
  338. break;
  339. }
  340. }
  341. fclose(szFile);
  342. return 0;
  343. }
  344.  
  345. stock bool:cont_exists(file[],name[], ip[], steamid[])
  346. {
  347. new file_pointer = fopen(file, "rt");
  348.  
  349. new Buffer[256];
  350.  
  351. while (!feof(file_pointer))
  352. {
  353. fgets(file_pointer, Buffer, 31);
  354.  
  355. if(containi(Buffer, name) != -1 || containi(Buffer, ip) != -1 || containi(Buffer, steamid) != -1)
  356. {
  357. fclose(file_pointer);
  358. return true;
  359. }
  360. }
  361. return false;
  362. }
  363.  
  364. public Fwd_ClientInfoChanged(id, buffer)
  365. {
  366. if (!is_user_connected(id))
  367. return FMRES_IGNORED;
  368.  
  369. static name[32], val[32];
  370. get_user_name(id, name, sizeof name - 1)
  371.  
  372. engfunc(EngFunc_InfoKeyValue, buffer, "name", val, sizeof val - 1);
  373.  
  374. if(equal(val, name))
  375. return FMRES_IGNORED;
  376.  
  377. engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", name);
  378.  
  379. client_cmd(id, "name ^"%s^"; setinfo name ^"%s^"", name, name);
  380.  
  381. client_print(id, print_console, "%L", LANG_PLAYER, "NO_NAME_CHANGE");
  382.  
  383. return FMRES_SUPERCEDE;
  384. }
  385.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrácios rendszer másshogy
HozzászólásElküldve: 2013.10.13. 13:18 
Offline
Felfüggesztve

Csatlakozott: 2013.08.09. 22:37
Hozzászólások: 571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
Megadnád a teljes plugint? (És segítek)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrácios rendszer másshogy
HozzászólásElküldve: 2013.10.13. 14:27 
Már elküldte a teljes plugint, csak amit irt, azt kell beleirni (nem nehéz :P)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrácios rendszer másshogy
HozzászólásElküldve: 2013.10.13. 14:31 
Offline
Felfüggesztve

Csatlakozott: 2013.08.09. 22:37
Hozzászólások: 571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
hungary írta:
Már elküldte a teljes plugint, csak amit irt, azt kell beleirni (nem nehéz :P)

Pontosítok tudom hogy kell, csak txt t is akarom látni-.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztrácios rendszer másshogy
HozzászólásElküldve: 2013.10.13. 15:59 
Offline
Tud valamit
Avatar

Csatlakozott: 2013.09.12. 16:51
Hozzászólások: 144
Megköszönt másnak: 51 alkalommal
Megköszönték neki: 6 alkalommal
http://amxmodx.crys.hu/site/?p=pluginz&c=l&f=register


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 39 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole