Guest User

Untitled

a guest
May 17th, 2018
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.58 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <zcmd>
  4.  
  5. #define mysql_host "localhost"
  6. #define mysql_db "databasegm"
  7. #define mysql_user "root"
  8. #define mysql_pass ""
  9. #define COLOR_GENANNOUNCE 0xA9C4E4FF
  10. #define COLOR_WHITE 0xFFFFFFFF
  11. #define COLOR_YELLOW 0xFFFF00AA
  12. #define pScorex 0
  13. forward Update(playerid, type);
  14.  
  15. enum
  16. {
  17. DIALOG_LOGIN,
  18. DIALOG_REGISTER
  19. };
  20.  
  21. enum pInfo
  22. {
  23. pPass,
  24. pID
  25. };
  26.  
  27.  
  28. new P_Data[MAX_PLAYERS][pInfo];
  29. new handle;
  30. forward MySQLConnect();
  31. forward OnPlayerLogin(playerid);
  32. forward OnLogin(playerid);
  33.  
  34. public Update(playerid, type)
  35. {
  36. if(IsPlayerConnected(playerid))
  37. {
  38. new var[356];
  39. {
  40. switch(type)
  41. {
  42. case pScorex:
  43. {
  44. mysql_format(handle, var, sizeof(var), "UPDATE `users` SET `Score`='%d' WHERE `ID`='%d'",GetPlayerScore(playerid), P_Data[playerid][pID]);
  45. mysql_tquery(handle,var,"","");
  46. }
  47. }
  48. }
  49. }
  50. }
  51. main()
  52. {
  53. print("!!!GM LOADED!!!");
  54. }
  55. public MySQLConnect()
  56. {
  57. handle = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);
  58. if(mysql_errno() != 0)
  59. {
  60. printf("DB Connection %s failed :( ---> Server closed ~~~", mysql_db);
  61. SendRconCommand("exit");
  62. }
  63. else
  64. {
  65. printf("DB Connection '%s' with user '%s' was succeful", mysql_db, mysql_user);
  66. }
  67. return 1;
  68. }
  69.  
  70. public OnGameModeInit()
  71. {
  72. MySQLConnect();
  73. SetGameModeText("Game-Mode");
  74. return 1;
  75. }
  76. CMD:gmx(playerid, params[])
  77. {
  78. SendRconCommand("gmx");
  79. }
  80.  
  81. public OnGameModeExit()
  82. {
  83. mysql_close(handle);
  84. return 1;
  85. }
  86.  
  87. public OnPlayerRequestClass(playerid, classid)
  88. {
  89. return 1;
  90. }
  91.  
  92. public OnPlayerConnect(playerid)
  93. {
  94. new query[100];
  95. mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Name = '%s'", GetName(playerid));
  96. mysql_tquery(handle, query, "OnPlayerLogin", "i", playerid);
  97.  
  98. return 1;
  99. }
  100. public OnPlayerLogin(playerid)
  101. {
  102. new rows, fields;
  103. cache_get_data(rows, fields);
  104. if(rows)
  105. {
  106. SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}Welcome to test.");
  107. SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}You already have a registered account, please enter your password into the dialog box.");
  108. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "SERVER: Login", "You already have an account. Please enter password for login!", "Logare", "Exit"); }
  109. else
  110. {
  111.  
  112. SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}Welcome to test.");
  113. SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}You aren't registered yet. Please enter your desired password in the dialog box to register.");
  114. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "SERVER: Register", "Your password must exceed 1 character!\n\nWelcome to the test Server.\n\nPlease enter your desired password below!", "Register", "Exit");
  115. }
  116. return 1;
  117. }
  118.  
  119. public OnLogin(playerid)
  120. {
  121. new rows, fields,temporar[200];
  122. cache_get_data(rows, fields);
  123. if(rows)
  124. {
  125. P_Data[playerid][pPass] = cache_get_field_content(0, "Password",temporar);
  126. P_Data[playerid][pID] = cache_get_field_content_int(0, "ID");
  127. new score = cache_get_field_content_int(0, "Score");
  128. SetPlayerScore(playerid, score);
  129.  
  130. SpawnPlayer(playerid);
  131. }
  132. else
  133. {
  134. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect Password", "Please enter the corect password for login to server.", "Login", "Exit");
  135. }
  136. return 1;
  137. }
  138.  
  139. public OnPlayerDisconnect(playerid, reason)
  140. {
  141. return 1;
  142. }
  143.  
  144. public OnPlayerSpawn(playerid)
  145. {
  146. SetPlayerSkin(playerid, 250);
  147. SetPlayerPos(playerid, 1800.0381, -1865.3478, 13.5727);
  148. SetPlayerInterior(playerid,0);
  149. SetPlayerVirtualWorld(playerid, 0);
  150. return 1;
  151. }
  152. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  153. {
  154. new query[128], ip[25];
  155.  
  156. switch(dialogid)
  157. {
  158. case DIALOG_REGISTER:
  159. {
  160. if(!response)
  161. return Kick(playerid);
  162.  
  163. if(response)
  164. {
  165. if(!strlen(inputtext))
  166. return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Invalid Password", "Please enter a good password to register to the server.", "Register", "Exit");
  167.  
  168.  
  169. GetPlayerIp(playerid, ip, sizeof(ip));
  170. mysql_format(handle, query, sizeof(query), "INSERT INTO users (Name, Password, IP) VALUES ('%s', '%e', '%s')", GetName(playerid), inputtext, ip);
  171. mysql_query(handle, query);
  172.  
  173. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Please enter the password in the box!", "Login", "Exit");
  174. }
  175. return 1;
  176. }
  177. case DIALOG_LOGIN:
  178. {
  179. if(!response)
  180. return Kick(playerid);
  181.  
  182. if(response)
  183. {
  184. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect Password!", "Please enter the correct password for login to server" ,"Login", "Exit");
  185.  
  186. mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Password = '%e' LIMIT 0,1", inputtext);
  187. mysql_tquery(handle, query, "OnLogin", "i", playerid);
  188. }
  189. return 1;
  190. }
  191. }
  192. return 1;
  193. }
  194. stock GetName(playerid)
  195. {
  196. new Name[MAX_PLAYER_NAME];
  197.  
  198. GetPlayerName(playerid, Name, sizeof(Name));
  199. return Name;
  200. }
Advertisement
Add Comment
Please, Sign In to add comment