Advertisement
Guest User

Untitled

a guest
Feb 10th, 2019
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.34 KB | None | 0 0
  1. const logger = require('../utils/logger');
  2. const database = require('../base/database/database');
  3. const userManager = require('../users/userManager');
  4. const skinManager = require('../skins/skinManager');
  5. var bcrypt = require('bcrypt-nodejs');
  6. const Config = require('../../config.json');
  7. const chatbox = null;
  8.  
  9. mp.events.add("playerJoin", (player) => {
  10. player.loggedInAs = "";
  11. mp.events.call('GUImanager:back:openNewGui','auth',player)
  12. });
  13.  
  14. mp.events.add("sendDataToServer", (player, username, data, state) => {
  15. let loggedAccount = mp.players.toArray().find(p => p.loggedInAs == username);
  16. let parsedData = JSON.parse(data)
  17. let pass = parsedData.pass
  18. switch(state){
  19. case 0: //Login State
  20. {
  21. let loginError = false
  22. if (username.length <= 0 || pass.length <= 0)
  23. {
  24. loginError = true
  25. }
  26.  
  27. if(loggedAccount && !loginError) {
  28. logger('CONNECTION',`${player.name} alreayd logged`,'info');
  29. player.call("loginHandler", ["logged"]);
  30. }
  31. else if (!loginError)
  32. {
  33. database.user.findOne({
  34. where: {username: username}
  35. }).then(user => {
  36. if (user == null) {
  37. player.call("loginHandler", ["mdp-inc"]);
  38. }
  39. else {
  40. bcrypt.compare(pass, user.password, function(err, res) {
  41. if(res === true) { //Password is correct
  42. logger('CONNECTION',`${player.name} has joined`,'info');
  43. player.name = username;
  44. player.call("loginHandler", ["success"]);
  45. mp.events.call('closeGui','auth',player)
  46. mp.events.call('GUImanager:back:openNewGui','allui',player)
  47. if (user.skin == null) {
  48. skinManager.creatorStart(player)
  49. } else {
  50. skinManager.loadSkin(player)
  51. userManager.loadAccount(player);
  52. }
  53. } else { //Password is incorrect
  54. player.call("loginHandler", ["mdp-inc"]);
  55. }
  56. });
  57. }
  58. })
  59. }
  60. else {
  61. player.call("loginHandler", ["notAllEntered"]);
  62. }
  63. break;
  64. }
  65. case 1: //Register State
  66. {
  67. let ErrorRegister = false
  68. logger('age',parseInt(parsedData.age),'info')
  69. logger('age',isNaN(parseInt(parsedData.age)),'info')
  70. if (username.length < 4 ) {
  71. ErrorRegister = true
  72. player.call("loginHandler", ['tooShortUsername'])
  73. }
  74. else if(pass.length < 5 ) {
  75. ErrorRegister = true
  76. player.call("loginHandler", ['tooShortPass'])
  77. }
  78. else if(parsedData.firstname < 4) {
  79. ErrorRegister = true
  80. player.call("loginHandler", ['tooShortFirstname'])
  81. }
  82. else if(parsedData.lastname < 4) {
  83. ErrorRegister = true
  84. player.call("loginHandler", ['tooShortLastname'])
  85. }
  86. else if(isNaN(parseInt(parsedData.age))) {
  87. ErrorRegister = true
  88. logger('age','error','info')
  89. player.call("loginHandler", ['notGoodAge'])
  90. }
  91. else if(!isNaN(parseInt(parsedData.age)) && (parseInt(parsedData.age) < 18 || parseInt(parsedData.age) > 75)) {
  92. ErrorRegister = true
  93. player.call("loginHandler", ['notGoodAge'])
  94. }
  95. else if(isNaN(parseInt(parsedData.taille))) {
  96. ErrorRegister = true
  97. player.call("loginHandler", ['notGoodTaille'])
  98. }
  99. else if(!isNaN(parseInt(parsedData.taille)) && (parseInt(parsedData.taille) < 80 || parseInt(parsedData.taille) > 210)) {
  100. ErrorRegister = true
  101. player.call("loginHandler", ['notGoodTaille'])
  102. }
  103. else if(isNaN(parseInt(parsedData.date.dd))) {
  104. ErrorRegister = true
  105. player.call("loginHandler", ['notGoodDD'])
  106. }
  107. else if(!isNaN(parseInt(parsedData.date.dd)) && (parseInt(parsedData.date.dd) < 1 || parseInt(parsedData.date.dd) > 31)) {
  108. ErrorRegister = true
  109. player.call("loginHandler", ['notGoodDD'])
  110. }
  111. else if(isNaN(parseInt(parsedData.date.mm))) {
  112. ErrorRegister = true
  113. player.call("loginHandler", ['notGoodMM'])
  114. }
  115. else if(!isNaN(parseInt(parsedData.date.mm)) && (parseInt(parsedData.date.mm) < 1 || parseInt(parsedData.date.mm) > 12)) {
  116. ErrorRegister = true
  117. player.call("loginHandler", ['notGoodMM'])
  118. }
  119. else if(isNaN(parseInt(parsedData.date.yyyy))) {
  120. ErrorRegister = true
  121. player.call("loginHandler", ['notGoodYYYY'])
  122. }
  123. else if(!isNaN(parseInt(parsedData.date.yyyy)) && (parseInt(parsedData.date.yyyy) < 1920 || parseInt(parsedData.date.yyyy) > 2000)) {
  124. ErrorRegister = true
  125. player.call("loginHandler", ['notGoodYYYY'])
  126. }
  127.  
  128. if (parsedData.date.mm.length < 2) {
  129. parsedData.date.mm = '0' + parsedData.date.mm;
  130. }
  131.  
  132. if (parsedData.date.dd.length < 2) {
  133. parsedData.date.dd = '0' + parsedData.date.dd;
  134. }
  135.  
  136. if(!ErrorRegister){
  137. database.user.findOne({
  138. where: {username: username}
  139. }).then(user => {
  140. if (user == null) {
  141. bcrypt.hash(pass, null, null, function(err, hash) {
  142. if(err == null){
  143. database.user.create({
  144. firstname: parsedData.firstname,
  145. lastname: parsedData.lastname,
  146. dateofbirth: parsedData.date.dd + '/' + parsedData.date.mm + '/' + parsedData.date.yyyy,
  147. height: parsedData.taille,
  148. age: parsedData.age,
  149. username: username,
  150. password: hash,
  151. money: 15000,
  152. illegalmoney: 0,
  153. posX: Config.FirstSpawnPlayer.x,
  154. posY: Config.FirstSpawnPlayer.y,
  155. posZ: Config.FirstSpawnPlayer.z,
  156. health: 100,
  157. armour: 0,
  158. roles: 'player'
  159. }).then((user2) => {
  160. if(user2 != null){
  161. player.name = username;
  162. player.call("loginHandler", ["registered"]);
  163. logger('loginManager',"\x1b[92m" + username + "\x1b[39m has just registered.",'info');
  164. mp.events.call('closeGui','auth',player)
  165. skinManager.creatorStart(player)
  166. } else {
  167. logger.debug("\x1b[31m[ERROR] " + err)
  168. }
  169. })
  170. } else {
  171. logger.debug("\x1b[31m[BCrypt]: " + err)
  172. }
  173. });
  174. } else {
  175. player.call("loginHandler", ["takeninfo"]);
  176. }
  177. })
  178.  
  179. }
  180. break;
  181. }
  182. default:
  183. {
  184. player.call("loginHandler", ["notAllEntered"]);
  185. break;
  186. }
  187. }
  188. })
  189.  
  190. mp.events.add("playerQuit", (player) => {
  191. if(player.loggedInAs != ""){
  192. userManager.saveAccount(player);
  193. }
  194. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement