HexscriptsClassicGenesis HUD
Configurations
Here you will get all configurations & open source files that are included within this script.
Config Files
Config = {
Debug = false,
Framework = 'ESX', -- ESX | QBCore | Standalone
Locale = 'de',
Voice = {
System = 'saltychat', -- saltychat | pma
Ranges = { 1, 3.5, 8, 32 },
RangeColor = {
red = 237,
green = 2,
blue = 2
}
},
disableFoodSystem = false, -- if true the food hud will be disabled.
bankOrBlackMoney = true, -- if true it will show bank money instead of black money, if false it will show black money instead of bank money.
TxAnnounces = {
restart = {
enable = true, -- if true it will use txAdmin restarts, dont forget to hide it in the settings from txAdmin
type = 'announcement', -- announcement | notify
timeout = 8000 -- ms how long the restart announcement should be shown
},
announcement = {
enable = true, -- if true it will use txAdmin announcements, dont forget to hide it in the settings from txAdmin
type = 'announcement', -- announcement | notify
timeout = 8000 -- ms how long the announcement should be shown
},
directMessage = {
enable = true, -- if true it will use txAdmin Direct Messages, dont forget to hide it in the settings from txAdmin
type = 'notify', -- announcement | notify
timeout = 7000 -- ms how long the direct message should be shown
},
},
TeamlerAd = {
enable = true,
defaultGroup = 'user',
reSendData = 1000 * 15, -- 15 Seconds, you can refresh it too via the event TriggerEvent('hex_final_hud:reSendTeamlerData') server only
airportDimension = 5,
},
DisableAmmoDisplay = true, -- disable the default ammo display of gta
Server = {
Name = 'HEXSCRIPTS',
letterSpacing = '.2vh',
fontSize = '2.5vh',
Currency = '$'
},
Speedo = {
kmh = true, -- if false it will mp/h instead of km/h
maxSpeed = 350,
disableSpecificVehicles = {
class = {
[13] = true, -- cycles
},
models = {
[joaat('bmx')] = true,
}
}
},
Chat = {
enabled = true,
text = 'Write a message here...',
keymapping = {
command = 'openChat',
desc = 'Open the Chat',
mapper = 'keyboard',
key = 't'
}
},
Waits = {
Vehicle = 0,
Refreshfood = 1000 * 60 * 10
},
Permissions = {
teamchat = {
'projektleitung',
'superadmin',
'admin'
},
announce = {
'projektleitung',
'superadmin',
'admin'
}
},
NotifySound = {
["notify"] = {
mp3 = false,
gta = {
audioName = 'ATM_WINDOW',
audioRef = 'HUD_FRONTEND_DEFAULT_SOUNDSET'
},
url = 'sounds/alarm.mp3'
},
["announce"] = {
mp3 = false,
gta = {
audioName = 'CHALLENGE_UNLOCKED',
audioRef = 'HUD_AWARDS'
},
url = 'sounds/alarm.mp3'
}
},
Commands = {
["id"] = {
command = 'id',
enabled = true
},
["ids"] = {
command = 'ids',
enabled = true
},
["ooc"] = {
command = 'ooc',
enabled = true
},
["tc"] = {
command = 'tc',
enabled = true
},
["announce"] = {
command = 'announce',
enabled = true
}
},
Locales = {
['de'] = {
['info'] = 'Information!',
['your_id'] = 'Deine Id Lautet: %s',
['no_player'] = 'Kein Spieler in der Nähe!',
['near_player_id'] = 'Seine Id Lautet: %s',
['tx_admin_restart'] = 'Geplanter Neustart',
['tx_admin_announce'] = 'Serverankündigung von %s',
['tx_admin_dm'] = 'Direktnachricht von %s',
},
['en'] = {
['info'] = 'Information!',
['your_id'] = 'Your Id Is: %s',
['no_player'] = 'No player nearby!',
['near_player_id'] = 'His Id Is: %s',
['tx_admin_restart'] = 'Scheduled Restart',
['tx_admin_announce'] = 'Server announcement by %s',
['tx_admin_dm'] = 'Direct Message from %s',
}
}
}Open Source Files
local playerLoaded = false
Citizen.CreateThread(function()
if Config.Framework == 'ESX' then
local status, ESX = pcall(function()
return exports['es_extended']:getSharedObject()
end)
if not status then
while not ESX do
TriggerEvent("esx:getSharedObject", function(object) ESX = object end)
Citizen.Wait(50)
end
end
while ESX.GetPlayerData().job == nil do
Citizen.Wait(100)
end
while not ESX.IsPlayerLoaded() do
Citizen.Wait(50)
end
Citizen.Wait(500)
ESX.PlayerData = ESX.GetPlayerData()
playerLoaded = true
RegisterNetEvent('esx:setJob', function(job)
ESX.PlayerData.job = job
end)
RegisterNetEvent('esx:setAccountMoney', function(account)
SendNUIMessage({
action = 'setMoney',
data = {
type = account.name,
money = account.money
}
})
end)
RegisterNetEvent('esx:setJob', function(job)
ESX.PlayerData.job = job
SendNUIMessage({
action = 'setJob',
data = {
label = ESX.PlayerData.job.label,
gLabel = ESX.PlayerData.job.grade_label
}
})
end)
function GetJob()
return {
label = ESX.PlayerData.job.label,
gLabel = ESX.PlayerData.job.grade_label
}
end
if GetResourceState('hex_food') == 'started' then
RegisterNetEvent('hex_food:onTick', function(food, thirst)
SendNUIMessage({
action = 'refreshFood',
data = {
food = food,
thirst = thirst
}
})
end)
elseif GetResourceState('esx_status') == 'started' then
RegisterNetEvent('esx_status:onTick', function(data)
local hunger, thirst
for i = 1, #data do
if data[i].name == "thirst" then
thirst = math.ceil(data[i].percent)
end
if data[i].name == "hunger" then
hunger = math.ceil(data[i].percent)
end
end
SendNUIMessage({
action = 'refreshFood',
data = {
food = hunger,
thirst = thirst
}
})
end)
end
function GetFood()
if GetResourceState('hex_food') == 'started' then
return exports['hex_food']:GetFood()
elseif GetResourceState('esx_status') == 'started' then
local status = nil
local timesToTry = 0
while status == nil and timesToTry < 10 do
Citizen.Wait(50)
timesToTry = timesToTry + 1
TriggerEvent('esx_status:getStatus', 'hunger', function(stats)
status = stats.val / 10000
end)
end
return status ~= nil and math.ceil(status) or 0
else
return math.random(1, 100)
end
end
function GetThirst()
if GetResourceState('hex_food') == 'started' then
return exports['hex_food']:GetThirst()
elseif GetResourceState('esx_status') == 'started' then
local status = nil
local timesToTry = 0
while status == nil and timesToTry < 10 do
Citizen.Wait(50)
timesToTry = timesToTry + 1
TriggerEvent('esx_status:getStatus', 'thirst', function(stats)
status = stats.val / 10000
end)
end
return status ~= nil and math.ceil(status) or 0
else
return math.random(1, 100)
end
end
function GetWeaponFromHash(weapon)
return ESX.GetWeaponFromHash(weapon)
end
function GetWeaponLabel(weaponName)
return ESX.GetWeaponLabel(weaponName)
end
function GetMoney(account)
for k, v in pairs(ESX.GetPlayerData().accounts) do
if v.name == account then
return v.money
end
end
return 0
end
end
end)
function IsPlayerLoaded()
return playerLoaded
end