Jump to content

speed limit


dima3367

Recommended Posts

Hi!

Who can help me make a script to check the speed of cars. That is, I need the script to check the player's speed, for example in the script max speed of 1000 km / h and if this value privyshaet player, it kicked from server marked "kick for the violation."

I want to do this because of the fact that I have a server that's Factory settings taky script: https://community.multitheftauto.com/in ... ls&id=3716

With this script players make ram settings and prevent other players.

I would be very grateful!

Link to comment

Add your script to ACL.

Client-side:

  
-- Max speed 
local MaxSpeed = 1000 
  
addEventHandler ( "onClientVehicleEnter", root, 
     function ( pPlayer, iSeat ) 
          if iSeat == 0 then 
               addEventHandler ( "onClientRender", root, CheckSpeed ) 
          end 
     end 
) 
  
addEventHandler ( "onClientVehicleExit", root, 
     function ( pPlayer, iSeat ) 
          if iSeat == 0 then 
               removeEventHandler ( "onClientRender", root, CheckSpeed ) 
          end 
     end 
) 
  
function CheckSpeed() 
     local pVehicle = getPedOccupiedVehicle ( localPlayer ) 
     if pVehicle and getVehicleOccupant ( pVehicle, 0 ) == localPlayer then 
          local Speed = getElementSpeed ( pVehicle ) 
          if Speed >= MaxSpeed then 
               triggerServer ( "OnKickRequest", localPlayer ) 
          end 
     else 
          removeEventHandler ( "onClientRender", root, CheckSpeed ) 
     end 
end 
  
-- Function from mta.wiki. 
-- Original function by author of speedx resource. Modified, wiki-fied etc by varez. 
function getElementSpeed(element,unit) 
    if (unit == nil) then unit = 0 end 
    if (isElement(element)) then 
        local x,y,z = getElementVelocity(element) 
        if (unit=="mph" or unit==1 or unit =='1') then 
            return (x^2 + y^2 + z^2) ^ 0.5 * 100 
        else 
            return (x^2 + y^2 + z^2) ^ 0.5 * 1.8 * 100 
        end 
    else 
        outputDebugString("Not an element. Can't get speed") 
        return false 
    end 
end 
  

Server-side:

  
addEvent ( "OnKickRequest", true ) 
addEventHandler ( "OnKickRequest", root, 
     function() 
          kickPlayer ( source ) 
     end 
) 
  

Didn't check, fix if will need.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...