Noneatme

Cruise Control

Apr 13th, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.17 KB | None | 0 0
  1. -- Speedomat by MuLTi! --
  2. -- setElementSpeed bei MTA Wiki, Usefull functions --
  3.  
  4.  
  5. local gSpeedo = 0
  6. local gSpeed = 50
  7.  
  8. local gMe = getLocalPlayer()
  9.  
  10. function disableSpeedomat()
  11.     if(gSpeedo == 1) then
  12.         gSpeedo = 0
  13.         gSpeed = 50
  14.         removeEventHandler("onClientRender", getRootElement(), check_for_speed)
  15.         unbindKey("brake_reverse", "down", disableSpeedomat)
  16.         unbindKey("handbrake", "down", disableSpeedomat)
  17.         unbindKey("accelerate", "down", disableSpeedomat)
  18.         setElementData(gMe, "usingspeedo", false)
  19.     end
  20. end
  21.  
  22. function check_for_speed()
  23.     if(gSpeedo == 0) then removeEventHandler("onClientRender", getRootElement(), check_for_speed) return end
  24.     if(isPedInVehicle(gMe) == false) or (isPlayerDead(gMe) == true) then removeEventHandler("onClientRender", getRootElement(), check_for_speed) return end
  25.     local veh = getPedOccupiedVehicle(gMe)
  26.     if not(veh) then removeEventHandler("onClientRender", getRootElement(), check_for_speed) return end
  27.     setElementSpeed(veh, "kmh", gSpeed)
  28. end
  29.  
  30. function set_speedo_func(cmd)
  31.     if(isPedInVehicle(gMe) == false) then return end
  32.     if(getElementSpeed(getPedOccupiedVehicle(gMe), "kmh") < 25) then return end
  33.     if(gSpeedo == 0) then
  34.         local state = getVehicleEngineState ( getPedOccupiedVehicle(gMe) )
  35.         if(state == false) then return end
  36.         gSpeedo = 1
  37.         gSpeed = getElementSpeed(getPedOccupiedVehicle(gMe), "kmh")
  38.         addEventHandler("onClientRender", getRootElement(), check_for_speed)
  39.         outputChatBox("Cruise Control enabled at "..math.ceil(gSpeed).." km/h!", 0, 200, 200, false)
  40.         bindKey("brake_reverse", "down", disableSpeedomat)
  41.         bindKey("handbrake", "down", disableSpeedomat)
  42.         bindKey("accelerate", "down", disableSpeedomat)
  43.         setElementData(gMe, "usingspeedo", true)
  44.     elseif(gSpeedo == 1) then
  45.         gSpeedo = 0
  46.         gSpeed = 50
  47.         removeEventHandler("onClientRender", getRootElement(), check_for_speed)
  48.         outputChatBox("Cruise Control disabled.", 0, 200, 200, false)
  49.         unbindKey("brake_reverse", "down", disableSpeedomat)
  50.         unbindKey("handbrake", "down", disableSpeedomat)
  51.         unbindKey("accelerate", "down", disableSpeedomat)
  52.         setElementData(gMe, "usingspeedo", false)
  53.     end
  54. end
  55.  
  56. addCommandHandler("tempomat", set_speedo_func)
  57. bindKey("u", "down", set_speedo_func)
  58.  
  59. addEventHandler("onClientPlayerWasted", gMe,
  60. function()
  61.     if(source ~= gMe) then return end
  62.     if(gSpeedo == 1) then
  63.         gSpeedo = 0
  64.         gSpeed = 50
  65.         removeEventHandler("onClientRender", getRootElement(), check_for_speed)
  66.         unbindKey("brake_reverse", "down", disableSpeedomat)
  67.         unbindKey("handbrake", "down", disableSpeedomat)
  68.         unbindKey("accelerate", "down", disableSpeedomat)
  69.         setElementData(gMe, "usingspeedo", false)
  70.     end
  71. end)
  72.  
  73. addEventHandler("onClientVehicleCollision", root,
  74.     function(collider,force, bodyPart, x, y, z, vx, vy, vz)
  75.          if ( source == getPedOccupiedVehicle(gMe) ) then
  76.             if(gSpeedo == 1) then
  77.             gSpeedo = 0
  78.             gSpeed = 50
  79.             removeEventHandler("onClientRender", getRootElement(), check_for_speed)
  80.             unbindKey("brake_reverse", "down", disableSpeedomat)
  81.             unbindKey("handbrake", "down", disableSpeedomat)
  82.             unbindKey("accelerate", "down", disableSpeedomat)
  83.             setElementData(gMe, "usingspeedo", false)
  84.             end
  85.          end
  86.     end
  87. )
Advertisement
Add Comment
Please, Sign In to add comment