Advertisement
Guest User

Untitled

a guest
Mar 12th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.17 KB | None | 0 0
  1. // Include
  2. #include <a_samp>
  3. #include <a_mysql>
  4. // Define
  5. #define function%0(%1) forward%0(%1); public%0(%1)
  6. #define SCM SendClientMessage
  7. // Colors
  8. #define COLOR_RED 0xff0000FF
  9. #define COLOR_GREEN 0x04ff00FF
  10. // New
  11. new SQL = -1, gQuery[256], gString[256];
  12. new
  13. incercariParola[MAX_PLAYERS];
  14. // Enum
  15. enum pInfo {
  16. pSQLID,
  17. pName[MAX_PLAYERS],
  18. pPassword[32],
  19. pEmail[32],
  20. pGender
  21. }
  22. new PlayerInfo[MAX_PLAYERS][pInfo];
  23. enum {
  24. // Register
  25. DIALOG_REGISTER,
  26. DIALOG_EMAIL,
  27. DIALOG_GENDER,
  28.  
  29. // Login
  30. DIALOG_LOGIN
  31. }
  32. // Started Gamemode
  33. main()
  34. {
  35. print("\n----------------------------------");
  36. print(" Starting gamemode by NighTeN");
  37. print("----------------------------------\n");
  38. }
  39.  
  40. public OnGameModeInit()
  41. {
  42. SQL = mysql_connect("localhost", "root", "NewGM", "");
  43. SetGameModeText("RPG ROMANIA v0.1");
  44. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  45. return 1;
  46. }
  47.  
  48. public OnPlayerRequestClass(playerid, classid)
  49. {
  50. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  51. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  52. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  53. return 1;
  54. }
  55.  
  56. public OnPlayerConnect(playerid) {
  57. incercariParola[playerid] = 0;
  58.  
  59. gQuery[0] = EOS;
  60. mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name` = '%s' LIMIT 1", GetName(playerid));
  61. mysql_tquery(SQL, gQuery, "checkAccount", "i", playerid);
  62. return 1;
  63. }
  64. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  65. switch(dialogid) {
  66. case DIALOG_REGISTER: {
  67. if(!response)
  68. return Kick(playerid);
  69. if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
  70. return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Parola trebuie sa contina minim 6 caractere / maxim 32!", "Select", "Cancel");
  71.  
  72. gQuery[0] = EOS;
  73. mysql_format(SQL, gQuery, sizeof(gQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES ('%s', '%s')", GetName(playerid), inputtext);
  74. mysql_tquery(SQL, gQuery, "insertAccount", "i", playerid);
  75.  
  76. gString[0] = EOS;
  77. format(gString, sizeof(gString), "Parola ta contine %d caractere!", strlen(inputtext));
  78. SCM(playerid, -1, gString);
  79.  
  80. format(PlayerInfo[playerid][pPassword], 32, inputtext);
  81.  
  82. ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Scrieti adresa de email!", "Select", "Cancel");
  83. }
  84. case DIALOG_EMAIL: {
  85. if(!response)
  86. return Kick(playerid);
  87. if(strlen(inputtext) < 6 || strlen(inputtext) > 32)
  88. return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Parola trebuie sa contina minim 6 caractere / maxim 32!", "Select", "Cancel");
  89.  
  90. gQuery[0] = EOS;
  91. mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Email`='%s' WHERE `ID`='%d'", inputtext, PlayerInfo[playerid][pSQLID]);
  92. mysql_tquery(SQL, gQuery, "", "", playerid);
  93.  
  94. gString[0] = EOS;
  95. format(gString, sizeof(gString), "Email setat: %s", inputtext);
  96. SCM(playerid, -1, gString);
  97.  
  98. format(PlayerInfo[playerid][pEmail], 32, inputtext);
  99.  
  100. ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Gender", "Seteaza-ti sexul", "Masculin", "Feminin");
  101. }
  102. case DIALOG_GENDER: {
  103. switch(response) {
  104. case 0: {
  105. PlayerInfo[playerid][pGender] = -1;
  106. SCM(playerid, -1, "Sex setat: Feminin");
  107. }
  108. case 1: {
  109. PlayerInfo[playerid][pGender] = 0;
  110. SCM(playerid, -1, "Sex setat: Masculin");
  111. }
  112. }
  113. gQuery[0] = EOS;
  114. mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Gender`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
  115. mysql_tquery(SQL, gQuery, "", "", playerid);
  116.  
  117. SpawnPlayer(playerid);
  118. }
  119. case DIALOG_LOGIN: {
  120. if(!response)
  121. return Kick(playerid);
  122.  
  123. mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name`='%s' AND `Password`='%s' LIMIT 1", GetName(playerid), inputtext);
  124. mysql_tquery(SQL, gQuery, "onLogin", "i", playerid);
  125. }
  126. }
  127. return 1;
  128. }
  129. // Function
  130. function checkAccount(playerid) {
  131. switch(cache_num_rows()) {
  132. case 0: ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Scrie o parola pentru a te putea inregistra!", "Select", "Cancel");
  133. case 1: ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrieti parola pe care o ai!", "Login", "Cancel");
  134. }
  135. return 1;
  136. }
  137. function insertAccount(playerid) {
  138. PlayerInfo[playerid][pSQLID] = cache_insert_id();
  139. printf("[REGISTER] %s s-a inregistrat cu SQLID-ul #%d.", GetName(playerid), PlayerInfo[playerid][pSQLID]);
  140. return 1;
  141. }
  142. function onLogin(playerid) {
  143. switch(cache_num_rows()) {
  144. case 0: {
  145. incercariParola[playerid] ++;
  146.  
  147. gString[0] = EOS;
  148. format(gString, sizeof(gString), "Parola incorecta! (%d/3 incercari ramase)", incercariParola[playerid]);
  149. SendClientMessage(playerid, COLOR_RED, gString);
  150.  
  151. if(incercariParola[playerid] == 3) return Kick(playerid);
  152.  
  153. else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Scrieti parola pe care o ai!", "Login", "Cancel");
  154. }
  155. case 1: {
  156. new
  157. result[64];
  158.  
  159. PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
  160. PlayerInfo[playerid][pGender] = cache_get_field_content_int(0, "Gender");
  161.  
  162. cache_get_field_content(0, "Name", result); format(PlayerInfo[playerid][pName], MAX_PLAYER_NAME, result);
  163. cache_get_field_content(0, "Password", result); format(PlayerInfo[playerid][pPassword], 32, result);
  164. cache_get_field_content(0, "Email", result); format(PlayerInfo[playerid][pEmail], 32, result);
  165.  
  166. printf("%s (user:%d) s-a logat. [Gender: %d, Name: %s, Password: %s, Email: %s", GetName(playerid), PlayerInfo[playerid][pSQLID], PlayerInfo[playerid][pGender], PlayerInfo[playerid][pName], PlayerInfo[playerid][pPassword], PlayerInfo[playerid][pEmail]);
  167.  
  168. for(new i = 0; i < 25; i++) SendClientMessage(playerid, -1, " ");
  169. SendClientMessage(playerid, COLOR_GREEN, "Te-ai logat cu succes");
  170. }
  171. }
  172. return 1;
  173. }
  174. // Stock
  175. stock GetName(playerid) {
  176. new playerName[MAX_PLAYER_NAME];
  177. GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
  178. return playerName;
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement