Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Odbieramy nasze exportowane funkcje z pliku //mysql-db.js
  2. let moduleSQL = require('./mysql_db');
  3. let moduleSHA256 = require('./hash');
  4.  
  5.  
  6. /*
  7. [===============Panel Rejestracji i Logowania==============]
  8. */
  9. var acc = {
  10.     id: "",
  11.     login: "",
  12.     char_name: "",
  13.     pass: "",
  14.     posX: "",
  15.     posY: "",
  16.     posZ: "",
  17.     money: ""
  18. };
  19.  
  20. module.exports = acc;
  21.  
  22. mp.events.add('OnPlayerRegisterAttempt', (player, username, password) => {
  23.  
  24.  
  25.     // var amount = 2000;
  26.     // player.setVariable('money', amount);
  27.     // acc.money_amount = player.getVariable('money');
  28.     acc.money = 2000;
  29.  
  30.  
  31.     // acc.login = moduleSHA256.SHA256(username);
  32.     acc.login = username;
  33.     acc.pass = moduleSHA256.SHA256(password);
  34.     console.log(acc.login);
  35.     console.log(acc.pass);
  36.  
  37.     acc.char_name = player.name;
  38.  
  39.     if (moduleSQL.mysqlc.connect) {
  40.  
  41.         var sqlCheck = 'SELECT * FROM users WHERE login = ? AND password = ?';
  42.         moduleSQL.mysqlc.query(sqlCheck, [acc.login, acc.pass], function (err, result) {
  43.             if (result == 0) {
  44.                 console.log("Wysyłam dane do bazy !");
  45.                 var sql = `INSERT INTO users (login, password, char_name, money) VALUES ('${acc.login}', '${acc.pass}', '${acc.char_name}','${acc.money}')`;
  46.                 moduleSQL.mysqlc.query(sql, function (err, result) {
  47.                     if (err) {
  48.                         console.log(err);
  49.                         player.outputChatBox("Nie udało się zarejestrować.");
  50.                     } else {
  51.                         player.outputChatBox("Zarejestrowałeś się poprawnie.");
  52.                         console.log('Last insert ID:', result.insertId);
  53.  
  54.                     }
  55.                 });
  56.             } else {
  57.                 player.outputChatBox("Już takie konto istnieje.");
  58.             }
  59.         });
  60.  
  61.     }
  62.  
  63. });
  64.  
  65.  
  66. mp.events.add('OnPlayerLoginAttempt', (player, username, password) => {
  67.  
  68.     // acc.login = moduleSHA256.SHA256(username);
  69.     acc.login = username;
  70.     acc.pass = moduleSHA256.SHA256(password);
  71.     console.log(acc.login);
  72.     console.log(acc.pass);
  73.  
  74.     if (moduleSQL.mysqlc.connect) {
  75.  
  76.         var sqlCheck = 'SELECT * FROM users WHERE login = ? AND password = ?';
  77.         moduleSQL.mysqlc.query(sqlCheck, [acc.login, acc.pass], function (err, result) {
  78.             if (result == 0) {
  79.                 var loginResult = 0;
  80.                 console.log("Konto nie istnieje.");
  81.                 //Wywołuje event ze strony client-side z pliku Main.js
  82.                 player.call("LoginResult", [loginResult]);
  83.             } else {
  84.                 var loginResult = 1;
  85.                 console.log("Konto istnieje.")
  86.                 //Wywołuje event ze strony client-side z pliku Main.js
  87.                 acc.id = result[0].id;
  88.                 acc.login = result[0].login;
  89.                 acc.pass = result[0].password;
  90.                 acc.char_name = result[0].char_name;
  91.                 acc.posX = result[0].posX;
  92.                 acc.posY = result[0].posY;
  93.                 acc.posZ = result[0].posZ;
  94.                 acc.money = result[0].money
  95.  
  96.                 console.log("Dane konta po zalogowaniu: ");
  97.                 console.log(acc.id);
  98.                 console.log(acc.login);
  99.                 console.log(acc.char_name);
  100.                 console.log(acc.posX);
  101.                 console.log(acc.posY);
  102.                 console.log(acc.posZ);
  103.                 console.log(acc.money);
  104.                 player.call("LoginResult", [loginResult]);
  105.  
  106.  
  107.  
  108.  
  109.             }
  110.         });
  111.  
  112.     }
  113.  
  114. });
  115.  
  116. mp.events.add('LoadAccount', (player) => {
  117.     if (acc.posX == 0 && acc.posY == 0 && acc.posZ == 0) {
  118.         player.spawn(new mp.Vector3(6672.400390625, -7560.73193359375, 11.243311882019043));
  119.         player.outputChatBox(`Witamy na serwerze ! ${player.name}`);
  120.  
  121.  
  122.     } else {
  123.         player.spawn(new mp.Vector3(acc.posX, acc.posY, acc.posZ));
  124.  
  125.         player.outputChatBox(`Witamy na serwerze ! ${player.name}`);
  126.  
  127.     }
  128. });
  129.  
  130. function SaveAccount(player) {
  131.     moduleSQL.mysqlc.query('UPDATE `users` SET posX = ?, posY = ?, posZ = ?, money = ? WHERE id = ?', [player.position.x.toFixed(2), player.position.y.toFixed(2), player.position.z.toFixed(2), acc.money, acc.id], function (err, res, row) {
  132.         if (err) console.log(err);
  133.         else {
  134.             console.log("Zaaktualizowano dane w bazie MySQL");
  135.         }
  136.     });
  137. }
  138.  
  139. mp.events.add("playerQuit", (player) => {
  140.     SaveAccount(player);
  141.  
  142. });
  143. /*
  144. [===============System Pojazdów==============]
  145. */
  146.  
  147. var veh = {
  148.     id: "",
  149.     model: "",
  150.     posX: "",
  151.     posY: "",
  152.     posZ: "",
  153.     color1_1: "",
  154.     color1_2: "",
  155.     color1_3: "",
  156.     color2_1: "",
  157.     color2_2: "",
  158.     color2_3: "",
  159.     owner: "",
  160.     acc_id: "",
  161.     spawned: ""
  162. };
  163. //Tablica do przechowywania pojazdów gracza.
  164. var spawnedVehicles = [];
  165. var spawnStatusVehicles = [];
  166.  
  167. //Obiekt do którego przypisany jest utworzony pojazd w celu przekazania jego do komend /engineon i /engineoff
  168. var spawnedVehicle = {};
  169.  
  170.  
  171. mp.events.addCommand('buycar', (player, _, vehName) => {
  172.  
  173.     if (vehName && vehName.trim().length > 0) {
  174.  
  175.         //Domyślne ustawienia kupionego samochodu:
  176.         veh.posX = 7401.07666015625;
  177.         veh.posY = -7560.8955078125;
  178.         veh.posZ = 3.85111141204834;
  179.         veh.color1_1 = 0;
  180.         veh.color1_2 = 255;
  181.         veh.color1_3 = 0;
  182.         veh.color2_1 = 0;
  183.         veh.color2_2 = 255;
  184.         veh.color2_3 = 0;
  185.         veh.model = vehName;
  186.  
  187.         if (moduleSQL.mysqlc.connect) {
  188.  
  189.             var sql = `INSERT INTO vehicles (model, posX, posY, posZ, color1_1, color1_2, color1_3, color2_1, color2_2, color2_3, owner, acc_id) VALUES ('${veh.model}', '${veh.posX}', '${veh.posY}','${veh.posZ}','${veh.color1_1}','${veh.color1_2}','${veh.color1_3}','${veh.color2_1}','${veh.color2_2}','${veh.color2_3}','${acc.char_name}','${acc.id}')`;
  190.             moduleSQL.mysqlc.query(sql, function (err, result) {
  191.                 if (err) {
  192.                     console.log(err);
  193.                     player.outputChatBox("Nie udało się kupić pojazdu.");
  194.                 } else {
  195.                     player.outputChatBox("Kupiłeś pojazd.");
  196.                     player.outputChatBox(`ID Twojego pojazdu to: ${result.insertId}`);
  197.  
  198.                     console.log('ID pojazdu przypisane w bazie danych: ', result.insertId);
  199.  
  200.                 }
  201.             });
  202.         }
  203.     }
  204. });
  205.  
  206. mp.events.addCommand('spawnc', (player, _, id) => {
  207.     if (id && id.trim().length > 0) {
  208.  
  209.         console.log("Wysyłam zapytanie do bazy danych w celu pobrania samochodów należących do gracza, który wywołał komendę.")
  210.  
  211.         var queryGetVehicle = 'SELECT * FROM vehicles WHERE owner = ? AND acc_id = ? AND veh_id = ?';
  212.  
  213.         moduleSQL.mysqlc.query(queryGetVehicle, [acc.char_name, acc.id, id], function (err, result) {
  214.             if (result == 0) {
  215.                 console.log("Nie masz takiego pojazdu w posiadaniu.");
  216.             } else {
  217.                 console.log("Pobieram dane o kupionym samochodzie z bazy i przypisuje do zmiennych");
  218.  
  219.                 veh.id = id;
  220.                 veh.model = result[0].model;
  221.                 veh.posX = result[0].posX;
  222.                 veh.posY = result[0].posY;
  223.                 veh.posZ = result[0].posZ;
  224.                 veh.color1_1 = result[0].color1_1;
  225.                 veh.color1_2 = result[0].color1_2;
  226.                 veh.color1_3 = result[0].color1_3;
  227.                 veh.color2_1 = result[0].color2_1;
  228.                 veh.color2_2 = result[0].color2_2;
  229.                 veh.color2_3 = result[0].color2_3;
  230.                 veh.owner = result[0].owner;
  231.                 veh.acc_id = result[0].acc_id;
  232.  
  233.  
  234.                 // console.log("Dane pojazdu: ");
  235.                 // console.log(veh.id);
  236.                 // console.log(veh.model);
  237.                 // console.log(veh.posX);
  238.                 // console.log(veh.posY);
  239.                 // console.log(veh.posZ);
  240.                 // console.log(veh.color1_2);
  241.                 // console.log(veh.color2_2);
  242.                 // console.log(veh.owner);
  243.                 // console.log(veh.acc_id);
  244.  
  245.  
  246.        
  247.                 var currentVehicle = player.getVariable('PersonalVehicle');
  248.  
  249.                 if (currentVehicle != null) {
  250.                     currentVehicle.destroy();
  251.                 }
  252.  
  253.  
  254.                 var spawnedVehicleFromDB = mp.vehicles.new(mp.joaat(`${veh.model}`), new mp.Vector3(veh.posX, veh.posY, veh.posZ), {
  255.                     engine: false,
  256.                     heading: 90,
  257.                     color: [
  258.                         [0, 255, 0],
  259.                         [0, 255, 0]
  260.                     ]
  261.                 });
  262.                 console.log("Stworzyłem pojazd...");
  263.                 player.setVariable('PersonalVehicle', spawnedVehicleFromDB);
  264.  
  265.  
  266.                 spawnedVehicleFromDB.setVariable('VehID', veh.id);
  267.  
  268.  
  269.                 spawnedVehicles.push(spawnedVehicleFromDB);
  270.                 console.log("Wysyłam obiekt pojazdu do tablicy 'spawnedVehicles' gdzie zapisywane są pojazdy gracza.")
  271.  
  272.  
  273.                 spawnedVehicleFromDB.setVariable("owner_id", acc.id);
  274.                 spawnedVehicle = spawnedVehicleFromDB;
  275.  
  276.                 console.log("Przypisuje numer id konta gracza z bazy danych do utworzonego pojazdu, a następnie przypisuje zmienną przechowująca utworzony pojazd do obiektu 'spawnedVehicle' w celu uzyskania dostępu do niego w komendzie /engineon oraz /engineoff.");
  277.  
  278.  
  279.             }
  280.         });
  281.  
  282.  
  283.     } else {
  284.         player.outputChatBox("Nie poprawnie wpisana komenda !")
  285.     }
  286. });
  287.  
  288. mp.events.addCommand('savespawnc', (player, _, id) => {
  289.     if (id && id.trim().length > 0) {
  290.         let owner = player.vehicle.getVariable("owner_id");
  291.         console.log(owner);
  292.  
  293.         if (acc.id == owner) {
  294.             veh.posX = player.position.x;
  295.             veh.posY = player.position.y;
  296.             veh.posZ = player.position.z;
  297.  
  298.             moduleSQL.mysqlc.query('UPDATE `vehicles` SET posX = ?, posY = ?, posZ = ? WHERE acc_id = ? AND owner = ? AND veh_id = ?', [veh.posX, veh.posY, veh.posZ, acc.id, acc.char_name, id], function (err, res, row) {
  299.                 if (err) console.log(err);
  300.                 else {
  301.                     player.outputChatBox("Zaparkowałeś pojazd w nowym miejscu.");
  302.                 }
  303.             });
  304.         } else {
  305.             player.outputChatBox("Nie możesz zaparkować cudzego samochodu.");
  306.         }
  307.     } else {
  308.         player.outputChatBox("Nie poprawnie wpisana komenda.")
  309.     }
  310. });
  311.  
  312. mp.events.addCommand('deletecar', (player, _, vehID) => {
  313.     if (vehID && vehID.trim().length > 0) {
  314.         spawnedVehicles.forEach((vehicle, i) => {
  315.             if (vehicle.getVariable('VehID') == vehID) {
  316.                 spawnedVehicles.splice(i, 1);
  317.                 vehicle.destroy();
  318.                 player.outputChatBox("Usunieto pojazd.");
  319.             }
  320.         })
  321.     }
  322. });
  323.  
  324. mp.events.addCommand('checkcar', (player, id) => {
  325.     console.log(spawnedVehicles);
  326. });
  327.  
  328. mp.events.addCommand('engineon', (player, result) => {
  329.  
  330.     let owner = player.vehicle.getVariable("owner_id");
  331.     console.log(owner);
  332.  
  333.     if (acc.id == owner) {
  334.         player.vehicle.engine = true;
  335.         player.outputChatBox("Odpaliłeś silnik.");
  336.  
  337.     } else {
  338.         player.outputChatBox("Nie masz kluczy do tego samochodu !")
  339.     }
  340. });
  341.  
  342. mp.events.addCommand('engineoff', player => {
  343.     let owner = player.vehicle.getVariable("owner_id");
  344.     console.log(owner);
  345.  
  346.     if (acc.id == owner) {
  347.         player.vehicle.engine = false;
  348.         player.outputChatBox("Zgasiłeś silnik.");
  349.  
  350.     } else {
  351.         player.outputChatBox("Nie masz kluczy do tego samochodu !")
  352.     }
  353. });
  354.  
  355. function playerStartEnterVehicleHandler(player) {
  356.     var result = 0;
  357.     player.call("PlayerIsInVehicle", [result]);
  358. }
  359. mp.events.add("playerStartEnterVehicle", playerStartEnterVehicleHandler);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement