1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-07-14 16:53:46 +02:00
parent 6622100a39
commit d90e706230
174 changed files with 0 additions and 23318 deletions

View file

@ -1,24 +0,0 @@
function GetFrameworkObject()
local object = nil
if Config.Framework == "esx" then
while object == nil do
if Config.NewESX then
object = exports['es_extended']:getSharedObject()
else
TriggerEvent('esx:getSharedObject', function(obj) object = obj end)
end
Citizen.Wait(0)
end
end
if Config.Framework == "newqb" then
object = exports["qb-core"]:GetCoreObject()
end
if Config.Framework == "oldqb" then
while object == nil do
TriggerEvent('QBCore:GetObject', function(obj) object = obj end)
Citizen.Wait(200)
end
end
return object
end

View file

@ -1,273 +0,0 @@
local lastCash = nil
local lastBlackMoney = nil
local lastBank = nil
function loadESXMoneyAndJob()
local breakLoop = false
while true do
if frameworkObject ~= nil then
if frameworkObject.GetPlayerData() then
while frameworkObject.GetPlayerData().job == nil do
Citizen.Wait(0)
end
SendNUIMessage({
type = "update_job",
joblabel = frameworkObject.GetPlayerData().job.label,
grade_label = frameworkObject.GetPlayerData().job.grade_label
})
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(cash)
SendNUIMessage({
type = "update_money",
money = cash
})
lastCash = cash
end, "cash")
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(blackmoney)
SendNUIMessage({
type = "SetBlackMoney",
money = blackmoney
})
lastBlackMoney = blackmoney
end, "black_money")
local gradeName = 'boss'
if Config.BossGradeNames[frameworkObject.GetPlayerData().job.name] then
gradeName = Config.BossGradeNames[frameworkObject.GetPlayerData().job.name]
end
if frameworkObject.GetPlayerData().job.grade_name == gradeName then
frameworkObject.TriggerServerCallback('esx_society:getSocietyMoney', function(money)
SendNUIMessage({
type = "SetBossMoney",
money = money
})
SendNUIMessage({type = 'SetIsBoss', value = true})
end, frameworkObject.GetPlayerData().job.name)
else
SendNUIMessage({type = 'SetIsBoss', value = false})
end
frameworkObject.TriggerServerCallback("codem-blvckhudv2:GetMoney", function(bank)
SendNUIMessage({
type = "update_bank",
money = bank
})
lastBank = bank
breakLoop = true
end, "bank")
if breakLoop then
return
end
end
end
Citizen.Wait(0)
end
end
Citizen.CreateThread(function()
while not response do
Citizen.Wait(0)
end
if Config.Framework == "esx" then
Citizen.Wait(1000)
loadESXMoneyAndJob()
else
Citizen.Wait(1000)
local breakLoop = false
while true do
Citizen.Wait(0)
if frameworkObject ~= nil then
local Player = frameworkObject.Functions.GetPlayerData()
if Player then
if Player.job ~= nil then
SendNUIMessage({
type = "update_job",
joblabel = Player.job.label,
grade_label = Player.job.grade.name
})
end
if Player.money ~= nil then
SendNUIMessage({
type = "update_money",
money = Player.money.cash
})
lastCash = Player.money.cash
SendNUIMessage({
type = "update_bank",
money = Player.money.bank
})
lastBank = Player.money.bank
breakLoop = true
end
if breakLoop then
break
end
end
end
end
end
end)
RegisterNetEvent("es:addedMoney")
AddEventHandler("es:addedMoney", function(a, b, m)
SendNUIMessage({
type = "update_money",
money = m
})
if Config.EnableWatermarkCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', m - lastCash, false, "cash")
lastCash = m
end
end)
RegisterNetEvent("es:removedMoney")
AddEventHandler("es:removedMoney", function(a, b, m)
SendNUIMessage({
type = "update_money",
money = m
})
if Config.EnableWatermarkCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (m - lastCash) * -1, true, "cash")
lastCash = m
end
end)
RegisterNetEvent("esx:setJob")
AddEventHandler("esx:setJob", function(job)
SendNUIMessage({
type = "update_job",
joblabel =job.label,
grade_label = job.grade_label
})
local gradeName = 'boss'
if Config.BossGradeNames[job.name] then
gradeName = Config.BossGradeNames[job.name]
end
if job.grade_name == gradeName then
frameworkObject.TriggerServerCallback('esx_society:getSocietyMoney', function(money)
SendNUIMessage({
type = "SetBossMoney",
money = money
})
SendNUIMessage({type = 'SetIsBoss', value = true})
end, job.name)
else
SendNUIMessage({type = 'SetIsBoss', value = false})
end
end)
RegisterNetEvent('esx_addonaccount:setMoney')
AddEventHandler('esx_addonaccount:setMoney', function(society, money)
local gradeName = 'boss'
if Config.BossGradeNames[frameworkObject.GetPlayerData().job.name] then
gradeName = Config.BossGradeNames[frameworkObject.GetPlayerData().job.name]
end
if frameworkObject.GetPlayerData().job and frameworkObject.GetPlayerData().job.grade_name == gradeName and 'society_' .. frameworkObject.GetPlayerData().job.name == society then
SendNUIMessage({
type = "SetBossMoney",
money = money
})
end
end)
RegisterNetEvent("QBCore:Player:SetPlayerData")
AddEventHandler("QBCore:Player:SetPlayerData", function(data)
SendNUIMessage({
type = "update_money",
money = data.money.cash
})
SendNUIMessage({
type = "update_bank",
money = data.money.bank
})
SendNUIMessage({
type = "update_job",
joblabel = data.job.label,
grade_label = data.job.grade.name
})
if Config.EnableWatermarkCash then
if lastCash ~= nil and lastCash ~= data.money.cash then
if data.money.cash > lastCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', data.money.cash - lastCash, false , "cash")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (data.money.cash - lastCash) * -1, true , "cash")
end
lastCash = data.money.cash
end
end
if Config.EnableWatermarkBankMoney then
if lastBank ~= nil and lastBank ~= data.money.bank then
if data.money.bank > lastBank then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', data.money.bank - lastBank, false, "bank")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (data.money.bank - lastBank)* -1, true, "bank")
end
lastBank = data.money.bank
end
end
end)
RegisterNetEvent('esx:setAccountMoney')
AddEventHandler('esx:setAccountMoney', function(account)
if account.name == "bank" then
local money = account.money
SendNUIMessage({
type = "update_bank",
money = money
})
if Config.EnableWatermarkBankMoney then
if lastBank ~= nil and lastBank ~= money then
if money > lastBank then
TriggerEvent('codem-blvckhudv2:OnAddedMoney',money - lastBank, false, "bank")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastBank) * -1, true, "bank")
end
lastBank = money
end
end
end
if account.name == 'black_money' then
local money = account.money
SendNUIMessage({
type = "SetBlackMoney",
money = money
})
if Config.EnableWatermarkBlackMoney then
if lastBlackMoney ~= nil and lastBlackMoney ~= money then
if money > lastBlackMoney then
TriggerEvent('codem-blvckhudv2:OnAddedMoney', money - lastBlackMoney, false, "black_money")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastBlackMoney ) * -1, true, "black_money")
end
lastBlackMoney = money
end
end
end
if account.name == 'money' then
local money = account.money
SendNUIMessage({
type = "update_money",
money = money
})
if Config.EnableWatermarkCash then
if lastCash ~= nil and lastCash ~= money then
if money > lastCash then
TriggerEvent('codem-blvckhudv2:OnAddedMoney',money - lastCash, false, "cash")
else
TriggerEvent('codem-blvckhudv2:OnAddedMoney', (money - lastCash ) * -1, true, "cash")
end
lastCash = money
end
end
end
end)

View file

@ -1,269 +0,0 @@
nitro = {}
local vehicles = {}
local particles = {}
local vehicles2 = {}
local particles2 = {}
if Config.EnableNitro then
function CreateVehicleExhaustBackfire(vehicle, scale)
local exhaustNames = {
"exhaust", "exhaust_2", "exhaust_3", "exhaust_4",
"exhaust_5", "exhaust_6", "exhaust_7", "exhaust_8",
"exhaust_9", "exhaust_10", "exhaust_11", "exhaust_12",
"exhaust_13", "exhaust_14", "exhaust_15", "exhaust_16"
}
for _, exhaustName in ipairs(exhaustNames) do
local boneIndex = GetEntityBoneIndexByName(vehicle, exhaustName)
if boneIndex ~= -1 then
local pos = GetWorldPositionOfEntityBone(vehicle, boneIndex)
local off = GetOffsetFromEntityGivenWorldCoords(vehicle, pos.x, pos.y, pos.z)
UseParticleFxAssetNextCall('core')
StartParticleFxNonLoopedOnEntity('veh_backfire', vehicle, off.x, off.y, off.z, 0.0, 0.0, 0.0, scale, false, false, false)
end
end
end
function CreateVehiclePurgeSpray(vehicle, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale)
UseParticleFxAssetNextCall('core')
return StartParticleFxLoopedOnEntity('ent_sht_steam', vehicle, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, false, false, false)
end
function CreateVehicleLightTrail(vehicle, bone, scale)
UseParticleFxAssetNextCall('core')
local ptfx = StartParticleFxLoopedOnEntityBone('veh_light_red_trail', vehicle, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, bone, scale, false, false, false)
SetParticleFxLoopedEvolution(ptfx, "speed", 1.0, false)
return ptfx
end
function StopVehicleLightTrail(ptfx, duration)
Citizen.CreateThread(function()
local startTime = GetGameTimer()
local endTime = GetGameTimer() + duration
while GetGameTimer() < endTime do
Citizen.Wait(0)
local now = GetGameTimer()
local scale = (endTime - now) / duration
SetParticleFxLoopedScale(ptfx, scale)
SetParticleFxLoopedAlpha(ptfx, scale)
end
StopParticleFxLooped(ptfx)
end)
end
function IsVehicleLightTrailEnabled(vehicle)
return vehicles2[vehicle] == true
end
function SetVehicleLightTrailEnabled(vehicle, enabled)
if IsVehicleLightTrailEnabled(vehicle) == enabled then
return
end
if enabled then
local ptfxs = {}
local leftTrail = CreateVehicleLightTrail(vehicle, GetEntityBoneIndexByName(vehicle, "taillight_l"), 1.0)
local rightTrail = CreateVehicleLightTrail(vehicle, GetEntityBoneIndexByName(vehicle, "taillight_r"), 1.0)
table.insert(ptfxs, leftTrail)
table.insert(ptfxs, rightTrail)
vehicles2[vehicle] = true
particles2[vehicle] = ptfxs
else
if particles2[vehicle] and #particles2[vehicle] > 0 then
for _, particleId in ipairs(particles2[vehicle]) do
StopVehicleLightTrail(particleId, 500)
end
end
vehicles2[vehicle] = nil
particles2[vehicle] = nil
end
end
function SetVehicleNitroBoostEnabled(vehicle, enabled)
if IsPedInVehicle(PlayerPedId(), vehicle) then
SetNitroBoostScreenEffectsEnabled(enabled)
end
SetVehicleBoostActive(vehicle, enabled)
end
function IsVehicleNitroPurgeEnabled(vehicle)
return vehicles[vehicle] == true
end
function SetVehicleNitroPurgeEnabled(vehicle, enabled)
if IsVehicleNitroPurgeEnabled(vehicle) == enabled then
return
end
if enabled then
local bone = GetEntityBoneIndexByName(vehicle, 'bonnet')
local pos = GetWorldPositionOfEntityBone(vehicle, bone)
local off = GetOffsetFromEntityGivenWorldCoords(vehicle, pos.x, pos.y, pos.z)
local ptfxs = {}
for i=0,3 do
local leftPurge = CreateVehiclePurgeSpray(vehicle, off.x - 0.5, off.y + 0.05, off.z, 40.0, -20.0, 0.0, 0.5)
local rightPurge = CreateVehiclePurgeSpray(vehicle, off.x + 0.5, off.y + 0.05, off.z, 40.0, 20.0, 0.0, 0.5)
table.insert(ptfxs, leftPurge)
table.insert(ptfxs, rightPurge)
end
vehicles[vehicle] = true
particles[vehicle] = ptfxs
else
if particles[vehicle] and #particles[vehicle] > 0 then
for _, particleId in ipairs(particles[vehicle]) do
StopParticleFxLooped(particleId)
end
end
vehicles[vehicle] = nil
particles[vehicle] = nil
end
end
function SetNitroBoostScreenEffectsEnabled(enabled)
if enabled then
StartScreenEffect('RaceTurbo', 0, false)
SetTimecycleModifier('rply_motionblur')
ShakeGameplayCam('SKY_DIVING_SHAKE', 0.30)
TriggerServerEvent("InteractSound_SV:PlayOnSource", "nitro", 0.5)
else
StopScreenEffect('RaceTurbo')
StopGameplayCamShaking(true)
SetTransitionTimecycleModifier('default', 0.35)
end
end
function GetVehicleInDirection()
local playerCoords = GetEntityCoords(playerPed)
local inDirection = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 5.0, 0.0)
local rayHandle = StartShapeTestRay(playerCoords, inDirection, 10, playerPed, 0)
local numRayHandle, hit, endCoords, surfaceNormal, entityHit = GetShapeTestResult(rayHandle)
if hit == 1 and GetEntityType(entityHit) == 2 then
return entityHit
end
return nil
end
RegisterNetEvent('codem-blvckhudv2:SetupNitro')
AddEventHandler('codem-blvckhudv2:SetupNitro', function()
local vehicle = GetVehicleInDirection()
if IsPedSittingInAnyVehicle(playerPed) then
Config.Notification(Config.Notifications["cant_install_nitro"]["message"], Config.Notifications["cant_install_nitro"]["type"])
else
if vehicle ~= nil and DoesEntityExist(vehicle) and IsPedOnFoot(playerPed) then
TaskStartScenarioInPlace(playerPed, 'PROP_HUMAN_BUM_BIN', 0, true)
Citizen.CreateThread(function()
Citizen.Wait(5000)
ClearPedTasksImmediately(playerPed)
TriggerServerEvent('codem-blvckhudv2:RemoveItem',Config.NitroItem, 1)
TriggerServerEvent('codem-blvckhudv2:InstallNitro', GetVehicleNumberPlateText(vehicle))
end)
else
Config.Notification(Config.Notifications["no_veh_nearby"]["message"], Config.Notifications["no_veh_nearby"]["type"])
end
end
end)
RegisterNetEvent('codem-blvckhudv2:UpdateNitroData')
AddEventHandler('codem-blvckhudv2:UpdateNitroData', function(nitroData)
while not response do
Citizen.Wait(0)
end
nitro = nitroData
local playerVeh = GetVehiclePedIsIn(playerPed, false)
if playerVeh ~= 0 and nitro[GetVehicleNumberPlateText(playerVeh)] ~= nil then
SendNUIMessage({ type="set_status", statustype = "nitro", value = nitro[GetVehicleNumberPlateText(playerVeh)]})
end
end)
local isPressing = false
RegisterCommand('+nitro', function()
local playerVeh = GetVehiclePedIsIn(playerPed, false)
isPressing = true
if playerVeh ~= 0 and nitro[GetVehicleNumberPlateText(playerVeh)] ~= nil then
if tonumber(nitro[GetVehicleNumberPlateText(playerVeh)]) > 0 then
if GetPedInVehicleSeat(playerVeh, -1) == playerPed then
while isPressing do
playerVeh = GetVehiclePedIsIn(playerPed, false)
if tonumber(nitro[GetVehicleNumberPlateText(playerVeh)]) <= 0 then
if tonumber(nitro[GetVehicleNumberPlateText(playerVeh)]) < 0 then
nitro[GetVehicleNumberPlateText(playerVeh)] = 0
end
isPressing = false
SetVehicleNitroBoostEnabled(playerVeh, false)
SetVehicleLightTrailEnabled(playerVeh, false)
SetVehicleNitroPurgeEnabled(playerVeh, false)
SetVehicleEnginePowerMultiplier(playerVeh,1.0)
TriggerServerEvent('codem-blvckhudv2:UpdateNitro', GetVehicleNumberPlateText(playerVeh), nitro[GetVehicleNumberPlateText(playerVeh)])
break
end
if playerVeh == 0 then
isPressing = false
SetVehicleEnginePowerMultiplier(playerVeh,1.0)
SetVehicleNitroBoostEnabled(playerVeh, false)
SetVehicleLightTrailEnabled(playerVeh, false)
SetVehicleNitroPurgeEnabled(playerVeh, false)
TriggerServerEvent('codem-blvckhudv2:UpdateNitro', GetVehicleNumberPlateText(playerVeh), nitro[GetVehicleNumberPlateText(playerVeh)])
break
end
if GetPedInVehicleSeat(playerVeh, -1) == playerPed then
local force = Config.NitroForce
nitro[GetVehicleNumberPlateText(playerVeh)] = nitro[GetVehicleNumberPlateText(playerVeh)] - Config.RemoveNitroOnpress
SendNUIMessage({ type="set_status", statustype = "nitro", value = nitro[GetVehicleNumberPlateText(playerVeh)]})
SetVehicleNitroBoostEnabled(playerVeh, true)
SetVehicleLightTrailEnabled(playerVeh, true)
SetVehicleNitroPurgeEnabled(playerVeh, true)
CreateVehicleExhaustBackfire(playerVeh, 1.25)
SetVehicleEnginePowerMultiplier(playerVeh,55.0)
else
SetVehicleNitroBoostEnabled(playerVeh, false)
SetVehicleLightTrailEnabled(playerVeh, false)
SetVehicleNitroPurgeEnabled(playerVeh, false)
SetVehicleEnginePowerMultiplier(playerVeh,1.0)
isPressing = false
TriggerServerEvent('codem-blvckhudv2:UpdateNitro', GetVehicleNumberPlateText(playerVeh), nitro[GetVehicleNumberPlateText(playerVeh)])
break
end
Citizen.Wait(400)
end
end
end
end
end)
RegisterCommand('-nitro', function()
local playerVeh = GetVehiclePedIsIn(playerPed, false)
if playerVeh ~= 0 and nitro[GetVehicleNumberPlateText(playerVeh)] ~= nil then
if GetPedInVehicleSeat(playerVeh, -1) == playerPed then
isPressing = false
SetVehicleNitroBoostEnabled(playerVeh, false)
SetVehicleLightTrailEnabled(playerVeh, false)
SetVehicleNitroPurgeEnabled(playerVeh, false)
SetVehicleEnginePowerMultiplier(playerVeh,1.0)
SendNUIMessage({ type="set_status", statustype = "nitro", value = nitro[GetVehicleNumberPlateText(playerVeh)]})
TriggerServerEvent('codem-blvckhudv2:UpdateNitro', GetVehicleNumberPlateText(playerVeh), nitro[GetVehicleNumberPlateText(playerVeh)])
end
else
SendNUIMessage({ type="set_status", statustype = "nitro", value = 0})
end
end)
RegisterKeyMapping('+nitro', 'Toggle Nitro', 'keyboard', Config.NitroKey)
end

View file

@ -1,254 +0,0 @@
seatbeltOn = false
if Config.EnableSeatbelt then
lastSpeed = 0
function CheckVehicleHasSeatbelt(vehicle)
if DoesEntityExist(vehicle) then
local model = GetEntityModel(vehicle)
local modelName = GetDisplayNameFromVehicleModel(model):lower()
-- Liste der Polizeimotorräder, die ausgeschlossen werden sollen
local policeBikes = {
"policeb",
"policeb2",
"sheriff2",
"mbu3rb",
"mbu2rb",
"mbu1flagrb",
"bomberbike"
-- Fügen Sie hier weitere Polizeimotorrad-Spawnnames hinzu, falls nötig
}
-- Prüfe, ob das Fahrzeug ein Polizeimotorrad ist
for _, bikeName in ipairs(policeBikes) do
if modelName == bikeName then
return false
end
end
local class = GetVehicleClass(vehicle)
-- Exclude motorcycles (8)
if class == 8 then return false end
-- Cars (0-7), Industrial vehicles (9), SUVs (2), Service vehicles (17),
-- Military vehicles (19), Commercial vehicles (20)
return class >= 0 and class <= 7 or class == 9 or class == 17 or class == 18 or class == 19 or class == 20
end
return false
end
if Config.SeatbeltSound then
CreateThread(function()
while true do
local ped = playerPed
local car = GetVehiclePedIsIn(ped)
if DoesEntityExist(car) and CheckVehicleHasSeatbelt(car) then
if not seatbeltOn then
local speed = GetEntitySpeed(car) * 3.6
if speed > 100.0 then -- Alarm nur über 100 km/h
SendNUIMessage({
type="PLAY_SEATBELT_SOUND",
})
end
end
end
Wait(2800)
end
end)
end
local seatbeltSpam = 0
function playSound(action)
local ped = playerPed
local car = GetVehiclePedIsIn(ped)
local seatPlayerId = {}
if IsCar(car) then
for i=1, GetVehicleModelNumberOfSeats(GetEntityModel(car)) do
if not IsVehicleSeatFree(car, i-2) then
local otherPlayerId = GetPedInVehicleSeat(car, i-2)
local playerHandle = NetworkGetPlayerIndexFromPed(otherPlayerId)
local playerServerId = GetPlayerServerId(playerHandle)
table.insert(seatPlayerId, playerServerId)
end
end
if #seatPlayerId > 0 then TriggerServerEvent("seatbelt:server:PlaySound", action, seatPlayerId) end
end
end
RegisterNetEvent('seatbelt:client:PlaySound')
AddEventHandler('seatbelt:client:PlaySound', function(action, volume)
SendNUIMessage({type = action, volume = volume})
end)
RegisterKeyMapping('seatbelt', 'Toggle Seatbelt', 'keyboard', Config.DefaultSeatbeltControlKey)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1500)
if seatbeltSpam > 0 then
Citizen.Wait(3500)
seatbeltSpam = 0
end
end
end)
RegisterNetEvent('codem-blackhudv2:seatbelt:toggle')
AddEventHandler('codem-blackhudv2:seatbelt:toggle', function(toggle)
local car = GetVehiclePedIsIn(playerPed)
if car ~= 0 and IsCar(car) then
if seatbeltSpam >= 3 then
if Config.EnableSpamNotification then
Config.Notification(Config.Notifications["spam"]["message"], Config.Notifications["spam"]["type"])
end
return
end
seatbeltOn = toggle
if seatbeltOn then
SendNUIMessage({
type="update_seatbelt",
toggle = true
})
playSound("buckle")
Config.Notification(Config.Notifications["took_seatbelt"]["message"], Config.Notifications["took_seatbelt"]["type"])
else
SendNUIMessage({
type="update_seatbelt",
toggle = false
})
playSound("unbuckle")
Config.Notification(Config.Notifications["took_off_seatbelt"]["message"], Config.Notifications["took_off_seatbelt"]["type"])
end
end
end)
RegisterCommand('seatbelt', function()
if IsPedHangingOnToVehicle(playerPed) then
return
end
local car = GetVehiclePedIsIn(playerPed)
if car ~= 0 and IsCar(car) then
if seatbeltSpam >= 3 then
if Config.EnableSpamNotification then
Config.Notification(Config.Notifications["spam"]["message"], Config.Notifications["spam"]["type"])
end
return
end
seatbeltOn = not seatbeltOn
if seatbeltOn then
SendNUIMessage({
type="update_seatbelt",
toggle = true
})
playSound("buckle")
Config.Notification(Config.Notifications["took_seatbelt"]["message"], Config.Notifications["took_seatbelt"]["type"])
else
SendNUIMessage({
type="update_seatbelt",
toggle = false
})
playSound("unbuckle")
Config.Notification(Config.Notifications["took_off_seatbelt"]["message"], Config.Notifications["took_off_seatbelt"]["type"])
end
end
end, false)
function Fwv(entity)
local hr = GetEntityHeading(entity) + 90.0
if hr < 0.0 then hr = 360.0 + hr end
hr = hr * 0.0174533
return { x = math.cos(hr) * 2.0, y = math.sin(hr) * 2.0 }
end
function IsCar(veh)
if DoesEntityExist(veh) then
local model = GetEntityModel(veh)
local modelName = GetDisplayNameFromVehicleModel(model):lower()
-- Liste der Polizeimotorräder
local policeBikes = {
"policeb",
"policeb2",
"sheriff2",
"mbu3rb",
"mbu2rb",
"mbu1flagrb",
"bomberbike"
-- Fügen Sie hier weitere Polizeimotorrad-Spawnnames hinzu, falls nötig
}
-- Prüfe, ob das Fahrzeug ein Polizeimotorrad ist
for _, bikeName in ipairs(policeBikes) do
if modelName == bikeName then
return false
end
end
local vc = GetVehicleClass(veh)
if vc == 8 then return false end
return (vc >= 0 and vc <= 7) or vc == 9 or vc == 17 or vc == 18 or vc == 19 or vc == 20
end
return false
end
RegisterNetEvent('codem-blackhud-v2:client:EjectPlayer')
AddEventHandler('codem-blackhud-v2:client:EjectPlayer', function(velocity)
print("Ejecting player")
if not seatbeltOn then
local ped = PlayerPedId()
local coords = GetEntityCoords(ped)
local fw = Fwv(ped)
lastSpeed = 0
SetEntityCoords(ped, coords.x + fw.x, coords.y + fw.y, coords.z - .47, true, true, true)
SetEntityVelocity(ped, lastVelocity.x, lastVelocity.y, lastVelocity.z)
Wait(500)
ApplyDamageToPed(ped, math.random(10, 30), false)
SetPedToRagdoll(ped, 1000, 1000, 0, 0, 0, 0)
seatbeltOn = false
SendNUIMessage({
type="update_seatbelt",
toggle = false
})
end
end)
CreateThread(function()
while true do
local ped = PlayerPedId()
local Vehicle = GetVehiclePedIsIn(ped)
if IsPedInAnyVehicle(ped) and CheckVehicleHasSeatbelt(Vehicle) then
local vehicle = Vehicle
local speed = GetEntitySpeed(vehicle) * 3.6
if lastSpeed > (Config.SeatBeltFlySpeed) and (lastSpeed - speed) > (speed * 1.7) then
if not seatbeltOn then
print("Ejecting player", lastSpeed, speed)
local seatPlayerId = {}
for i=1, GetVehicleModelNumberOfSeats(GetEntityModel(vehicle)) do
if not IsVehicleSeatFree(vehicle, i-2) then
local otherPlayerId = GetPedInVehicleSeat(vehicle, i-2)
local playerHandle = NetworkGetPlayerIndexFromPed(otherPlayerId)
local playerServerId = GetPlayerServerId(playerHandle)
table.insert(seatPlayerId, playerServerId)
end
end
seatbeltOn = false
SendNUIMessage({
type="update_seatbelt",
toggle = false
})
if #seatPlayerId > 0 then TriggerServerEvent("codem-blackhud-v2:server:EjectPlayer", seatPlayerId) end
end
end
lastSpeed = speed
lastVelocity = GetEntityVelocity(vehicle)
else
if seatbeltOn then
seatbeltOn = false
SendNUIMessage({
type="update_seatbelt",
toggle = false
})
lastSpeed = 0
end
Wait(2000)
end
Wait(150)
end
end)
end

View file

@ -1,314 +0,0 @@
speedMultiplier = Config.DefaultSpeedUnit == "kmh" and 3.6 or 2.23694
Citizen.CreateThread(function()
while true do
HideHudComponentThisFrame(6) -- VEHICLE_NAME
HideHudComponentThisFrame(7) -- AREA_NAME
HideHudComponentThisFrame(8) -- VEHICLE_CLASS
HideHudComponentThisFrame(9) -- STREET_NAME
HideHudComponentThisFrame(3) -- CASH
HideHudComponentThisFrame(4) -- MP_CASH
HideHudComponentThisFrame(21) -- 21 : HUD_COMPONENTS
HideHudComponentThisFrame(22) -- 22 : HUD_WEAPONS
DisplayAmmoThisFrame(false)
Citizen.Wait(4)
end
end)
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(xPlayer)
TriggerServerEvent('codem-blackhudv2:LoadHud')
Citizen.CreateThread(function()
loadESXMoneyAndJob()
end)
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded')
AddEventHandler('QBCore:Client:OnPlayerLoaded', function()
TriggerServerEvent('codem-blackhudv2:LoadHud')
end)
Citizen.CreateThread(function()
WaitPlayer()
Citizen.Wait(2500)
while true do
Citizen.Wait(4000)
if Config.Framework == "esx" then
TriggerEvent('esx_status:getStatus', 'hunger', function(hunger)
TriggerEvent('esx_status:getStatus', 'thirst', function(thirst)
local myhunger = hunger.getPercent()
local mythirst = thirst.getPercent()
SendNUIMessage({
type = "set_status",
statustype = "hunger",
value = myhunger,
})
SendNUIMessage({
type = "set_status",
statustype = "thirst",
value = mythirst,
})
end)
end)
else
local myhunger = frameworkObject.Functions.GetPlayerData().metadata["hunger"]
local mythirst = frameworkObject.Functions.GetPlayerData().metadata["thirst"]
SendNUIMessage({
type = "set_status",
statustype = "hunger",
value = myhunger,
})
SendNUIMessage({
type = "set_status",
statustype = "thirst",
value = mythirst,
})
end
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1)
if GetEntityMaxHealth(PlayerPedId()) ~= 200 then
SetEntityMaxHealth(PlayerPedId(), 200)
SetEntityHealth(PlayerPedId(), 200)
end
end
end)
function LoadRectMinimap(hud)
local defaultAspectRatio = 1920/1080 -- Don't change this.
local resolutionX, resolutionY = GetActiveScreenResolution()
local aspectRatio = resolutionX/resolutionY
local minimapOffset = 0
if aspectRatio > defaultAspectRatio then
minimapOffset = ((defaultAspectRatio-aspectRatio)/3.6)-0.008
end
RequestStreamedTextureDict("squaremap", false)
while not HasStreamedTextureDictLoaded("squaremap") do
Wait(150)
end
SetMinimapClipType(0)
AddReplaceTexture("platform:/textures/graphics", "radarmasksm", "squaremap", "radarmasksm")
AddReplaceTexture("platform:/textures/graphics", "radarmask1g", "squaremap", "radarmasksm")
-- 0.0 = nav symbol and icons left
-- 0.1638 = nav symbol and icons stretched
-- 0.216 = nav symbol and icons raised up
SetMinimapComponentPosition("minimap", "L", "B", 0.0 + minimapOffset, -0.047, 0.1638, 0.183)
-- icons within map
SetMinimapComponentPosition("minimap_mask", "L", "B", 0.0 + minimapOffset, 0.0, 0.128, 0.20)
-- -0.01 = map pulled left
-- 0.025 = map raised up
-- 0.262 = map stretched
-- 0.315 = map shorten
SetMinimapComponentPosition('minimap_blur', 'L', 'B', -0.01 + minimapOffset, 0.025, 0.262, 0.300)
SetBlipAlpha(GetNorthRadarBlip(), 0)
SetRadarBigmapEnabled(true, false)
SetMinimapClipType(0)
Wait(0)
SetRadarBigmapEnabled(false, false)
end
function LoadRadialMap(hud)
local defaultAspectRatio = 1920/1080 -- Don't change this.
local resolutionX, resolutionY = GetActiveScreenResolution()
local aspectRatio = resolutionX/resolutionY
local minimapOffset = 0
if aspectRatio > defaultAspectRatio then
minimapOffset = ((defaultAspectRatio-aspectRatio)/3.6)-0.008
end
RequestStreamedTextureDict("circlemap", false)
while not HasStreamedTextureDictLoaded("circlemap") do
Wait(150)
end
SetMinimapClipType(1)
AddReplaceTexture("platform:/textures/graphics", "radarmasksm", "circlemap", "radarmasksm")
AddReplaceTexture("platform:/textures/graphics", "radarmask1g", "circlemap", "radarmasksm")
-- -0.0100 = nav symbol and icons left
-- 0.180 = nav symbol and icons stretched
-- 0.258 = nav symbol and icons raised up
SetMinimapComponentPosition("minimap", "L", "B", -0.0100 + minimapOffset, -0.030, 0.180, 0.258)
-- icons within map
SetMinimapComponentPosition("minimap_mask", "L", "B", 0.200 + minimapOffset, 0.0, 0.065, 0.20)
-- -0.00 = map pulled left
-- 0.015 = map raised up
-- 0.252 = map stretched
-- 0.338 = map shorten
SetMinimapComponentPosition('minimap_blur', 'L', 'B', -0.00 + minimapOffset, 0.015, 0.252, 0.338)
SetBlipAlpha(GetNorthRadarBlip(), 0)
SetMinimapClipType(1)
SetRadarBigmapEnabled(true, false)
Wait(0)
SetRadarBigmapEnabled(false, false)
end
Citizen.CreateThread(function()
local ped = PlayerPedId()
while true do
Citizen.Wait(100)
SetRadarZoom(1100)
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(100)
SetBigmapActive(false, false)
end
end)
Citizen.CreateThread(function()
if Config.Framework == "esx" then
WaitPlayer()
Citizen.Wait(2500)
TriggerEvent('esx_status:getStatus', 'hunger', function(hunger)
TriggerEvent('esx_status:getStatus', 'thirst', function(thirst)
local myhunger = hunger.getPercent()
local mythirst = thirst.getPercent()
SendNUIMessage({
type = "set_status",
statustype = "hunger",
value = myhunger,
})
SendNUIMessage({
type = "set_status",
statustype = "thirst",
value = mythirst,
})
end)
end)
else
WaitPlayer()
local myhunger = frameworkObject.Functions.GetPlayerData().metadata["hunger"]
local mythirst = frameworkObject.Functions.GetPlayerData().metadata["thirst"]
Citizen.Wait(2500)
SendNUIMessage({
type = "set_status",
statustype = "hunger",
value = myhunger,
})
SendNUIMessage({
type = "set_status",
statustype = "thirst",
value = mythirst,
})
end
local playerPed = playerPed
local health = GetEntityHealth(playerPed)
local val = health-100
SendNUIMessage({
type = "set_status",
statustype = "health",
value = val,
})
end)
local lastHealth = nil
Citizen.CreateThread(function()
while true do
Citizen.Wait(1250)
local playerPed = playerPed
local health = GetEntityHealth(playerPed)
if lastHealth ~= health then
local val = health-100
SendNUIMessage({
type = "set_status",
statustype = "health",
value = val,
})
lastHealth = health
end
end
end)
RegisterNUICallback('ResetHudPositions', function(data, cb)
local data = {}
for _, v in pairs(Config.DefaultHudPositions) do
if type(v) == 'string' and Config.AvaliablePositions[v] then
data[_] = Config.AvaliablePositions[v]
end
end
TriggerServerEvent('codem-blvckhudv2:UpdateData', "positionsData", data)
cb("ok")
end)
RegisterNUICallback('hudselected', function(data, cb)
local hudtype = data.type
local defaultAspectRatio = 1920/1080 -- Don't change this.
local resolutionX, resolutionY = GetActiveScreenResolution()
local aspectRatio = resolutionX/resolutionY
local minimapOffset = 0
if aspectRatio > defaultAspectRatio then
minimapOffset = ((defaultAspectRatio-aspectRatio)/3.6)-0.008
end
TriggerServerEvent('codem-blvckhudv2:UpdateData', data.settingstype, data.val)
if data.settingstype == "hud" then
if data.val == "radial" then
local playerPed = playerPed
local armour = GetPedArmour(playerPed)
SendNUIMessage({
type = "armour_update",
armour = armour,
})
if Config.Framework == "esx" then
else
local myhunger = frameworkObject.Functions.GetPlayerData().metadata["hunger"]
local mythirst = frameworkObject.Functions.GetPlayerData().metadata["thirst"]
SendNUIMessage({
type = "set_status",
statustype = "hunger",
value = myhunger,
})
SendNUIMessage({
type = "set_status",
statustype = "thirst",
value = mythirst,
})
end
local health = GetEntityHealth(playerPed)
local val = health-100
SendNUIMessage({
type = "set_status",
statustype = "health",
value = val,
})
end
end
cb("ok")
end)

