chore: initial commit

This commit is contained in:
Romain Lanz
2017-10-14 14:11:18 +02:00
commit 967bcc4481
8 changed files with 157 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
root = true
[*]
indent_size = 2
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
+15
View File
@@ -0,0 +1,15 @@
## ESX CruiseControl
CruiseControl System for ESX Framework.
Press **Y** to activate it.
### Installation
**Using [fvm](https://github.com/qlaffont/fvm-installer).**
```bash
fvm install --save esx_cruisecontrol
```
**Using Git Releases**
Download the latest release : https://github.com/ESX-Org/esx_cruisecontrol/releases
+16
View File
@@ -0,0 +1,16 @@
description 'CruiseControl System for ESX'
version '1.0.0'
dependencies {
'es_extended'
}
client_scripts {
'@es_extended/locale.lua',
'locales/fr.lua',
'locales/en.lua',
'locales/ge.lua',
'client/main.lua',
'config.lua',
}
+103
View File
@@ -0,0 +1,103 @@
local Keys = {
["ESC"] = 322, ["F1"] = 288, ["F2"] = 289, ["F3"] = 170, ["F5"] = 166, ["F6"] = 167, ["F7"] = 168, ["F8"] = 169, ["F9"] = 56, ["F10"] = 57,
["~"] = 243, ["1"] = 157, ["2"] = 158, ["3"] = 160, ["4"] = 164, ["5"] = 165, ["6"] = 159, ["7"] = 161, ["8"] = 162, ["9"] = 163, ["-"] = 84, ["="] = 83, ["BACKSPACE"] = 177,
["TAB"] = 37, ["Q"] = 44, ["W"] = 32, ["E"] = 38, ["R"] = 45, ["T"] = 245, ["Y"] = 246, ["U"] = 303, ["P"] = 199, ["["] = 39, ["]"] = 40, ["ENTER"] = 18,
["CAPS"] = 137, ["A"] = 34, ["S"] = 8, ["D"] = 9, ["F"] = 23, ["G"] = 47, ["H"] = 74, ["K"] = 311, ["L"] = 182,
["LEFTSHIFT"] = 21, ["Z"] = 20, ["X"] = 73, ["C"] = 26, ["V"] = 0, ["B"] = 29, ["N"] = 249, ["M"] = 244, [","] = 82, ["."] = 81,
["LEFTCTRL"] = 36, ["LEFTALT"] = 19, ["SPACE"] = 22, ["RIGHTCTRL"] = 70,
["HOME"] = 213, ["PAGEUP"] = 10, ["PAGEDOWN"] = 11, ["DELETE"] = 178,
["LEFT"] = 174, ["RIGHT"] = 175, ["TOP"] = 27, ["DOWN"] = 173,
["NENTER"] = 201, ["N4"] = 108, ["N5"] = 60, ["N6"] = 107, ["N+"] = 96, ["N-"] = 97, ["N7"] = 117, ["N8"] = 61, ["N9"] = 118
}
local Player = nil
local CruisedSpeed = 0
local CruisedSpeedKm = 0
local VehicleVectorY = 0
ESX = nil
Citizen.CreateThread(function ()
while ESX == nil do
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
Wait(0)
end
end)
Citizen.CreateThread(function ()
while true do
Wait(0)
if IsControlJustPressed(1, Keys['Y']) and IsDriver() then
Player = GetPlayerPed(-1)
TriggerCruiseControl()
end
end
end)
function TriggerCruiseControl ()
if CruisedSpeed == 0 and IsDriving() then
if GetVehiculeSpeed() > 0 then
CruisedSpeed = GetVehiculeSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
ESX.ShowNotification(_U('activated') .. ': ~b~ ' .. CruisedSpeedKm .. ' km/h')
Citizen.CreateThread(function ()
while CruisedSpeed > 0 and IsInVehicle() == Player do
Wait(0)
if not IsTurningOrHandBraking() and GetVehiculeSpeed() < (CruisedSpeed - 1.5) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
if not IsTurningOrHandBraking() and IsVehicleOnAllWheels(GetVehicle()) and GetVehiculeSpeed() < CruisedSpeed then
SetVehicleForwardSpeed(GetVehicle(), CruisedSpeed)
end
if IsControlJustPressed(1, Keys['Y']) then
CruisedSpeed = GetVehiculeSpeed()
CruisedSpeedKm = TransformToKm(CruisedSpeed)
end
if IsControlJustPressed(2, 72) then
CruisedSpeed = 0
ESX.ShowNotification(_U('deactivated'))
Wait(2000)
break
end
end
end)
end
end
end
function IsTurningOrHandBraking ()
return IsControlPressed(2, 76) or IsControlPressed(2, 63) or IsControlPressed(2, 64)
end
function IsDriving ()
return IsPedInAnyVehicle(Player, false)
end
function GetVehicle ()
return GetVehiclePedIsIn(Player, false)
end
function IsInVehicle ()
return GetPedInVehicleSeat(GetVehicle(), -1)
end
function IsDriver ()
return GetPedInVehicleSeat(GetVehiclePedIsIn(GetPlayerPed(-1), false), -1) == GetPlayerPed(-1)
end
function GetVehiculeSpeed ()
return GetEntitySpeed(GetVehicle())
end
function TransformToKm (speed)
return math.floor(speed * 3.6 + 0.5)
end
+2
View File
@@ -0,0 +1,2 @@
Config = {}
Config.Locale = 'fr'
+4
View File
@@ -0,0 +1,4 @@
Locales['en'] = {
['activated'] = 'activated',
['deactivated'] = 'deactivated',
}
+4
View File
@@ -0,0 +1,4 @@
Locales['fr'] = {
['activated'] = 'activé',
['deactivated'] = 'désactivé',
}
+4
View File
@@ -0,0 +1,4 @@
Locales['ge'] = {
['activated'] = 'aktiviert',
['deactivated'] = 'deaktiviert',
}