Guest User

Basic Login/Register Filterscript by wife-beater

a guest
Aug 2nd, 2012
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. // Basic MySQL Login/Register
  2. // --------------------------------
  3. // Credits:
  4. // + wife-beater
  5. // + G-sTyLeZzZ (mysql plugin)
  6. // + sa-mp team
  7. // --------------------------------
  8.  
  9. #include <a_samp>
  10. #include <a_mysql>
  11.  
  12. #define MYSQL_HOST "127.0.0.1"
  13. #define MYSQL_USER "root"
  14. #define MYSQL_DATABASE "mydatabase"
  15. #define MYSQL_PASSWORD "mypass"
  16.  
  17. enum {
  18. DIALOG_LOGIN = 0,
  19. DIALOG_REGISTER
  20. }
  21.  
  22. new hMySQL;
  23.  
  24. public OnFilterScriptInit()
  25. {
  26. hMySQL = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
  27. if(hMySQL != 0)
  28. {
  29. print("Successfully Connected To The MySQL Server!");
  30. }
  31. else
  32. {
  33. print("Error! Could Not Connect To The MySQL Server!");
  34. return 0;
  35. }
  36. return 1;
  37. }
  38.  
  39. public OnFilterScriptExit()
  40. {
  41. mysql_close(hMySQL);
  42. return 1;
  43. }
  44.  
  45. public OnPlayerRequestSpawn(playerid)
  46. {
  47. return 0;
  48. }
  49.  
  50. public OnPlayerRequestClass(playerid, classid)
  51. {
  52. new query[200], name[24];
  53.  
  54. for(new i = 0; i < 15; i++)
  55. SendClientMessage(playerid, -1, " ");
  56.  
  57. SendClientMessage(playerid, 0xFFFFA500, "Wilkommen auf Servername!");
  58.  
  59. GetPlayerName(playerid, name, 24);
  60. format(query, sizeof(query), "SELECT * FROM `account_data` WHERE `name`='%s'", name);
  61.  
  62. mysql_query(query);
  63. mysql_store_result();
  64.  
  65. if(mysql_num_rows() > 0)
  66. {
  67. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Du musst dich einloggen, um auf dem Server spielen zu können.\nUm dich einzuloggen, gib dein Passwort in diesem Feld ein und drücke auf den Login-Button:", "Login", "Abrrechen");
  68. }
  69. else
  70. {
  71. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrierung", "Gib hier bitte das Passwort, mit welchem du dich in Zukunft einloggen willst, ein:", "Registerieren", "Abbrechen");
  72. }
  73.  
  74. mysql_free_result();
  75. return 1;
  76. }
  77.  
  78. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  79. {
  80. switch(dialogid)
  81. {
  82. case DIALOG_REGISTER:
  83. {
  84. mysql_real_escape_string(inputtext, inputtext);
  85.  
  86. if (response == 1)
  87. {
  88. new query[200], name[24];
  89.  
  90. GetPlayerName(playerid, name, 24);
  91. format(query, sizeof(query), "INSERT INTO account_data (name, password, registertime) VALUES('%s', md5('%s'), '%i')", name, inputtext, (gettime() + 3600));
  92.  
  93. mysql_query(query);
  94.  
  95. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Du musst dich einloggen, um auf dem Server spielen zu können.\nUm dich einzuloggen gib dein Passwort in diesem Feld ein und drücke auf den Login-Button:", "Login", "Abrrechen");
  96. }
  97. else
  98. {
  99. SendClientMessage(playerid, 0xFF0000FF, "Du musst dich registrieren, um auf dem Server spielen zu können!");
  100. Kick(playerid);
  101. }
  102. }
  103. case DIALOG_LOGIN:
  104. {
  105. mysql_real_escape_string(inputtext, inputtext);
  106.  
  107. if (response == 1)
  108. {
  109. new query[200], name[24];
  110.  
  111. GetPlayerName(playerid, name, 24);
  112. format(query, sizeof(query), "SELECT * FROM account_data WHERE name='%s' AND password=md5('%s')", name, inputtext);
  113.  
  114. mysql_query(query);
  115. mysql_store_result();
  116.  
  117. if (mysql_num_rows() != 0)
  118. {
  119. SetSpawnInfo(playerid, 0, 280,1481.2395,-1751.6366,15.4453,359.9365, 26, 36, 28, 150, 0, 0);
  120. SpawnPlayer(playerid);
  121. }
  122. else
  123. {
  124. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{FF0000}Falsches Passwort!\n\n{FFFFFF}Du musst dich einloggen, um auf dem Server spielen zu können.\nUm dich einzuloggen, gib dein Passwort in diesem Feld ein und drücke auf den Login-Button:", "Login", "Abrrechen");
  125. }
  126.  
  127. mysql_free_result();
  128. }
  129. else
  130. {
  131. SendClientMessage(playerid, 0xFF0000FF, "Du musst dich registrieren, um auf dem Server spielen zu können!");
  132. Kick(playerid);
  133. }
  134. }
  135. }
  136. return 1;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment