Advertisement
Guest User

erorcun

a guest
Oct 2nd, 2009
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.68 KB | None | 0 0
  1. /*
  2. Seifistration System with login menu by Seif
  3. GUI modification by erorcun
  4. */
  5. /*x---------------------------------Important-------------------------------------x*/
  6. //**INCLUDES**//
  7. #include <a_samp>
  8. //**PRAGMAS**//
  9.  
  10. //**MISC**//
  11.  
  12. /*x---------------------------------Defining-------------------------------------x*/
  13. //**COLORS*//
  14. #define GREEN 0x21DD00FF
  15. #define RED 0xE60000FF
  16. #define ADMIN_RED 0xFB0000FF
  17. #define YELLOW 0xFFFF00FF
  18. #define ORANGE 0xF97804FF
  19. #define LIGHTRED 0xFF8080FF
  20. #define LIGHTBLUE 0x00C2ECFF
  21. #define PURPLE 0xB360FDFF
  22. #define PLAYER_COLOR 0xFFFFFFFF
  23. #define BLUE 0x1229FAFF
  24. #define LIGHTGREEN 0x38FF06FF
  25. #define DARKPINK 0xE100E1FF
  26. #define DARKGREEN 0x008040FF
  27. #define ANNOUNCEMENT 0x6AF7E1FF
  28. #define COLOR_SYSTEM 0xEFEFF7AA
  29. #define GREY 0xCECECEFF
  30. #define PINK 0xD52DFFFF
  31. #define DARKGREY 0x626262FF
  32. #define AQUAGREEN 0x03D687FF
  33. #define NICESKY 0x99FFFFAA
  34. #define WHITE 0xFFFFFFFF
  35. //**MISC**//
  36. #define ACCOUNTS_FOLDER "/sAccounts/%s.ini"
  37. #define LOGIN_DELAY 3 // Seconds. Default = 3 seconds
  38. //**VARIABLES**//
  39. enum aInfo
  40. {
  41. aPassword[128],
  42. aLogged,
  43. }
  44. ;
  45. new AccountInfo[MAX_PLAYERS][aInfo];
  46. new register[MAX_PLAYERS];
  47. new login[MAX_PLAYERS];
  48. forward LogIn(playerid);
  49. forward OnPlayerUpdate(playerid);
  50. /*x---------------------------------CallBacks-------------------------------------x*/
  51. public OnGameModeInit()
  52. {
  53. SendRconCommand("reloadfs Seifistration_TR");
  54. return 1;
  55. }
  56.  
  57. public OnPlayerConnect(playerid)
  58. {
  59. AccountInfo[playerid][aLogged] = 0;
  60. return 1;
  61. }
  62.  
  63. public OnPlayerDisconnect(playerid, reason)
  64. {
  65. OnPlayerUpdate(playerid);
  66. AccountInfo[playerid][aLogged] = 0;
  67. register[playerid] = 0;
  68. login[playerid] = 0;
  69. return 1;
  70. }
  71.  
  72. public OnPlayerSpawn(playerid)
  73. {
  74. new name[MAX_PLAYER_NAME];
  75. GetPlayerName(playerid, name, sizeof(name));
  76. new string[128];
  77. format(string, sizeof(string), ACCOUNTS_FOLDER, name);
  78. if (AccountInfo[playerid][aLogged] == 0)
  79.  
  80.  
  81. {
  82. if (!fexist(string))
  83.  
  84.  
  85. {
  86. new kayitmsg[256];
  87. format(kayitmsg,256,"Willkommen\n\n%s bitte �ffnen Sie ein neues Konto\n\nNeues Passwort eingeben:",name);
  88. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren"," Abbrechen");
  89. register[playerid] = 1;
  90. login[playerid] = 0;
  91.  
  92. }
  93. else if (fexist(string))
  94.  
  95. {
  96. new girismsg[256];
  97. format(girismsg,256,"Willkommen\n\nBenutzername: %s\n\nGeben Sie das Passwort:",name);
  98. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  99. register[playerid] = 0;
  100. login[playerid] = 1;
  101.  
  102. }
  103.  
  104. }
  105. return 1;
  106. }
  107.  
  108. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  109. {
  110. if (response == 1)
  111.  
  112.  
  113. {
  114. if(dialogid == 12345)
  115.  
  116.  
  117.  
  118. {
  119. if(strlen(inputtext))
  120.  
  121.  
  122.  
  123. {
  124. Encrypt(inputtext);
  125. new player[MAX_PLAYER_NAME];
  126. GetPlayerName(playerid, player, 50);
  127. new string3[32];
  128. new playername3[MAX_PLAYER_NAME];
  129. GetPlayerName(playerid, playername3, sizeof(playername3));
  130. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  131. new ip[20];
  132. GetPlayerIp(playerid,ip,sizeof(ip));
  133. new File: hFile = fopen(string3, io_write);
  134. if (hFile)
  135.  
  136. {
  137. strmid(AccountInfo[playerid][aPassword], inputtext, 0, strlen(inputtext), 255);
  138. new var[128];
  139. format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
  140. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  141. fclose(hFile);
  142. printf("%s is signed up.",playername3);
  143. SendClientMessage(playerid, GREEN, "|- Ihr Eintrag wurde erfolgreich durchgef�hrt. Jetzt k�nnen Sie sich anmelden. -|");
  144. new girismsg[256];
  145. format(girismsg,256,"Willkommen\n\nBenutzername: %s\n\nGeben Sie das Passwort:",playername3);
  146. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  147. register[playerid] = 0;
  148. login[playerid] = 1;
  149.  
  150.  
  151. }
  152.  
  153.  
  154.  
  155. }
  156. else if(!strlen(inputtext))
  157.  
  158.  
  159.  
  160. {
  161. new name[MAX_PLAYER_NAME];
  162. GetPlayerName(playerid, name, sizeof(name));
  163. new kayitmsg[256];
  164. format(kayitmsg,256,"Willkommen\n\n%s bitte �ffnen Sie ein neues Konto\n\nNeues Passwort eingeben:",name);
  165. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren"," Abbrechen");
  166. register[playerid] = 1;
  167. login[playerid] = 0;
  168.  
  169.  
  170.  
  171. }
  172.  
  173.  
  174. }
  175. if(dialogid == 12346)
  176.  
  177.  
  178. {
  179. Encrypt(inputtext);
  180. new string2[128];
  181. new playername2[MAX_PLAYER_NAME];
  182. GetPlayerName(playerid, playername2, sizeof(playername2));
  183. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  184. new File: UserFile = fopen(string2, io_read);
  185. if ( UserFile )
  186.  
  187.  
  188. {
  189. new PassData[256];
  190. new keytmp[256], valtmp[256];
  191. fread( UserFile , PassData , sizeof( PassData ) );
  192. keytmp = ini_GetKey( PassData );
  193. if( strcmp( keytmp , "Password" , true ) == 0 )
  194.  
  195. {
  196. valtmp = ini_GetValue( PassData );
  197. strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
  198.  
  199. }
  200. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0 && strlen(inputtext))
  201.  
  202.  
  203.  
  204. {
  205. for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
  206.  
  207.  
  208.  
  209. {
  210. inputtext[p] = '?';
  211.  
  212.  
  213.  
  214. }
  215. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  216. printf("%s is logged in.",playername2);
  217. new key[256] , val[256];
  218. new Data[256];
  219. while ( fread( UserFile , Data , sizeof( Data ) ) )
  220.  
  221. {
  222. key = ini_GetKey( Data );
  223. /*if(strcmp(key, "AdminLevel", true) == 0) // This is only an example if you want to add more stuff to store in a file.
  224.  
  225. {
  226. val = ini_GetValue( Data );
  227. AccountInfo[playerid][AdminLevel] = strval(val); // Uncommenting this will give you errors if the variable isn't defined.
  228.  
  229. }
  230. */
  231.  
  232. }
  233. fclose(UserFile);
  234.  
  235. }
  236. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == -1)
  237.  
  238.  
  239.  
  240. {
  241. new girismsg[256];
  242. printf("%s falsches Passwort verwendet wurde.",playername2);
  243. format(girismsg,256,"FALSCHES PASSWORT\n\nGeben Sie das Passwort:");
  244. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  245. login[playerid] = 1;
  246. register[playerid] = 0;
  247. fclose(UserFile);
  248. return 1;
  249.  
  250.  
  251. }
  252. if(!strlen(inputtext))
  253.  
  254.  
  255.  
  256. {
  257. new girismsg[256];
  258. printf("%s falsches Passwort verwendet wurde.",playername2);
  259. format(girismsg,256,"FALSCHES PASSWORT\n\nGeben Sie das Passwort:");
  260. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  261. login[playerid] = 1;
  262. register[playerid] = 0;
  263. fclose(UserFile);
  264. return 1;
  265.  
  266.  
  267.  
  268. }
  269.  
  270.  
  271.  
  272. }
  273.  
  274.  
  275.  
  276. }
  277. if(dialogid == 12347)
  278.  
  279. {
  280. Encrypt(inputtext);
  281. new string2[128];
  282. new playername2[MAX_PLAYER_NAME];
  283. GetPlayerName(playerid, playername2, sizeof(playername2));
  284. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  285. new File: UserFile = fopen(string2, io_read);
  286. if ( UserFile )
  287.  
  288.  
  289. {
  290. new PassData[256];
  291. new keytmp[256], valtmp[256];
  292. fread( UserFile , PassData , sizeof( PassData ) );
  293. keytmp = ini_GetKey( PassData );
  294. if( strcmp( keytmp , "Password" , true ) == 0 )
  295.  
  296. {
  297. valtmp = ini_GetValue( PassData );
  298. strmid(AccountInfo[playerid][aPassword], valtmp, 0, strlen(valtmp)-1, 255);
  299.  
  300. }
  301. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == 0 && strlen(inputtext))
  302.  
  303.  
  304.  
  305. {
  306. for(new p = 0; p < strlen(AccountInfo[playerid][aPassword]); p++)
  307.  
  308.  
  309.  
  310. {
  311. inputtext[p] = '?';
  312.  
  313.  
  314.  
  315. }
  316. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  317. printf("%s is logged in.",playername2);
  318. new key[256] , val[256];
  319. new Data[256];
  320. while ( fread( UserFile , Data , sizeof( Data ) ) )
  321.  
  322. {
  323. key = ini_GetKey( Data );
  324. /*if(strcmp(key, "AdminLevel", true) == 0) // This is only an example if you want to add more stuff to store in a file.
  325.  
  326. {
  327. val = ini_GetValue( Data );
  328. AccountInfo[playerid][AdminLevel] = strval(val); // Uncommenting this will give you errors if the variable isn't defined.
  329.  
  330. }
  331. */
  332.  
  333. }
  334. fclose(UserFile);
  335.  
  336. }
  337. if(strcmp(AccountInfo[playerid][aPassword],inputtext, true ) == -1)
  338.  
  339.  
  340.  
  341. {
  342. new girismsg[256];
  343. printf("%s falsches Passwort verwendet wurde.",playername2);
  344. format(girismsg,256,"FALSCHES PASSWORT\n\nGeben Sie das Passwort:");
  345. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  346. login[playerid] = 1;
  347. register[playerid] = 0;
  348. fclose(UserFile);
  349. return 1;
  350.  
  351.  
  352. }
  353. if(!strlen(inputtext))
  354.  
  355.  
  356.  
  357. {
  358. new girismsg[256];
  359. printf("%s falsches Passwort verwendet wurde.",playername2);
  360. format(girismsg,256,"FALSCHES PASSWORT\n\nGeben Sie das Passwort:");
  361. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Anmeldung",girismsg,"Anmeldung","Abbrechen");
  362. login[playerid] = 1;
  363. register[playerid] = 0;
  364. fclose(UserFile);
  365. return 1;
  366.  
  367.  
  368.  
  369. }
  370.  
  371.  
  372.  
  373. }
  374.  
  375.  
  376.  
  377. }
  378. }
  379. else return Kick(playerid);
  380. return 0;
  381. }
  382.  
  383. public OnPlayerDeath(playerid, killerid, reason)
  384. {
  385. return 1;
  386. }
  387.  
  388. public OnVehicleSpawn(vehicleid)
  389. {
  390. return 1;
  391. }
  392.  
  393. public OnVehicleDeath(vehicleid, killerid)
  394. {
  395. return 1;
  396. }
  397.  
  398. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  399. {
  400. return 1;
  401. }
  402.  
  403. public OnPlayerExitVehicle(playerid, vehicleid)
  404. {
  405. return 1;
  406. }
  407.  
  408. public OnPlayerStateChange(playerid, newstate, oldstate)
  409. {
  410. return 1;
  411. }
  412.  
  413. public OnPlayerEnterCheckpoint(playerid)
  414. {
  415. return 1;
  416. }
  417.  
  418. public OnPlayerLeaveCheckpoint(playerid)
  419. {
  420. return 1;
  421. }
  422.  
  423. public OnPlayerEnterRaceCheckpoint(playerid)
  424. {
  425. return 1;
  426. }
  427.  
  428. public OnPlayerLeaveRaceCheckpoint(playerid)
  429. {
  430. return 1;
  431. }
  432.  
  433. public OnRconCommand(cmd[])
  434. {
  435. return 1;
  436. }
  437.  
  438. public OnObjectMoved(objectid)
  439. {
  440. return 1;
  441. }
  442.  
  443. public OnPlayerObjectMoved(playerid, objectid)
  444. {
  445. return 1;
  446. }
  447.  
  448. public OnPlayerPickUpPickup(playerid, pickupid)
  449. {
  450. return 1;
  451. }
  452.  
  453. public OnPlayerSelectedMenuRow(playerid, row)
  454. {
  455. return 1;
  456. }
  457.  
  458. public OnPlayerExitedMenu(playerid)
  459. {
  460. return 1;
  461. }
  462.  
  463. stock ini_GetKey( line[] )
  464. {
  465. new keyRes[256];
  466. keyRes[0] = 0;
  467. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  468. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  469. return keyRes;
  470. }
  471.  
  472. stock ini_GetValue( line[] )
  473. {
  474. new valRes[256];
  475. valRes[0]=0;
  476. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  477. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  478. return valRes;
  479. }
  480.  
  481. public LogIn(playerid)
  482. {
  483. AccountInfo[playerid][aLogged] = 1;
  484. register[playerid] = 0;
  485. login[playerid] = 0;
  486. return 1;
  487. }
  488.  
  489. public OnPlayerUpdate(playerid)
  490. {
  491. if(IsPlayerConnected(playerid))
  492.  
  493. {
  494. if(AccountInfo[playerid][aLogged] == 1)
  495.  
  496. {
  497. new string3[128];
  498. new playername3[MAX_PLAYER_NAME];
  499. GetPlayerName(playerid, playername3, sizeof(playername3));
  500. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  501. new ip[20];
  502. GetPlayerIp(playerid,ip,sizeof(ip));
  503. new File: hFile = fopen(string3, io_write);
  504. if (hFile)
  505.  
  506. {
  507. new var[128];
  508. format(var, 128, "Password=%s\n", AccountInfo[playerid][aPassword]);fwrite(hFile, var);
  509. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  510. fclose(hFile);
  511.  
  512. }
  513.  
  514. }
  515.  
  516. }
  517. return 1;
  518. }
  519.  
  520. Encrypt(string[])
  521. {
  522. for(new x=0; x < strlen(string); x++)
  523.  
  524. {
  525. string[x] += (3^x) * (x % 15);
  526. if(string[x] > (0xff))
  527.  
  528. {
  529. string[x] -= 256;
  530.  
  531. }
  532.  
  533. }
  534. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement