Advertisement
myami

Untitled

Dec 10th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 KB | None | 0 0
  1. ////////////////////////////COMMANDS//////////////////////////////////////
  2. .add(new Command('register')
  3. .timeout(180000)
  4. .description('Create an ingame account')
  5. .handler((player, args) => {
  6. let password = args.join(" ");
  7.  
  8. if(pLogged[player.name]) {
  9. return player.SendChatMessage("Vous êtes déjà enregistré.");
  10. }
  11.  
  12. let connection = gm.utility.dbConnect();
  13.  
  14. connection.connect();
  15.  
  16. connection.query("SELECT username FROM users WHERE username = '" + player.name + "'", function(err, results) {
  17.  
  18. let numRows = results.length;
  19.  
  20. if(numRows >= 1) {
  21. connection.end();
  22. return player.SendChatMessage("Vous etes déjà enregistré, connectez vous avec: /login [Motdepasse]");
  23. }
  24. });
  25.  
  26. //let confirreg; // Variable que se asigna al jugador para que confirme la pwd
  27.  
  28. if(ConfirmReg[player.name])
  29. {
  30. if(ConfirmPwd[player.name] == password)
  31. {
  32. var sha1 = require('sha1');
  33. password = connection.escape(password);
  34. let pwdhash = sha1(password);
  35. console.log("Hash created: " + pwdhash);
  36. let SQLQuery = "INSERT INTO users (username, password) VALUES ('" + player.name+ "','" + pwdhash + "');";
  37. connection.query(SQLQuery, function(err) {
  38.  
  39. if(!err) {
  40. console.log("user "+ player.name + " registered sucesfull \n\n");
  41. player.SendChatMessage("Vous avez été inscrit avec succès");
  42. connection.query("SELECT id FROM users WHERE username = '" + player.name + "'", function(err2, results)
  43. {
  44. PlayerInfo[player.name].id = results[0].id;
  45.  
  46.  
  47. gm.events.onPlayerUpdate(player);
  48. pLogged[player.name] = true;
  49.  
  50. });
  51. connection.end();
  52. } else {
  53. console.log("Ha ocurrido un error al registrar al jugador \n\n");
  54. console.log("Error: " + err)
  55. player.SendChatMessage("Une erreur est survenue pendant votre inscription, Essayez a nouveaux" + err);
  56. }
  57.  
  58. });
  59.  
  60.  
  61. } else {
  62. player.SendChatMessage("Les mot de passes ne correspondent pas, Essayez à nouveaux");
  63. ConfirmPwd[player.name] = "";
  64. ConfirmReg[player.name] = false;
  65. }
  66.  
  67. } else {
  68. ConfirmPwd[player.name] = password;
  69. ConfirmReg[player.name] = true;
  70. player.SendChatMessage("Pour confirmer votre inscription tapez à nouveaux la commande /register [motdepasse]");
  71. }
  72. }))
  73.  
  74.  
  75.  
  76.  
  77. .add(new Command('login')
  78. .timeout(180000)
  79. .description('login youre account')
  80. .handler((player, args) => {
  81. if(!Registered[player.name]) {
  82. return player.SendChatMessage("Vous n'etes pas inscrit, Pour vous inscrire tapez la commande: /register [motdepasse]");
  83. } else {
  84.  
  85. let password = args.join(" ");
  86.  
  87. let connection = gm.utility.dbConnect();
  88. connection.connect();
  89. var sha1 = require('sha1');
  90. password = connection.escape(password);
  91. let pwdhash = connection.escape(sha1(password));
  92. let playername = connection.escape(player.name);
  93. console.log(playername);
  94. let SQLQuery = "SELECT * FROM users WHERE username = " + playername + " AND password = " + pwdhash;
  95. console.log(SQLQuery);
  96.  
  97. connection.query(SQLQuery, function(err, results) {
  98. let num_rows = results.length;
  99.  
  100. if(num_rows >= 1) {
  101.  
  102. if(results[0].banned) {
  103. player.Kick("Vous avez été bannis du serveur");
  104. }
  105. let stringLicenses = JSON.stringify(results[0]);
  106. console.log(stringLicenses);
  107. gm.events.onPlayerLogin(player, results[0]);
  108.  
  109. player.SendChatMessage("Connection réussie");
  110.  
  111. } else {
  112. player.SendChatMessage("Mot de passe incorrect, Réessayez.")
  113. }
  114.  
  115. });
  116.  
  117. connection.end();
  118.  
  119. } }))
  120.  
  121.  
  122. ///////////////////////////////////EVENTS//////////////////////////////
  123.  
  124.  
  125. events.Add('PlayerCreated', function(player) {
  126. pLogged[player.name] = false;
  127. ConfirmReg[player.name] = false;
  128.  
  129. PlayerInfo[player.name] = {
  130. id: 0,
  131. adminlvl: 0,
  132. death : 0,
  133. banned: 0
  134.  
  135.  
  136. };
  137.  
  138. // REG SYSTEM
  139.  
  140. let connection = gm.utility.dbConnect();
  141.  
  142. connection.connect(function(err){
  143.  
  144. if(!err) {
  145. console.log("Database is connected ... \n\n");
  146. } else {
  147. console.log("Error connecting database ... \n\n");
  148. }
  149.  
  150. });
  151.  
  152. connection.query("SELECT username FROM users WHERE username = '" + player.name + "'", function(err, results) {
  153.  
  154. let numRows = results.length;
  155.  
  156. if(numRows >= 1) {
  157. player.SendChatMessage("Use /login [PASSWORD] to connect"); // show the login UI
  158. Registered[player.name] = true;
  159.  
  160. } else {
  161. player.SendChatMessage("You are not registered, use /register [PASSWORD] to register"); // show the register UI
  162. Registered[player.name] = false;
  163. }
  164. });
  165. connection.end();
  166.  
  167.  
  168.  
  169.  
  170. console.log('Player ' + player.name + ' has successfully joined the server.');
  171. gm.chat.broadcast(player.name + ' has joined the server.', gm.config.color.orange);
  172.  
  173. });
  174.  
  175. events.Add('onPlayerLogin',function(player, dbData) {
  176. console.log("dbData \n" + dbData);
  177.  
  178. gm.utility.print("Player " + player.name + " logged in");
  179.  
  180.  
  181.  
  182.  
  183. PlayerInfo[player.name] = {
  184. id: dbData.id,
  185. adminlvl: dbData.adminlvl,
  186. death: dbData.death,
  187. banned: dbData.banned
  188.  
  189.  
  190. };
  191.  
  192. });
  193.  
  194.  
  195.  
  196. events.Add('onPlayerUpdate',function(player, callback, info) {
  197.  
  198. info = typeof info !== 'undefined' ? info : true;
  199. let connection = gm.utility.dbConnect();
  200.  
  201.  
  202.  
  203. connection.connect();
  204.  
  205. let SQLQuery = "UPDATE users SET" +
  206. " adminlvl=" + PlayerInfo[player.name].adminlvl +
  207. " ,death=" + PlayerInfo[player.name].death +
  208. " ,banned=" + PlayerInfo[player.name].banned +
  209. " WHERE id = " + PlayerInfo[player.name].id;
  210.  
  211. connection.query(SQLQuery, function(err) {
  212. if(err) {
  213. gm.utility.print("An error ocurred trying to upload the info of " + player.name);
  214. gm.utility.print("QUERY: " + SQLQuery);
  215. gm.utility.print("[ERROR]: " + err);
  216. if(callback) callback(false);
  217. } else {
  218. if(info) { gm.utility.print("player data of " + player.name + " has been updated " + info); }
  219. if(callback) callback(true);
  220. }
  221. });
  222.  
  223. connection.end();
  224.  
  225. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement