forked from Simnation/Main
ed
This commit is contained in:
parent
c8ce065d61
commit
d7e2f9da39
47 changed files with 680 additions and 2010 deletions
151
resources/[carscripts]/ebu_trailer/client/utils.lua
Normal file
151
resources/[carscripts]/ebu_trailer/client/utils.lua
Normal file
|
@ -0,0 +1,151 @@
|
|||
RegisterKeyMapping("+trailerAttach", Config.Controlmessages.AttachVehicle, "keyboard", "g")
|
||||
RegisterKeyMapping("+trailerInteract", Config.Controlmessages.RampInteract, "keyboard", "e")
|
||||
RegisterKeyMapping("+trailerDetach", Config.Controlmessages.DetachAllVehicle, "keyboard", "h")
|
||||
|
||||
RegisterKeyMapping("+trailerWarp", "Get in attached vehicle", "keyboard", "f")
|
||||
RegisterKeyMapping("+trailerConnect", "Connect any trailer", "keyboard", "j")
|
||||
|
||||
function NotiAtt() -- Attached notification
|
||||
BeginTextCommandThefeedPost("STRING")
|
||||
AddTextComponentSubstringPlayerName(Config.NotiLoadMessage)
|
||||
EndTextCommandThefeedPostTicker(true, true)
|
||||
end
|
||||
|
||||
function NotiDet() -- Detached notification
|
||||
BeginTextCommandThefeedPost("STRING")
|
||||
AddTextComponentSubstringPlayerName(Config.NotiUnLoadMessage)
|
||||
EndTextCommandThefeedPostTicker(true, true)
|
||||
end
|
||||
|
||||
-- Use this function for job locking. If the job is correct, return true.
|
||||
-- Please refer to your framework's job system for how to implement, I do not support
|
||||
-- job checking integration. -Theebu
|
||||
function allowed()
|
||||
return true
|
||||
end
|
||||
|
||||
--This function returns if the vehicle is locked or not when trying to get in the loaded vehicle from next to the trailer
|
||||
--false = NOT locked true == LOCKED
|
||||
function IsVehicleLocked(car)
|
||||
|
||||
return DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 2 or DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 10
|
||||
end
|
||||
|
||||
--Help Text Messages
|
||||
function message(lineOne, lineTwo, lineThree, duration)
|
||||
BeginTextCommandDisplayHelp("THREESTRINGS")
|
||||
AddTextComponentSubstringPlayerName(lineOne)
|
||||
AddTextComponentSubstringPlayerName(lineTwo or "")
|
||||
AddTextComponentSubstringPlayerName(lineThree or "")
|
||||
|
||||
-- shape (always 0), loop (bool), makeSound (bool), duration (5000 max 5 sec)
|
||||
EndTextCommandDisplayHelp(0, false, false, duration or 5000)
|
||||
end
|
||||
|
||||
if Config.UseTarget then
|
||||
--QB CORE
|
||||
if Config.Target == 'qb-target' then
|
||||
exports['qb-target']:AddTargetBone({'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet"}, {
|
||||
options = {
|
||||
{
|
||||
icon = 'fa-solid fa-truck-ramp-box',
|
||||
label = 'Toggle Ramp',
|
||||
action = function(entity)
|
||||
interactCheck(entity)
|
||||
end,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock',
|
||||
label = 'Attach load',
|
||||
action = function(entity)
|
||||
attachAllCheck(entity)
|
||||
end,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock-open',
|
||||
label = 'Detach load',
|
||||
action = function(entity)
|
||||
detachAllCheck(entity)
|
||||
end,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock-open',
|
||||
label = 'Attach/Detach Vehicle',
|
||||
action = function(entity)
|
||||
attachCheck2(entity)
|
||||
end,
|
||||
canInteract = function(entity, distance, data)
|
||||
local vehCoords = GetEntityCoords(entity)
|
||||
local vehicle = getVehicleInDirection(vector3(vehCoords.x, vehCoords.y, vehCoords.z + 1.0), vector3(vehCoords.x, vehCoords.y, vehCoords.z - 8.0), entity)
|
||||
return allowed() and DoesEntityExist(vehicle) and Config.Trailers[GetEntityModel(vehicle)] and vehicle ~= entity
|
||||
end,
|
||||
}
|
||||
},
|
||||
distance = 5.5,
|
||||
})
|
||||
elseif Config.Target == 'ox_target' then
|
||||
exports["ox_target"]:addGlobalVehicle(
|
||||
{
|
||||
{
|
||||
icon = 'fa-solid fa-truck-ramp-box',
|
||||
label = 'Toggle Ramp',
|
||||
bones = {'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet"},
|
||||
distance = 2.0,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
onSelect = function(data)
|
||||
interactCheck(data.entity)
|
||||
end
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock',
|
||||
label = 'Attach load',
|
||||
bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet",
|
||||
distance = 2.0,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
onSelect = function(data)
|
||||
attachAllCheck(data.entity)
|
||||
end
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock-open',
|
||||
label = 'Detach load',
|
||||
bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet",
|
||||
distance = 2.0,
|
||||
canInteract = function(entity, distance, data)
|
||||
return Config.Trailers[GetEntityModel(entity)] and allowed()
|
||||
end,
|
||||
onSelect = function(data)
|
||||
detachAllCheck(data.entity)
|
||||
end
|
||||
},
|
||||
{
|
||||
icon = 'fa-solid fa-lock-open',
|
||||
label = 'Attach/Detach Vehicle',
|
||||
bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet",
|
||||
distance = 2.0,
|
||||
canInteract = function(entity, distance, data)
|
||||
local vehCoords = GetEntityCoords(entity)
|
||||
local vehicle = getVehicleInDirection(vector3(vehCoords.x, vehCoords.y, vehCoords.z + 1.0), vector3(vehCoords.x, vehCoords.y, vehCoords.z - 8.0), entity)
|
||||
return allowed() and DoesEntityExist(vehicle) and Config.Trailers[GetEntityModel(vehicle)] and vehicle ~= entity
|
||||
end,
|
||||
onSelect = function(data)
|
||||
attachCheck2(data.entity)
|
||||
end
|
||||
}
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue