forked from Simnation/Main
ed
This commit is contained in:
parent
c8ce065d61
commit
d7e2f9da39
47 changed files with 680 additions and 2010 deletions
BIN
resources/[carscripts]/ebu_trailer/.fxap
Normal file
BIN
resources/[carscripts]/ebu_trailer/.fxap
Normal file
Binary file not shown.
BIN
resources/[carscripts]/ebu_trailer/client/client.lua
Normal file
BIN
resources/[carscripts]/ebu_trailer/client/client.lua
Normal file
Binary file not shown.
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
|
363
resources/[carscripts]/ebu_trailer/config.lua
Normal file
363
resources/[carscripts]/ebu_trailer/config.lua
Normal file
|
@ -0,0 +1,363 @@
|
|||
Config = {}
|
||||
|
||||
Config.CheckDistance = 11 -- Distance to check for nearby trailers
|
||||
Config.InteractDistance = 2.5 -- Distance from point control works
|
||||
|
||||
Config.rampInstant = false -- Instantly open/close ramp. Enable if ramps won't close
|
||||
|
||||
Config.AttachNotify = true -- Enable notifications
|
||||
Config.NotiLoadMessage = 'Vehicle Loaded'
|
||||
Config.NotiUnLoadMessage = 'Vehicle Unloaded'
|
||||
|
||||
Config.UseExternalTrailerConnect = false -- Set to True if you want to use ebu_trailerconnect with the whitelist/blacklist control
|
||||
--========Interaction Type========--
|
||||
--======[[see utils.lua to modify]]======--
|
||||
Config.UseTarget = false -- If True, Markers & Prompts will be disabled except for in vehicle
|
||||
Config.Target = 'qb-target'
|
||||
|
||||
|
||||
--========Markers & Prompts=======--
|
||||
--Increases tick rate from 0.01 to 0.08 - 0.1 when in range
|
||||
Config.WaitTimer = 3000 -- Update rate to check for nearby trailer seconds * 1000 (Default 3000)
|
||||
Config.ShowMarkers = false -- Display markers at interaction points
|
||||
Config.ShowHelp = true -- Display help prompts
|
||||
Config.MessageDistance = 2.0 -- Distance from point to display message (Default 2.0)
|
||||
Config.Marker = {
|
||||
type = 1, -- marker shape: https://docs.fivem.net/docs/game-references/markers/ (Default 27)
|
||||
|
||||
Size = 1.0, -- marker size (Default 2.0)
|
||||
|
||||
Color = { -- RGBA color
|
||||
red = 100,
|
||||
green = 200,
|
||||
blue = 200,
|
||||
alpha = 150
|
||||
},
|
||||
heightOffset = 0.0, -- Height from ground for marker. Marker at ground Z (Default 0.0)
|
||||
Bob = false, -- Marker bobbing up and down (Default false)
|
||||
faceCamera = false, -- Marker always faces camera (Default false)
|
||||
rotate = false -- Marker rotates (Default false)
|
||||
}
|
||||
Config.Controlmessages = {
|
||||
RampInteract = "Rampe bedienen",
|
||||
AttachVehicle = "Fahrzeug sichern/lösen",
|
||||
AttachAllVehicle = "Alle sichern ",
|
||||
DetachAllVehicle = "Alle lösen",
|
||||
}
|
||||
|
||||
|
||||
|
||||
--========Trailers=======--
|
||||
--[[ CONFIG EXAMPLE AND EXPLANATIONS
|
||||
|
||||
[GetHashKey('[MODELNAME]')] = { -- Enter the spawn name
|
||||
hasRamp = true, -- true or false : If false, trailer functions still work but no interaction for the ramp will be present
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)}, -- array | (x,y,z) positon from center of trailer. Point of ramp interaction circle
|
||||
isRampExtra = true, -- (optional) true or false : Sets if the ramp is an extra. If false or not present, treats as a door
|
||||
rampDoorNum = 3, -- door or extra number | Can be an array of numbers
|
||||
doorwithRampNums = {2,3}, -- doors that will open or close when the ramp is toggled
|
||||
extraswithRampNums = {-1,2} -- extras that will toggle when the ramp is toggled. If negative, will set the extra to be opposite the door
|
||||
},
|
||||
|
||||
]]
|
||||
Config.Trailers = {
|
||||
|
||||
[GetHashKey('blomenroehr')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
|
||||
[GetHashKey('3ctrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-2.0,-4.0,0.25),vector3(2.0,-4.0,0.25)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
|
||||
|
||||
[GetHashKey('cotrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-2.0,-4.0,-0.55),vector3(2.0,-4.0,-0.55)},
|
||||
rampDoorNum = 5,
|
||||
|
||||
},
|
||||
[GetHashKey('shauler')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-2.0,-4.0,0.25),vector3(2.0,-4.0,0.25)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('godzcoe')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-2.0,-4.0,-0.55),vector3(2.0,-4.0,-0.55)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('thauler')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.0, -0.25), vector3(-1.5, -3.0, -0.25)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('btrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('bclandscape')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -4.0, -0.45), vector3(-1.5, -4.0, -0.45)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('trailersmall')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -4.0, -0.45), vector3(-1.5, -4.0, -0.45)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('camperman')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(2.0, -6.0, 0.1), vector3(-1.5, -6.0, 0.1)},
|
||||
rampDoorNum = 4,
|
||||
},
|
||||
[GetHashKey('chauler')] = {
|
||||
|
||||
attNode = 'boot',
|
||||
heightOff = 0.5,
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -2.7, -0.25), vector3(-1.5, -2.7, -0.25)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('cartrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.7, -1.0), vector3(-1.5, -3.7, -1.0)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 5,
|
||||
|
||||
},
|
||||
[GetHashKey('semihauler')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -7.5, -1.4), vector3(1.8, -7.5, -1.4)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('bigtex40')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('loadtrail')] = {
|
||||
hasRamp = true,
|
||||
isRampExtra = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
rampDoorNum = 1,
|
||||
},
|
||||
[GetHashKey('bigtex20')] = { --bigtex20hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -3.0, -0.8), vector3(1.8, -3.0, -0.8)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('godzhauler')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, 0.1), vector3(1.8, -5.0, 0.1)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('godzenclosed')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 3,
|
||||
doorwithRampNums = {2,3},
|
||||
},
|
||||
[GetHashKey('enclosedgoose')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)},
|
||||
rampDoorNum = {0,5},
|
||||
},
|
||||
[GetHashKey('godzbenson')] = {
|
||||
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -1.0), vector3(1.8, -5.5, -1.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('trailers3')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('trflat')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, 0.0), vector3(1.8, -5.5, 0.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('17fontaine')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('17fontainev2')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('17fontainev3')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('17fontainev4')] = {
|
||||
hasRamp = false,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('20fttrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.7, -1.0), vector3(-1.5, -3.7, -1.0)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 3,
|
||||
|
||||
},
|
||||
[GetHashKey('8220b')] = {
|
||||
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -3.0, -0.1), vector3(1.8, -3.0, -0.1)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('8220')]= {
|
||||
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -3.0, -0.1), vector3(1.8, -3.0, -0.1)},
|
||||
rampDoorNum = 5,
|
||||
|
||||
},
|
||||
[GetHashKey('8250')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -9.0, 0.1), vector3(1.8, -9.0, 0.1)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('pjutility')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.0, 0.2), vector3(-1.5, -3.0, 0.2)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('bigtexb')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(2.5, -4.0, -1.0), vector3(-2.5, -4.0, -1.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('ehauler')] = {
|
||||
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -0.0), vector3(1.8, -5.5, -0.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('pjtrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -1.0), vector3(1.8, -5.0, -1.0)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('ctrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.5, -0.6), vector3(1.8, -5.5, -0.6)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('btex20')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(2.0, -5.0, -0.0), vector3(-2.0, -5.0, 0.0)},
|
||||
rampDoorNum = 5,
|
||||
|
||||
},
|
||||
[GetHashKey('40ft')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 3,
|
||||
|
||||
},
|
||||
[GetHashKey('eagerbeaver')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(2.0, -5.0, -0.0), vector3(-2.0, -5.0, 0.0)},
|
||||
rampDoorNum = 5,
|
||||
|
||||
},
|
||||
[GetHashKey('valdeztrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)},
|
||||
rampDoorNum = 5,
|
||||
},
|
||||
[GetHashKey('zJuksCarHauler40ft')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -12.0, 0.1), vector3(1.8, -12.0, 0.1)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 6,
|
||||
},
|
||||
|
||||
[GetHashKey('trailkinght')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = {8,9},
|
||||
},
|
||||
[GetHashKey('boogie36ftr')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 1,
|
||||
},
|
||||
[GetHashKey('20fttrailer')] = {
|
||||
hasRamp = true,
|
||||
|
||||
rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)},
|
||||
isRampExtra = true,
|
||||
rampDoorNum = 1,
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
--========Vehicles with Toggled Extras=======--
|
||||
-- When a vehicle is attached, selected extras will be turned on. Useful for models with tie down extras
|
||||
|
||||
-- Can be hashes or strings
|
||||
Config.TogVehs = {
|
||||
--['kamacho'] = {1},
|
||||
}
|
23
resources/[carscripts]/ebu_trailer/fxmanifest.lua
Normal file
23
resources/[carscripts]/ebu_trailer/fxmanifest.lua
Normal file
|
@ -0,0 +1,23 @@
|
|||
fx_version 'adamant'
|
||||
game 'gta5'
|
||||
|
||||
description 'Trailer Script'
|
||||
author 'theebu'
|
||||
lua54 'yes'
|
||||
version '0.6.3'
|
||||
|
||||
client_scripts {
|
||||
'config.lua',
|
||||
'client/client.lua',
|
||||
'client/utils.lua'
|
||||
}
|
||||
|
||||
server_scripts {
|
||||
'server/server.lua'
|
||||
}
|
||||
|
||||
escrow_ignore {
|
||||
'config.lua',
|
||||
'client/utils.lua'
|
||||
}
|
||||
dependency '/assetpacks'
|
16
resources/[carscripts]/ebu_trailer/readme.md
Normal file
16
resources/[carscripts]/ebu_trailer/readme.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
## ebu_trailer VERSION 6
|
||||
## author: theebu | https://discord.gg/SvxZj2h
|
||||
|
||||
|
||||
## EXPORTS:
|
||||
exports['ebu_trailer']:AttachVeh([vehicle])
|
||||
# [vehicle] is the target car to attach
|
||||
# This runs the attach command to attach to a trailer. The trailer must be in the config
|
||||
|
||||
exports['ebu_trailer']:attachAll([trailer])
|
||||
# [trailer] is the target trailer to attach to
|
||||
# This attaches all vehicles on the target trailer
|
||||
|
||||
exports['ebu_trailer']:detachAll([trailer])
|
||||
# [trailer] is the target trailer to detach from
|
||||
# This detaches all vehicles on the target trailer
|
BIN
resources/[carscripts]/ebu_trailer/server/server.lua
Normal file
BIN
resources/[carscripts]/ebu_trailer/server/server.lua
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue