Vennox Posted May 6, 2020 Share Posted May 6, 2020 (edited) i'm making a sistem where i need to get the player's vehicle speed server-side. Entity::getSpeed() works only on client side. Any way to do it? I thought about sending it constantly with an event from client to the server, but i'm afraid that some malicious values can be sent with cheats Edit: Found out, here is the function i wrote in case someone else needs it function getVehSpeed(vehicle){ let velocity = vehicle.velocity; return (Math.sqrt((velocity.x * velocity.x) + (velocity.y * velocity.y) + (velocity.z * velocity.z)) * 3.6); } it returns the speed in km/h, for other measurements you can calculate it easly Edited May 6, 2020 by Vennox 1 Link to comment Share on other sites More sharing options...
MrPancakers Posted May 6, 2020 Share Posted May 6, 2020 You can't get speed serverside, that'd be a lot of work for a sever to hold every vehicles speed in the server. Do you really need this value serverside or can you rework it to be clientside? Link to comment Share on other sites More sharing options...
Vennox Posted May 8, 2020 Author Share Posted May 8, 2020 not every speed, just some vehicles in special cases. i have a farmer job where you have to drive around for 120 seconds at more than 25 km/h and there is a one second interval that checks every player that is doing that job, if his speed is > 25km/h then it decreases the time value (initial 120) with 1. Link to comment Share on other sites More sharing options...
Tonytza Posted May 8, 2020 Share Posted May 8, 2020 (edited) There are multiple ways you can do this, some would be: 1. Do the speed calculations client side and return the value to the server, for each player that is doing the job? (In this case, you'd make a call to the client from the server, every second for every player that performs the 'farmer job') 2. Do the whole logic client side? From the server, you just trigger a client event, that starts the 120 seconds timer and continuously tracks player's speed? And when the timer is up, just trigger a server event? Not exactly sure what is your context, but if each player that does the job should have their own timer (and not a general timer for everyone, like a race) I'd suggest going with the second part. I used a similar mechanic for driving license and went with the second solution, everything worked fine. Edited May 8, 2020 by Tonytza Link to comment Share on other sites More sharing options...
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