Advertisement
Guest User

Untitled

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