daily pastebin goal
86%
SHARE
TWEET

Untitled

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