Almeidowski 2 Posted September 9, 2020 Share Posted September 9, 2020 Hello. I'm trying to destroy all the vehicles binded to a player once he quits the server. But there's an error... Why is this: mp.events.add("playerQuit", (player) => { var arrayLength = player.personalVehicles.length; for (var i = 0; i < arrayLength; i++) { console.log(player.personalVehicles[i]); vehicle = player.personalVehicles[i]; vehicle.destroy(); } }); Returning this error: C:\RAGEMP\server-files\packages\RPG\vehicles.js:52: TypeError: vehicle.destroy is not a function vehicle.destroy(); The `console.log(player.personalVehicles);` returns: { vehicle: { setVariable: [Function (anonymous)], setVariables: [Function (anonymous)] } } The vehicles are spawned like this: mp.events.add("playerReady", (player) => { pool.getConnection((err, con) => { if (err) console.log(err) console.log() con.query("SELECT vehicleID, vehicleModel, vehicleSpawnX, vehicleSpawnY, vehicleSpawnZ FROM vehicles WHERE vehicleType = ? AND vehicleOwner = ?", ["players", player.playerID], function (err, result) { if (err) console.log(err) player.personalVehicles = [] for (i = 0; i < result.length; i++) { vehicleModel = result[i].vehicleModel player.personalVehicles.push({vehicle: mp.vehicles.new(parseInt(vehicleModel), new mp.Vector3(result[i].vehicleSpawnX, result[i].vehicleSpawnY, result[i].vehicleSpawnZ))}) } }); con.release() }); }); Link to post Share on other sites
concil 3 Posted September 29, 2020 Share Posted September 29, 2020 Hello, at your creation on player.personalVehicles.push( do like this (without the extra vehicle variable): const vehicle = mp.vehicles.new(parseInt(vehicleModel), new mp.Vector3(result[i].vehicleSpawnX, result[i].vehicleSpawnY, result[i].vehicleSpawnZ)); player.personalVehicles.push(vehicle); and look what console.log(player.personalVehicles[i]); says now. and you should check if the objects are really existent: mp.events.add("playerQuit", (player) => { console.log(player.personalVehicles); // see if anything are correct in this array for (var i = 0; i<player.personalVehicles.length; i++) { console.log(player.personalVehicles[i]); if(player.personalVehicles[i]) vehicle.destroy(); } }); Tipp: with typescript and typeorm you are faster and better to write codes. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now