Guest User

Untitled

a guest
Jun 22nd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.94 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #define COLOR_BLUE 0x0000BBAA
  3.  
  4. #include <a_samp>
  5. #include <dutils>
  6. #include <Dini>
  7.  
  8. #pragma unused ret_memcpy
  9.  
  10. enum pInfo
  11. {
  12. AdminLevel,
  13. level,
  14. cash,
  15. password,
  16. }
  17. new PlayerInfo[MAX_PLAYERS][pInfo];
  18.  
  19. #if defined FILTERSCRIPT
  20.  
  21. public OnFilterScriptInit()
  22. {
  23. print("\n--------------------------------------");
  24. print(" Login Script");
  25. print("--------------------------------------\n");
  26. return 1;
  27. }
  28.  
  29. public OnFilterScriptExit()
  30. {
  31. return 1;
  32. }
  33.  
  34. public OnPlayerConnect(playerid)
  35. new name[MAX_PLAYER_NAME], file[128];
  36. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  37. format(file, sizeof(file), ".../Users/%s.ini", name);
  38. if(!fexist(file))
  39. {
  40. SendClientMessage(playerid, COLOR_BLUE, "Welcome!");
  41. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "You must register, please enter your chosen password below!", "Register", "Cancel");
  42. }
  43. else
  44. {
  45. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  46. SendClientMessage(playerid, COLOR_BLUE, "Welcome back!");
  47. SendClientMessage(playerid, COLOR_BLUE, str);
  48. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
  49. }
  50. return 1;
  51. }
  52.  
  53. public OnPlayerDisconnect(playerid, reason)
  54. {
  55. new file[128], name[MAX_PLAYER_NAME];
  56. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  57. format(file, sizeof(file), ".../Users/%s.ini", name);
  58. if(dini_Exists(file)) {
  59. dini_IntSet(file, "password", PlayerInfo[playerid][password]);
  60. dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
  61. dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
  62. dini_IntSet(file, "level", PlayerInfo[playerid][level]);
  63. }
  64. return 1;
  65. }
  66.  
  67. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  68. {
  69. if(dialogid == 1) {
  70. new file[128], name[MAX_PLAYER_NAME], str[128];
  71. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  72. format(file, sizeof(file), ".../Users/%s.ini", name);
  73. if(response) {
  74. if(strlen(inputtext)) {
  75. dini_Create(file);
  76. dini_IntSet(file, "password", num_hash(inputtext));
  77. dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
  78. dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
  79. dini_IntSet(file, "level", PlayerInfo[playerid][level]);
  80. SendClientMessage(playerid, COLOR_BLUE, "You have logged in.");
  81. PlayerInfo[playerid][level] = dini_Int(file, "level");
  82. PlayerInfo[playerid][cash] = dini_Int(file, "cash");
  83. PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
  84. }
  85. }
  86. else {
  87. Kick(playerid);
  88. }
  89. }
  90. if(dialogid == 2) {
  91. new file[128], name[MAX_PLAYER_NAME], str[128];
  92. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  93. format(str, sizeof(str), ".../Users/%s.ini", name);
  94. if(response) {
  95. if(strlen(inputtext)) {
  96. if(num_hash(inputtext) != dini_Int(file, "password")) {
  97. SendClientMessage(playerid, COLOR_BLUE, "You have entered the wrong password.");
  98. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "To login, enter your password", "Login", "Cancel");
  99. }
  100. else {
  101. SendClientMessage(playerid, COLOR_BLUE, "Succesfuly logged in");
  102. PlayerInfo[playerid][level] = dini_Int(file, "level");
  103. PlayerInfo[playerid][cash] = dini_Int(file, "cash");
  104. GivePlayerMoney(playerid, dini_Int(file, "cash"));
  105. PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
  106. }
  107. }
  108. }
  109. else {
  110. Kick(playerid);
  111. }
  112. }
  113. return 1;
  114. }
  115. #endif
Add Comment
Please, Sign In to add comment