View file

@ -1,273 +0,0 @@
if Config.UseStress then
local stress = 0
RegisterNetEvent('hud:client:UpdateStress', function(newStress) -- Add this event with adding stress elsewhere
stress = newStress
SendNUIMessage({ type="set_status", statustype = "stress", value = newStress})
end)
function IsWhitelistedWeaponStress(weapon)
if weapon then
for _, v in pairs(Config.WhitelistedWeaponStress) do
if weapon == v then
return true
end
end
end
return false
end
CreateThread(function() -- Speeding
if Config.AddStress["on_fastdrive"].enable then
while true do
local ped = playerPed
if IsPedInAnyVehicle(ped, false) then
local speed = GetEntitySpeed(GetVehiclePedIsIn(ped, false)) * speedMultiplier
local stressSpeed = 110
if speed >= stressSpeed then
TriggerServerEvent('hud:server:GainStress', math.random(Config.AddStress["on_fastdrive"].min, Config.AddStress["on_fastdrive"].max))
end
end
Wait(10000)
end
end
end)
CreateThread(function() -- Shooting
if Config.AddStress["on_shoot"].enable then
while true do
local ped = playerPed
local weapon = GetSelectedPedWeapon(ped)
if weapon ~= `WEAPON_UNARMED` then
if IsPedShooting(ped) then
if math.random() < 0.15 and not IsWhitelistedWeaponStress(weapon) then
TriggerServerEvent('hud:server:GainStress', math.random(Config.AddStress["on_shoot"].min, Config.AddStress["on_shoot"].max))
end
end
else
Wait(900)
end
Wait(8)
end
end
end)
CreateThread(function()
while true do
local ped = playerPed
if stress >= 100 then
local ShakeIntensity = GetShakeIntensity(stress)
local FallRepeat = math.random(2, 4)
local RagdollTimeout = (FallRepeat * 1750)
ShakeGameplayCam('SMALL_EXPLOSION_SHAKE', ShakeIntensity)
SetFlash(0, 0, 500, 3000, 500)
if not IsPedRagdoll(ped) and IsPedOnFoot(ped) and not IsPedSwimming(ped) then
SetPedToRagdollWithFall(ped, RagdollTimeout, RagdollTimeout, 1, GetEntityForwardVector(ped), 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
end
Wait(500)
for i=1, FallRepeat, 1 do
Wait(750)
DoScreenFadeOut(200)
Wait(1000)
DoScreenFadeIn(200)
ShakeGameplayCam('SMALL_EXPLOSION_SHAKE', ShakeIntensity)
SetFlash(0, 0, 200, 750, 200)
end
elseif stress >= 50 then
local ShakeIntensity = GetShakeIntensity(stress)
ShakeGameplayCam('SMALL_EXPLOSION_SHAKE', ShakeIntensity)
SetFlash(0, 0, 500, 2500, 500)
end
Wait(GetEffectInterval(stress))
end
end)
function GetShakeIntensity(stresslevel)
local retval = 0.05
local Intensity = {
["shake"] = {
[1] = {
min = 50,
max = 60,
intensity = 0.12,
},
[2] = {
min = 60,
max = 70,
intensity = 0.17,
},
[3] = {
min = 70,
max = 80,
intensity = 0.22,
},
[4] = {
min = 80,
max = 90,
intensity = 0.28,
},
[5] = {
min = 90,
max = 100,
intensity = 0.32,
},
}
}
for k, v in pairs(Intensity['shake']) do
if stresslevel >= v.min and stresslevel <= v.max then
retval = v.intensity
break
end
end
return retval
end
function GetEffectInterval(stresslevel)
local EffectInterval = {
[1] = {
min = 50,
max = 60,
timeout = math.random(14000, 15000)
},
[2] = {
min = 60,
max = 70,
timeout = math.random(12000, 13000)
},
[3] = {
min = 70,
max = 80,
timeout = math.random(10000, 11000)
},
[4] = {
min = 80,
max = 90,
timeout = math.random(8000, 9000)
},
[5] = {
min = 90,
max = 100,
timeout = math.random(6000, 7000)
}
}
local retval = 10000
for k, v in pairs(EffectInterval) do
if stresslevel >= v.min and stresslevel <= v.max then
retval = v.timeout
break
end
end
return retval
end
end
RegisterNetEvent('esx_basicneeds:onEat')
AddEventHandler('esx_basicneeds:onEat', function()
if Config.RemoveStress["on_eat"].enable then
local val = math.random(Config.RemoveStress["on_eat"].min, Config.RemoveStress["on_eat"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('consumables:client:Eat')
AddEventHandler('consumables:client:Eat', function()
if Config.RemoveStress["on_eat"].enable then
local val = math.random(Config.RemoveStress["on_eat"].min, Config.RemoveStress["on_eat"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('consumables:client:Drink')
AddEventHandler('consumables:client:Drink', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('consumables:client:DrinkAlcohol')
AddEventHandler('consumables:client:DrinkAlcohol', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('devcore_needs:client:StartEat')
AddEventHandler('devcore_needs:client:StartEat', function()
if Config.RemoveStress["on_eat"].enable then
local val = math.random(Config.RemoveStress["on_eat"].min, Config.RemoveStress["on_eat"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('devcore_needs:client:DrinkShot')
AddEventHandler('devcore_needs:client:DrinkShot', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('devcore_needs:client:StartDrink')
AddEventHandler('devcore_needs:client:StartDrink', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('esx_optionalneeds:onDrink')
AddEventHandler('esx_optionalneeds:onDrink', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
RegisterNetEvent('esx_basicneeds:onDrink')
AddEventHandler('esx_basicneeds:onDrink', function()
if Config.RemoveStress["on_drink"].enable then
local val = math.random(Config.RemoveStress["on_drink"].min, Config.RemoveStress["on_drink"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end)
AddEventHandler('esx:onPlayerDeath', function()
TriggerServerEvent('hud:server:RelieveStress', 10000)
end)
RegisterNetEvent('hospital:client:RespawnAtHospital')
AddEventHandler('hospital:client:RespawnAtHospital', function()
TriggerServerEvent('hud:server:RelieveStress', 10000)
end)
Citizen.CreateThread(function()
if Config.RemoveStress["on_swimming"].enable then
while true do
Citizen.Wait(10000)
if IsPedSwimming(playerPed) then
local val = math.random(Config.RemoveStress["on_swimming"].min, Config.RemoveStress["on_swimming"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end
end
end)
Citizen.CreateThread(function()
if Config.RemoveStress["on_running"].enable then
while true do
Citizen.Wait(10000)
if IsPedRunning(playerPed) then
local val = math.random(Config.RemoveStress["on_running"].min, Config.RemoveStress["on_running"].max)
TriggerServerEvent('hud:server:RelieveStress', val)
end
end
end
end)

View file

@ -1,408 +0,0 @@
-------------------------------------------- General --------------------------------------------
Config = {}
Config.Framework = "newqb" -- newqb, oldqb, esx
Config.NewESX = false
Config.Mysql = "oxmysql" -- mysql-async, ghmattimysql, oxmysql
Config.MysqlTableName = "codem_hud_data" -- Don't change if you don't know what you're doing
Config.Voice = "saltychat" -- mumble, saltychat, pma
Config.DefaultHud = "radial" -- Default hud when player first login avaliable huds [radial, classic, text]
Config.EnableDynamicStatusFirstJoin = false -- Enable dynamic status first join
Config.DefaultSpeedUnit = "kmh" -- Default speed unit when player first login avaliable speed units [kmh, mph]
Config.HudSettingsCommand = 'hudsettings' -- Command for open hud settings
Config.DisplayMapOnWalk = true -- true - Show map when walking | false - Hide map when walking
Config.DisplayRealTime = true -- if you set this to true will show the real time according to player local time | if false it will show the game time
Config.EnableSpamNotification = true -- Spam preventation for seatbelt, cruise etc.
Config.EnableDateDisplay = true -- Determines if display date or nor
Config.DefaultMap = "rectangle" -- rectangle, radial
Config.DefaultSpeedometerSize = 1.2 -- 0.5 - 1.3
Config.DefaultHudSize = 1.0 -- 0.5 - 1.3
Config.EnableAmmoHud = true -- Determines if display ammo hud or nor
Config.DefaultRefreshRate = 200 -- Refresh rate for vehicle hud
Config.EnableCompass = true
Config.EnableHealth = true
Config.EnableHunger = true
Config.EnableThirst = true
Config.EnableHud = true
Config.EnableArmor = true
Config.EnableStamina = true
Config.EnableSpeedometer = true
Config.EnableToggleMapButton = true -- true | enables the toggle minimap button from the hud settings menu | -- false | disables the toggle minimap button from the hud settings menu
Config.LocationUpdateTime = 2000 -- if you reduce wait time resmon could increase
Config.SeatBeltFlySpeed = 150 -- Determines at what speed player will be ejected from vehicle when he/she doesn't have seatbelt on
Config.SeatbeltSound = true
Config.SeatbeltSoundSpeedLimit = 30
-- 1 means smallest and 4 biggest size
Config.AccountSize = {
cash = 4,
bank = 3,
black_money = 2,
boss_money = 1,
}
Config.AvaliablePositions = {
["bottom-center"] = {
left = '48.75rem',
bottom = '1rem',
right = 'unset',
},
["bottom-right"] = {
right = '1rem',
bottom = '1rem',
left = 'unset',
},
["top-center"] = {
left = '48.75rem',
top = '1rem',
right = 'unset',
},
["top-left"] = {
left = '1rem',
top = '1rem',
right = 'unset',
},
}
-- This option sets the default hud positions for players who do not set their own positions from hud settings
Config.DefaultHudPositions = {
-- TEXT HUD
["text-main"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
-- RADIAL HUD
["radial-hudall"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
-- CLASSIC HUD
["classic-container"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
-- RADIAL HUD'S COMPASS
["radial-compass"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
-- TEXT HUD'S COMPASS
["text-compass"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
-- CLASSIC HUD'S COMPASS
["classic-compass"] = 'default', -- avaliable options are [default, bottom-center, bottom-right, top-center, top-left]
}
Config.DefaultHudColors = {
["radial"] = {
["health"] = "#FF4848ac",
["armor"] = "#FFFFFFac",
["hunger"] = "#FFA048ac",
["thirst"] = "#4886FFac",
["stress"] = "#48A7FFac",
["stamina"] = "#C4FF48ac",
["oxy"] = "#48A7FFac",
["parachute"] = "#48FFBDac",
["nitro"] = "#AFFF48ac",
["altitude"] = "#00FFF0ac",
},
["text"] = {
["health"] = "#FF4848ac",
["armor"] = "#FFFFFFac",
["hunger"] = "#FFA048ac",
["thirst"] = "#4886FFac",
["stress"] = "#48A7FFac",
["stamina"] = "#C4FF48ac",
["parachute"] = "#48FFBDac",
["oxy"] = "#48A7FFac",
["nitro"] = "#AFFF48ac",
["altitude"] = "#00FFF0ac",
},
["classic"] = {
["health"] = "#9F2929",
["armor"] = "#2E3893",
["hunger"] = "#B3743A",
["thirst"] = "#2F549C",
["stress"] = "#AA35A6",
["oxy"] = "#48A7FFac",
["stamina"] = "#c4ff48",
["parachute"] = "#48ffde",
["nitro"] = "#8eff48",
["altitude"] = "#48deff",
},
}
-------------------------------------------- Watermark hud --------------------------------------------
Config.DisableWaterMarkTextAndLogo = false -- true - Disable watermark text and logo
Config.UseWaterMarkText = false -- if true text will be shown | if false logo will be shown
Config.WaterMarkText1 = "CODEM" -- Top right server text
Config.WaterMarkText2 = "SCRiPTS" -- Top right server text
Config.WaterMarkLogo = "https://cdn.discordapp.com/attachments/862018783391252500/967359920703942686/Frame_303.png" -- Logo url
Config.LogoWidth = "11.875rem"
Config.LogoHeight = "3.313rem"
Config.EnableId = true -- Determines if display server id or nor
Config.EnableWatermarkCash = true -- Determines if display cash or nor
Config.EnableWatermarkBlackMoney = true -- Determines if display black_money or nor (only esx)
Config.EnableWatermarkBossMoney = true -- Determines if display boss money or nor (only esx)
Config.BossGradeNames = { -- you can set custom boss grade names here otherwise hud gets grade name as boss
["police"] = 'boss',
["ambulance"] = 'boss',
}
Config.EnableWatermarkBankMoney = true -- Determines if display bank money or nor
Config.EnableWatermarkJob = true -- Determines if display job or nor
Config.EnableWatermarkWeaponImage = true -- Determines if display weapon image or nor
Config.EnableWaterMarkHud = true -- Determines if right-top hud is enabled or not
Config.EnableWaterMarkHudHideButtons = true
Config.Text1Style = {
["color"] = '#e960c7',
["text-shadow"] = "0px 0.38rem 2.566rem rgba(116, 5, 147, 0.55)",
}
Config.Text2Style = {
["color"] = "#ffffff",
}
-------------------------------------------- Keys --------------------------------------------
Config.DefaultCruiseControlKey = "p" -- Default control key for cruise. Players can change the key according to their desire
Config.DefaultSeatbeltControlKey = "b" -- Default control key for seatbelt. Players can change the key according to their desire
Config.VehicleEngineToggleKey = "o" -- Default control key for toggle engine. Players can change the key according to their desire
Config.NitroKey = "n" -- Default control key for use nitro. Players can change the key according to their desire
-------------------------------------------- Nitro --------------------------------------------
Config.RemoveNitroOnpress = 2 -- Determines of how much you want to remove nitro when player press nitro key
Config.NitroItem = "nitrous" -- item to install nitro to a vehicle
Config.EnableNitro = true -- Determines if nitro system is enabled or not
Config.NitroForce = 40.0 -- Nitro force when player using nitro
-------------------------------------------- Money commands --------------------------------------------
Config.EnableCashAndBankCommands = true -- Determines if money commands are enabled or not
Config.CashCommand = "cash" -- command to see cash
Config.BankCommand = "bank" -- command to see bank money
-------------------------------------------- Engine Toggle --------------------------------------------
Config.EnableEngineToggle = true -- Determines if engine toggle is enabled or not
-------------------------------------------- Vehicle Functionality --------------------------------------------
Config.EnableCruise = true -- Determines if cruise mode is active
Config.EnableSeatbelt = true -- Determines if seatbelt is active
-------------------------------------------- Settings text --------------------------------------------
Config.SettingsLocale = { -- Settings texts
["text_hud_1"] = "text",
["text_hud_2"] = "hud",
["classic_hud_1"] = "classic",
["classic_hud_2"] = "hud",
["radial_hud_1"] = "radial",
["radial_hud_2"] = "hud",
["hide_hud"] = "Hide Hud",
["health"] = "Health",
["armor"] = "Armor",
["thirst"] = "Thirst",
["stress"] = "Stress",
["oxy"] = "Oxygen",
["hunger"] = "Hunger",
["show_hud"] = "Show Hud",
["stamina"] = "Stamina",
["nitro"] = "Nitro",
["Altitude"] = "Altitude",
["Parachute"] = "Parachute",
["enable_cinematicmode"] = "Cinematic Mode",
["disable_cinematicmode"] = "Disable Cinematic",
["speedometer"] = "SPEEDOMETER",
["map"] = "MAP",
["show_compass"] = "Show Compass",
["hide_compass"] = "Hide Compass",
["rectangle"] = "Rectangle",
["radial"] = "Radial",
["dynamic"] = "DYNAMiC",
["status"] = "STATUS",
["enable"] = "Enable",
["hud_size"] = "Status size",
["disable"] = "Disable",
["hide_at"] = "Hide at",
["and_above"] = "and above",
["and_below"] = "and below",
["enable_edit_mode"] = "Drag HUD (One by one)",
["enable_edit_mode_2"] = "Drag HUD (All)",
["change_status_size"] = "Change status size",
["change_color"] = "Change color of selected hud ",
["disable_edit_mode"] = "Disable Edit Mode",
["reset_hud_positions"] = "Reset Hud Positions",
["info_text"] = "Be aware decraising refresh rate may decrease your in game performance!",
["speedometer_size"] = "Speedometer Size",
["refresh_rate"] = "Refresh Rate",
["esc_to_exit"] = "PRESS ESC TO EXIT EDIT MODE",
["toggle_minimap"] = "Toggle Minimap",
["currency"] = '$',
["hide_id"] = 'Hide ID',
["hide_logo"] = 'Hide Logo',
["hide_cash"] = 'Hide Cash Money',
["hide_bank"] = 'Hide Bank Money',
["hide_boss_money"] = 'Hide Boss Money',
["hide_black_money"] = 'Hide Black Money',
["hide_weapon"] = 'Hide Weapon',
["hide_ammo"] = 'Hide Ammo',
["hide_job"] = 'Hide Job',
["hide_all"] = 'Hide All',
["show_id"] = 'Show ID',
["show_logo"] = 'Show Logo',
["show_cash"] = 'Show Cash Money',
["show_bank"] = 'Show Bank Money',
["show_boss_money"] = 'Show Boss Money',
["show_black_money"] = 'Show Black Money',
["show_weapon"] = 'Show Weapon',
["show_ammo"] = 'Show Ammo',
["show_job"] = 'Show Job',
["show_all"] = 'Show All'
}
-------------------------------------------- Fuel --------------------------------------------
-------------------------------------------- Fuel --------------------------------------------
Config.EnableFuel = true -- Do NOT Touch if you have any fuel system
Config.FuelSystem = 'lc_fuel' -- LegacyFuel / ox-fuel / nd-fuel / frfuel / cdn-fuel
Config.GetVehicleFuel = function(vehicle)
if Config.EnableFuel then
if DoesEntityExist(vehicle) then
if Config.FuelSystem == 'LegacyFuel' then
return exports["LegacyFuel"]:GetFuel(vehicle)
elseif Config.FuelSystem == 'ox-fuel' then
return GetVehicleFuelLevel(vehicle)
elseif Config.FuelSystem == 'cdn_fuel' then
return exports["nd-fuel"]:GetFuel(vehicle)
elseif Config.FuelSystem == 'frfuel' then
return exports.frfuel:getCurrentFuelLevel(vehicle)
elseif Config.FuelSystem == 'cdn_fuel' then
return exports['cdn-fuel']:GetFuel(vehicle)
elseif Config.FuelSystem == 'lc_fuel' then
return exports["lc_fuel"]:GetFuel(vehicle)
else
-- You can added export if you want it
end
end
else
return GetVehicleFuelLevel(vehicle)
end
end
-------------------------------------------- Stress --------------------------------------------
Config.UseStress = false -- if you set this to false the stress hud will be removed
Config.StressWhitelistJobs = { -- Add here jobs you want to disable stress
'police', 'ambulance'
}
Config.WhitelistedWeaponStress = {
'weapon_petrolcan',
'weapon_hazardcan',
'weapon_fireextinguisher'
}
Config.AddStress = {
["on_shoot"] = {
min = 1,
max = 3,
enable = true,
},
["on_fastdrive"] = {
min = 1,
max = 3,
enable = true,
},
}
Config.RemoveStress = { -- You can set here amounts by your desire
["on_eat"] = {
min = 5,
max = 10,
enable = true,
},
["on_drink"] = {
min = 5,
max = 10,
enable = true,
},
["on_swimming"] = {
min = 5,
max = 10,
enable = true,
},
["on_running"] = {
min = 5,
max = 10,
enable = true,
},
}
-------------------------------------------- Notifications --------------------------------------------
Config.Notifications = { -- Notifications
["stress_gained"] = {
message = 'Getting Stressed',
type = "error",
},
["stress_relive"] = {
message = 'You Are Relaxing',
type = "success",
},
["took_off_seatbelt"] = {
type = "error",
message = "Du hast dich abgeschnallt.",
},
["took_seatbelt"] = {
type = "success",
message = "Du hast dich angeschnallt.",
},
["cruise_actived"] = {
type = "success",
message = "Cruise actived.",
},
["cruise_disabled"] = {
type = "error",
message = "Cruise disabled.",
},
["spam"] = {
type = "error",
message = "Please wait for a few seconds.",
},
["engine_on"] = {
type = "success",
message = "Motor an",
},
["engine_off"] = {
type = "success",
message = "Motor aus",
},
["cant_install_nitro"] = {
type = "error",
message = "You can't install nitro inside vehicle.",
},
["no_veh_nearby"] = {
type = "error",
message = "No vehicle nearby.",
},
["cash_display"] = {
type = "success",
message = "You have $%s in your pocket.",
},
["bank_display"] = {
type = "success",
message = "You have $%s in your bank.",
},
}
Config.Notification = function(message, type, isServer, src) -- You can change here events for notifications
if isServer then
if Config.Framework == "esx" then
TriggerClientEvent("esx:showNotification", src, message)
else
TriggerClientEvent('QBCore:Notify', src, message, type, 1500)
end
else
if Config.Framework == "esx" then
TriggerEvent("esx:showNotification", message)
else
TriggerEvent('QBCore:Notify', message, type, 1500)
end
end
end

View file

@ -1,63 +0,0 @@
fx_version 'cerulean'
game 'gta5'
author 'Lucid#3604'
shared_scripts {
'config.lua'
}
client_scripts {
'GetFrameworkObject.lua',
'client/client.lua',
'client/nitro.lua',
'client/seatbelt.lua',
'client/stress.lua',
'client/UpdateMoney.lua',
'client/status.lua',
}
server_scripts {
'@mysql-async/lib/MySQL.lua',
'@oxmysql/lib/MySQL.lua',
'GetFrameworkObject.lua',
'server/server.lua',
'server/seatbelt.lua',
'server/PlayerLoaded.lua',
'server/stress.lua',
'server/nitro.lua',
}
ui_page {
'html/index.html',
}
files {
'html/assets/fonts/*.otf',
'html/assets/images/*.png',
'html/assets/weapons/*.png',
'html/lib/*.js',
'html/script/*.js',
'html/index.html',
'html/*.ogg',
'html/style/*.css',
}
lua54 'on'
escrow_ignore {
'config.lua',
'GetFrameworkObject.lua',
'server/PlayerLoaded.lua',
'server/stress.lua',
'server/nitro.lua',
'client/nitro.lua',
'server/seatbelt.lua',
'client/seatbelt.lua',
'client/stress.lua',
'client/UpdateMoney.lua',
'client/status.lua'
}
dependency '/assetpacks'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Some files were not shown because too many files have changed in this diff Show more