Configuration File
Preview of config.lua file
Config = {}
Config.AddMessageEvent = 'chat:addMessage'
Config.AddSuggestionEvent = 'chat:addSuggestion'
Config.AddSuggestionsEvent = 'chat:addSuggestions'
Config.RemoveSuggestionEvent = 'chat:removeSuggestion'
Config.ClearEvent = 'chat:clear'
Config.Distance3DTextDisplay = 50
Config.MaxCharactersInInput = 400
Config.IdentifierType = 'license'
Config.AntiCapitalLetters = false
Config.SettingsCommand = 'settings'
Config.ClearCommand = 'clear'
Config.BannedWords = {'rape'}
Config.Commands = {
looc_ = {
command = 'looc',
enabled = true,
customizable = true,
use3DText = false,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, text)
return {template = '<div class = "message_3d looc_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message looc"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Ooc</div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = false,
onlyFirstName = false,
coolDown = 1000
},
gooc_ = {
command = 'gooc',
enabled = true,
customizable = true,
use3DText = false,
hide3DTextAfter = 8000,
distanceMessage = -1,
template3DText = function(name, text)
return {template = '<div class = "message_3d gooc_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message gooc"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Gooc</div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = false,
onlyFirstName = false,
coolDown = 1000
},
me_ = {
command = 'me',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, text)
return {template = '<div class ="message_3d me_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message me"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Me</div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 100
},
do_ = {
command = 'do',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, text)
return {template = '<div class = "message_3d do_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message do"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Do</div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 100
},
doc_ = {
command = 'doc',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, number, number_max)
return {template = '<div class = "message_3d doc_3d">{0}/{1}</div>', args = {number, number_max}}
end,
templateMessage = function(name, number, number_max)
return {template = '<div class = "message doc"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Doc</div><div class = "name">{0}</div></div><div class = "text">{1}/{2}</div></div>', args = { name, number, number_max }}
end,
suggestion = {help = '', params = {{name="number"}}},
useCharacterName = true,
onlyFirstName = false,
maxDocNumber = 10,
coolDown = 1000
},
img_ = {
command = 'img',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, url)
return {template = '<img class = "message_3d img_3d" src = {0}>', args = {url}}
end,
templateMessage = function(name, url)
return {template = '<div class = "message img"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Img</div><div class = "name">{0}</div></div><img class = "content" src = {1}></div>', args = { name, url }}
end,
suggestion = {help = '', params = {{name="URL address"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 4000
},
here_ = {
command = 'here',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 600000,
distanceMessage = -1,
template3DText = function(name, text)
return {template = '<div class = "message_3d here_3d">{0} <div class = "time">'..Config.GetTime()..'</div></div>', args = {text}}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 100
},
clear_here_ = {
command = 'clearhere',
enabled = true,
customizable = true,
suggestion = {help = '', params = {}},
},
clear_here_all_ = {
command = 'clearhereall',
enabled = true,
customizable = true,
suggestion = {help = '', params = {}},
allowed_groups = {'admin'}
},
status_ = {
command = 'status',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 600000,
distanceMessage = -1,
template3DText = function(name, text)
return {template = '<div class = "message_3d status_3d">{0}</div>', args = {text}}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 100
},
clear_status_ = {
command = 'clearstatus',
enabled = true,
customizable = true,
suggestion = {help = '', params = {}},
},
clear_status_all_ = {
command = 'clearstatusall',
enabled = true,
customizable = true,
suggestion = {help = '', params = {}},
allowed_groups = {'admin'}
},
dice_ = {
command = 'dice',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, number)
return {template = '<div class = "message_3d dice_3d"><i class="fa-solid fa-dice"></i> {0}</div>', args = {number}}
end,
templateMessage = function(name, number)
return {template = '<div class = "message dice"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Dice</div><div class = "name"> {0}</div></div><div class = "text"><i class="fa-solid fa-dice"></i> {1}</div></div>',
args = { name, number }}
end,
suggestion = {help = '', params = {}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 1000,
min_number = 1,
max_number = 6
},
try_ = {
command = 'try',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, number)
local try = (tonumber(number) == 1) and 'True' or 'False'
return {template = '<div class = "message_3d try_3d">{0}</div>', args = {try}}
end,
templateMessage = function(name, number)
local try = (tonumber(number) == 1) and 'True' or 'False'
return {template = '<div class = "message try"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Try</div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, try }}
end,
suggestion = {help = '', params = {}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 1000
},
coin_ = {
command = 'coin',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, number)
local coinSide = (tonumber(number) == 1) and 'Head' or 'Tail'
return {template = '<div class = "message_3d coin_3d"><i class="fa-solid fa-coins"></i> {0}</div>', args = {coinSide}}
end,
templateMessage = function(name, number)
local coinSide = (tonumber(number) == 1) and 'Head' or 'Tail'
return {template = '<div class = "message coin"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Coin</div><div class = "name">{0}</div></div><div class = "text"><i class="fa-solid fa-coins"></i> {1}</div></div>',
args = { name, coinSide }}
end,
suggestion = {help = '', params = {}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 1000
},
random_ = {
command = 'random',
enabled = true,
customizable = true,
use3DText = true,
hide3DTextAfter = 8000,
distanceMessage = 20,
template3DText = function(name, number, min_number, max_number)
return {template = '<div class = "message_3d random_3d">{1}<b>| {0} |</b>{2}</div>', args = {number, min_number, max_number}}
end,
templateMessage = function(name, number, min_number, max_number)
return {template = '<div class = "message random"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Random</div><div class = "name">{0}</div></div><div class = "text">{2}<b> | {1} | </b>{3}</div></div>',
args = { name, number, min_number, max_number }}
end,
suggestion = {help = '', params = {{name="Min Number"}, {name="Max Number"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 1000,
min_number = -10000000,
max_number = 10000000
},
announce_ = {
command = 'announce',
enabled = true,
customizable = false,
use3DText = false,
hide3DTextAfter = 8000,
distanceMessage = -1,
template3DText = function(name, text)
return {template = '<div class = "message_3d announce_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message announce"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title">Announcement</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {}},
allowed_groups = {'admin'},
coolDown = 100
},
tweet_ = {
command = 'tweet',
enabled = true,
customizable = true,
use3DText = false,
hide3DTextAfter = 8000,
distanceMessage = -1,
template3DText = function(name, text)
return {template = '<div class = "message_3d tweet_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
return {template = '<div class = "message tweet"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title"><i class="fa-solid fa-dove"></i></div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
useCharacterName = true,
onlyFirstName = false,
coolDown = 1000
},
blackmarket_ = {
command = 'blackmarket',
enabled = true,
customizable = true,
use3DText = false,
hide3DTextAfter = 8000,
distanceMessage = -1,
template3DText = function(name, text)
name = 'Anonymous'
return {template = '<div class = "message_3d blackmarket_3d">{0}</div>', args = {text}}
end,
templateMessage = function(name, text)
name = 'Anonymous'
return {template = '<div class = "message blackmarket"><div class = "time">'..Config.GetTime()..'</div><div class = "header"> <div class = "title"><i class="fa-solid fa-user-ninja"></i></div><div class = "name">{0}</div></div><div class = "text">{1}</div></div>',
args = { name, text }}
end,
suggestion = {help = '', params = {{name="message"}}},
coolDown = 1000
},
}
Config.GetTime = function()
local year, month, day, hour, minute, second = GetLocalTime()
return string.format("%02d:%02d:%02d", hour, minute, second)
end
Config.GetName = function(source, characterName, onlyFirstName)
if characterName then
local firstName
if GetResourceState('es_extended') == 'started' then
local ESX = exports['es_extended']:getSharedObject()
local xPlayer = ESX.GetPlayerFromId(source)
if onlyFirstName then
return string.match(xPlayer.name, "([^%s]+)") or GetPlayerName(source)
else
return xPlayer.name or GetPlayerName(source)
end
elseif GetResourceState('qb-core') == 'started' or GetResourceState('qbx_core') == 'started' then
local qb = exports['qb-core']:GetCoreObject()
local xPlayer = qb.Functions.GetPlayer(source)
if onlyFirstName then
return xPlayer.PlayerData.charinfo.firstname or GetPlayerName(source)
else
return xPlayer.PlayerData.charinfo.firstname .. " " .. xPlayer.PlayerData.charinfo.lastname or GetPlayerName(source)
end
else
return GetPlayerName(source)
end
else
return GetPlayerName(source)
end
end
Config.CooldownMessage = 'You can\'t use this command right now!'
Config.Notify = function(text, type)
if GetResourceState('es_extended') == 'started' then
local ESX = exports['es_extended']:getSharedObject()
ESX.ShowNotification(text, type, 1200)
elseif GetResourceState('qb-core') == 'started' or GetResourceState('qbx_core') == 'started' then
local QBCore = exports['qb-core']:GetCoreObject()
QBCore.Functions.Notify(text, type, 1200)
end
end
Last updated