Guest User

Untitled

a guest
May 18th, 2014
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.32 KB | None | 0 0
  1. stock MySQL_Register(playerid, passwordstring[])
  2. {
  3. new query1[350], pname[24], Bannedby[20];
  4. format(Bannedby, 20, "Not Banned");
  5. GetPlayerName(playerid, pname, 24);
  6. format(query1, sizeof(query1), "INSERT INTO playerdata (user, password, score, money, level, vip, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa, IP) VALUES('%s', SHA1('%s'), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '%s')", pname, passwordstring, GetIP(playerid));
  7. mysql_query(query1);
  8. SendClientMessage(playerid,COLOR_PINK,"You have successfully registered on the server! Enjoy!");
  9. GameTextForPlayer(playerid,"~G~You have registered successfully!",5000,4);
  10. LoggedIn[playerid] = 1;
  11. if (PlayerInfo[playerid][pLevel]>=1)
  12. {
  13. new st[128];
  14. format(st,128,"%s has successfully registered.",GetName(playerid));
  15. SendClientMessage(playerid, COLOR_GREY,st);
  16. return 1;
  17. }
  18. return 1;
  19. }
  20.  
  21. stock MySQL_Login(playerid)
  22. {
  23. new query[1]; new query2[300], pname[24];
  24. GetPlayerName(playerid, pname, 24);
  25. format(query2, sizeof(query2), "SELECT * FROM playerdata WHERE user = '%s'", pname);
  26. mysql_query(query2);
  27. while(mysql_fetch_row_format(query,"|"))
  28. {
  29. new savingstring[20];
  30. mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
  31. mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
  32. mysql_fetch_field_row(savingstring, "level"); PlayerInfo[playerid][pLevel] = strval(savingstring);
  33. mysql_fetch_field_row(savingstring, "vip"); PlayerInfo[playerid][pVIP] = strval(savingstring);
  34. mysql_fetch_field_row(savingstring, "rank"); PlayerInfo[playerid][pRank] = strval(savingstring);
  35. mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][pKills] = strval(savingstring);
  36. mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][pDeaths] = strval(savingstring);
  37. mysql_fetch_field_row(savingstring, "muted"); PlayerInfo[playerid][pMuted] = strval(savingstring);
  38. mysql_fetch_field_row(savingstring, "jailed"); PlayerInfo[playerid][pJailed] = strval(savingstring);
  39. mysql_fetch_field_row(savingstring, "frozen"); PlayerInfo[playerid][pFrozen] = strval(savingstring);
  40. mysql_fetch_field_row(savingstring, "logins"); PlayerInfo[playerid][pLogins] = strval(savingstring);
  41. mysql_fetch_field_row(savingstring, "posx"); PlayerInfo[playerid][pPosX] = strval(savingstring);
  42. mysql_fetch_field_row(savingstring, "posy"); PlayerInfo[playerid][pPosY] = strval(savingstring);
  43. mysql_fetch_field_row(savingstring, "posz"); PlayerInfo[playerid][pPosZ] = strval(savingstring);
  44. mysql_fetch_field_row(savingstring, "posa"); PlayerInfo[playerid][pPosA] = strval(savingstring);
  45. }
  46. mysql_free_result();
  47. JustLoggedIn[playerid] = 1;
  48. LoggedIn[playerid] = 1;
  49. PlayerInfo[playerid][pLogins]++;
  50. return 1;
  51. }
  52.  
  53. public OnPlayerConnect(playerid)
  54. {
  55. new query[300], pname[24];
  56. new rows = mysql_num_rows();
  57. GetPlayerName(playerid, pname, 24);
  58. format(query, sizeof(query), "SELECT IP FROM `playerdata` WHERE user = '%s' LIMIT 1", pname);
  59. mysql_query(query);
  60. mysql_store_result();
  61. IsPlayerBanned(playerid);
  62. JustLoggedIn[playerid] = 0;
  63.  
  64. if(rows == 1)
  65. {
  66. SendClientMessage(playerid, COLOR_RED, "That Username is Registered!");
  67. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""my server""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  68. }
  69. else
  70. {
  71. GameTextForPlayer(playerid,"Welcome",2000,20);
  72. SendClientMessage(playerid, COLOR_PINK, "That username is not registered. Please Proceed.");
  73. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""my server""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  74. }
  75. return 1;
  76. }
  77.  
  78. public OnPlayerDisconnect(playerid, reason)
  79. {
  80. if(LoggedIn[playerid] == 1)
  81. {
  82. new Float:x, Float:y, Float:z, Float:a;
  83. GetPlayerPos(playerid, x, y, z);
  84. GetPlayerFacingAngle(playerid, a);
  85. PlayerInfo[playerid][pPosX] = x;
  86. PlayerInfo[playerid][pPosY] = y;
  87. PlayerInfo[playerid][pPosZ] = z;
  88. PlayerInfo[playerid][pPosA] = a;
  89. new score = GetPlayerScore(playerid);
  90. new money = GetPlayerMoney(playerid);
  91. new query[300], pname[24]; new nquery[300];
  92. GetPlayerName(playerid, pname, 24);
  93. format(query, sizeof(query), "UPDATE `playerdata` SET score='%d', money='%d', level='%d', vip='%d', rank='%d', kills='%d', deaths='%d', muted='%d', jailed='%d', frozen='%d' WHERE user='%s'", score, money, PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pVIP], PlayerInfo[playerid][pRank], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pMuted], PlayerInfo[playerid][pJailed], PlayerInfo[playerid][pFrozen], pname);
  94. format(nquery,300,"UPDATE `playerdata` SET logins='%d', posx='%f', posy='%f', posz='%f', posa='%f' WHERE user='%s'", PlayerInfo[playerid][pLogins], PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosA], pname);
  95. mysql_store_result();
  96. mysql_query(query);
  97. mysql_query(nquery);
  98. mysql_free_result();
  99. }
  100. return 1;
  101. }
  102.  
  103. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  104. {
  105. if(dialogid == DIALOG_REGISTER)
  106. {
  107. if(response)
  108. {
  109. if(!strlen(inputtext) || strlen(inputtext) > 100)
  110. {
  111. SendClientMessage(playerid,COLOR_RED,"Please enter a password within the length of 1 - 100 characters.");
  112. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""my server""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
  113. }
  114. else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
  115. {
  116. new escpass[100];
  117. mysql_real_escape_string(inputtext, escpass);
  118. MySQL_Register(playerid, escpass);
  119. }
  120. }
  121. if(!response)
  122. {
  123. SendClientMessage(playerid, COLOR_RED, "You must login to play and hence have been kicked.");
  124. Kick(playerid);
  125. }
  126. }
  127. if(dialogid == DIALOG_LOGIN)
  128. {
  129. if(!response)
  130. {
  131. SendClientMessage(playerid, COLOR_RED, "You must login to play and hence have been kicked.");
  132. Kick(playerid);
  133. }
  134. if(response)
  135. {
  136. new query[200], pname[24], escapepass[100];
  137. GetPlayerName(playerid, pname, 24);
  138. mysql_real_escape_string(inputtext, escapepass);
  139. format(query, sizeof(query), "SELECT `user` FROM playerdata WHERE user = '%s' AND password = SHA1('%s')", pname, escapepass);
  140. mysql_query(query);
  141. mysql_store_result();
  142. new numrows = mysql_num_rows();
  143. if(numrows == 1) MySQL_Login(playerid);
  144. if(!numrows)
  145. {
  146. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""my server""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
  147. GameTextForPlayer(playerid,"~r~Wrong password.",2000,6);
  148. }
  149. mysql_free_result();
  150. }
  151. }
  152. return 1;
  153. }
  154.  
  155. Here's mysql log.
  156.  
  157. [19:23:25]
  158.  
  159. [19:23:25] ---------------------------
  160.  
  161. [19:23:25] MySQL Debugging activated (05/18/14)
  162.  
  163. [19:23:25] ---------------------------
  164.  
  165. [19:23:25]
  166.  
  167. [19:23:25] >> mysql_connect( )
  168.  
  169. [19:23:25] CMySQLHandler::CMySQLHandler() - constructor called.
  170.  
  171. [19:23:25] CMySQLHandler::CMySQLHandler() - Connecting to "127.0.0.1" | DB: "test" | Username: "test" ...
  172.  
  173. [19:23:25] CMySQLHandler::Connect() - Connection was successful.
  174.  
  175. [19:23:25] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
  176.  
  177. [19:23:25]
  178.  
  179. [19:23:25] ---------------------------
  180.  
  181. [19:23:25] MySQL Debugging activated (05/18/14)
  182.  
  183. [19:23:25] ---------------------------
  184.  
  185. [19:23:25]
  186.  
  187. [19:23:25] >> mysql_ping( Connection handle: 1 )
  188.  
  189. [19:23:25] CMySQLHandler::Ping() - Connection is still alive.
  190.  
  191. [19:24:19] >> mysql_num_rows( Connection handle: 1 )
  192.  
  193. [19:24:19] CMySQLHandler::NumRows() - You cannot call this function now. (Reason: Dead Connection)
  194.  
  195. [19:24:19] >> mysql_query( Connection handle: 1 )
  196.  
  197. [19:24:19] CMySQLHandler::Query(SELECT IP FROM `playerdata` WHERE user = 'testproject69' LIMIT 1) - Successfully executed.
  198.  
  199. [19:24:19] >> mysql_store_result( Connection handle: 1 )
  200.  
  201. [19:24:19] CMySQLHandler::StoreResult() - Result was stored.
  202.  
  203. [19:24:19] >> mysql_query( Connection handle: 1 )
  204.  
  205. [19:24:19] CMySQLHandler::Query(SELECT * FROM `Bans` WHERE (`Username` = 'testproject69' OR `IP` = 'hi') AND `Banned` = 1 LIMIT 1) - Successfully executed.
  206.  
  207. [19:24:19] >> mysql_store_result( Connection handle: 1 )
  208.  
  209. [19:24:19] CMySQLHandler::StoreResult() - Result was stored.
  210.  
  211. [19:24:19] >> mysql_num_rows( Connection handle: 1 )
  212.  
  213. [19:24:19] CMySQLHandler::NumRows() - Returned 0 row(s)
  214.  
  215. [19:24:19] >> mysql_free_result( Connection handle: 1 )
  216.  
  217. [19:24:19] CMySQLHandler::FreeResult() - Result was successfully free'd.
  218.  
  219. [19:24:24] >> mysql_real_escape_string( Connection handle: 1 )
  220.  
  221. [19:24:24] CMySQLHandler::EscapeString(testing); - Escaped 7 characters to testing.
  222.  
  223. [19:24:24] >> mysql_query( Connection handle: 1 )
  224.  
  225. [19:24:24] CMySQLHandler::Query(INSERT INTO playerdata (user, password, score, money, level, vip, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa, IP) VALUES('testproject69', SHA1('testing'), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '192.168.2.147')) - An error has occured. (Error ID: 1136, Column count doesn't match value count at row 1)
  226.  
  227. [19:24:52] >> mysql_query( Connection handle: 1 )
  228.  
  229. [19:24:52] CMySQLHandler::Query(UPDATE `playerdata` SET level='5' WHERE user='testproject69') - Successfully executed.
  230.  
  231. [19:24:52] >> mysql_query( Connection handle: 1 )
  232.  
  233. [19:24:52] CMySQLHandler::Query(SELECT level='5' FROM `playerdata`) - Successfully executed.
  234.  
  235. [19:24:53] >> mysql_store_result( Connection handle: 1 )
  236.  
  237. [19:24:53] CMySQLHandler::StoreResult() - Result was stored.
  238.  
  239. [19:24:53] >> mysql_query( Connection handle: 1 )
  240.  
  241. [19:24:54] CMySQLHandler::Query(UPDATE `playerdata` SET score='0', money='0', level='5', vip='0', rank='0', kills='0', deaths='0', muted='0', jailed='0', frozen='0' WHERE user='testproject69') - Successfully executed.
  242.  
  243. [19:24:54] >> mysql_query( Connection handle: 1 )
  244.  
  245. [19:24:54] CMySQLHandler::Query(UPDATE `playerdata` SET logins='0', posx='132.000000', posy='-66.943382', posz='1.578125', posa='0.000000' WHERE user='testproject69') - Successfully executed.
  246.  
  247. [19:24:54] >> mysql_free_result( Connection handle: 1 )
  248.  
  249. [19:24:54] CMySQLHandler::FreeResult() - Result was successfully free'd.
Advertisement
Add Comment
Please, Sign In to add comment