TGIANN
YoutubeDiscordTebexFivem
  • Main
    • Welcome
    • How to Find My Transaction ID
    • How can i download my script
    • How can i transfer my script
    • Whats escrow system?
    • Switching from MySQL Async to oxmysql
    • Basic Aces & Principals overview/guide
    • Using QB scripts in QBOX
    • How can i use Fivemanage
  • Common errors
    • SCRIPT ERROR: ?:-1: attempt to call a nil value
    • TGIANN-Core script is not in my keymaster account
    • You lack the required entitlement to use tgiann-*
    • Error parsing script / Failed to load script
    • Error: syntax error near '<\1>'
    • When I buy something, the money goes negative
    • Failed to verify protected resource
  • Map
    • lumi-delperropier
      • Setup
      • Conflicts
      • Disable NPC
      • Rcore Funfair Cords
      • CS-Hall Config
  • Scripts
    • tgiann-animpos-photo-cam
      • Editable Files
      • Config File
      • Exports
    • tgiann-self-storage-v2
      • Editable Files
        • Language File
        • Client Editable
        • Server Editable
      • Config File
    • tgiann-radio
      • Guides
        • Recommended settings for PMA Voice
        • How to change the animation
      • Installation
      • Config file
      • Editable Files
        • Language File
        • Client Editable
        • Server Editable
      • Exports
    • tgiann-core
      • Config file
      • Exports
      • Integration
        • QB
          • DrawText
    • tgiann-lumihud
      • Events / Exports
      • Editable Files
        • Language File
        • Client
          • playerStatus.lua
          • qbclient.lua
          • editable.lua
          • moneyEditable.lua
          • harnessBeltEditable.lua
        • Server
          • qbserver.lua
          • editable.lua
      • Config Files
        • config.lua
        • configHudSettings
        • configWeaponList.lua
        • qbStressConfig
      • Integration
        • Notify
        • Progressbar
    • tgiann-realparking
      • Events / Exports
      • Editable Files
        • Language File
        • Client
          • editable.lua
        • Server
          • editable.lua
      • Config Files
        • blipsConfig.lua
        • config.lua
        • impoundConfig.lua
        • insuranceConfig.lua
    • tgiann-vehicleshop
      • Exports
      • Editable Files
        • Language File
        • Client
          • editable.lua
        • Server
          • editable.lua
          • commands.lua
      • Config Files
    • tgiann-gps
      • Client Exports
      • Editable Files
        • config.lua
        • client/editable.lua
        • Language File
    • tgiann-clothing
      • Guides
        • Installation
          • ESX
          • QB
          • QBX
          • tgiann-inventory clothe items
        • Migration
        • How to take clothes images
      • Comman Proplems
      • Events / Exports
      • Admin Commands
      • Editable Files
        • client/editable.lua
        • server/editable.lua
      • Configs
        • blacklist
          • famale.lua
          • male.lua
        • clotheList
          • global
            • female.lua
            • male.lua
        • clothingPrice
          • female.lua
          • male.lua
        • tattoo
          • customTattoo.lua
          • tattoo.lua
        • clothingRoomsOutfits.lua
        • config.lua
        • hairOverlays.lua
        • pedList.lua
    • tgiann-inventory
      • Guides
        • Installation
          • ESX
          • QB
          • QBOX
        • How to adapt your script
        • How do money as item
          • QB
          • QBOX
          • ESX
            • ESX V11
            • ESX V12
        • Creating Items
        • Item İmages
        • Item Metadata
        • Migration
      • Common Problems
      • Exports
        • Server
        • Client
      • Hooks
      • Events
        • Server
        • Client
      • Admin Commands
      • Editable Files
        • client/editable.lua
        • client/topheader.lua
        • server/editable.lua
        • server/commands.lua
        • server/convert.lua
      • Configs
        • config.lua
        • configAmmo.lua
        • configAntiSwimingItems
        • configAttachment.lua
        • configAttachmentName.lua
        • configBlockItems.lua
        • configCarryItems.lua
        • configClotheBackpack.lua
        • configCommands.lua
        • configCraft.lua
        • configDecayableItems.lua
        • configDrop.lua
        • configEditableItems.lua
        • configFilter.lua
        • configItemStash.lua
        • configMaxStack.lua
        • configMaxUseAmount.lua
        • configMetadata.lua
        • configMetadataAdvance.js
        • configRealisticArmor.lua
        • configShop.lua
        • configStashes.lua
        • configThrowableItems.lua
        • configVendingMachine.lua
        • configWeapon.lua
    • lumi-delperropier-texonstone
      • Setup
    • tgiann-antirpf
      • Editable files
    • tgiann-secondhand
      • Editable files
      • config.lua
    • tgiann-multicharacter + spawn selector
      • Guides
        • Installation
        • Discord Permmission integration
        • Tebex integration
      • Common Problems
      • Configs
        • config.lua
        • multicharConfig.lua
        • photocamConfig.lua
        • spawnSelectorConfig.lua
      • Editable Files
        • Language File
        • client/editable.lua
        • server/editable.lua
        • server/commands.lua
    • tgiann-attachment
      • Config file
      • Event List
    • tgiann-bank
      • Migration
      • Exports
      • Config files
        • config.lua
        • configGangAccounts.lua
        • configHacking.lua
        • configJob.lua
        • configJobAccounts.lua
      • Editable Files
    • tgiann-bettercombat
      • Config file
      • Event List
    • tgiann-bobcat
      • Config file
    • tgiann-boombox
      • Config file
    • tgiann-vehiclecontrol
      • Exports
      • Config file
      • Editable Files
    • tgiann-card
      • Config file
      • QB Core Item
      • Ox Inventory Item
      • Sql File
    • tgiann-carhud
      • Config file
    • tgiann-carmod
      • Config file
      • Sql File
    • tgiann-chair
      • Config file
      • QB Core Item
    • tgiann-chopshop
      • Config file
      • QB Core Item
    • tgiann-damage-indicator
      • Config file
      • Editable files
    • tgiann-dna
      • Sql File
    • tgiann-document
      • Config file
      • QB Core Item
      • Ox Inventory Item
      • Sql File
    • tgiann-doorlock-v2
      • How can i find door model and other details
      • Config file
    • tgiann-dropweaponwhendie
      • Config file
    • tgiann-drugsell
      • Config file
    • tgiann-erpv2
      • Config file
    • tgiann-fallouthacker
      • Usage
    • tgiann-garage
      • Config file
      • Event List
      • Exports List
      • QB Sql File
      • ESX Sql File
    • tgiann-hotwire
      • Item List
      • Editable Files
        • Language File
        • Client/editable.lua
        • Client/migrate.lua
        • Server/commands.lua
      • Config file
      • Exports
    • tgiann-house
      • Stash Function
      • Common errors
      • Config file
      • Event List
      • Sql File
      • Editable Files
    • tgiann-hud
      • Config file
    • tgiann-hudv2
      • Config file
      • Event List
    • tgiann-job
      • Config file
      • Sql File
    • tgiann-market
      • Editable Files
      • Config file
      • Sql File
    • tgiann-mdt
      • Config file
      • ESX Sql File
      • QB Sql File
    • tgiann-megaphone
      • Setup
        • QB Core Item
        • Ox Inventory Item
      • Language File
      • Config file
      • Event List
      • Exports List
      • Recommended PMA Voice Settings
      • Common Problems
    • tgiann-moder-hud
      • Config file
      • Editable files
      • Event list
    • tgiann-naked
      • Config file
      • Editable Files
      • Sql File
      • Wrong Clothes
    • tgiann-platechanger
      • Config file
    • tgiann-policealert
      • Config file
      • Event List
    • tgiann-postcard
      • Editable Files
      • Config file
      • QB Core Item
      • Ox Inventory Item
    • tgiann-radio (Old)
      • Common errors
      • Config file
      • Event List
      • Exports List
      • Recommended settings for PMA Voice
    • tgiann-rentscooter
      • Config file
    • tgiann-sblauncher
      • Config file
      • QB Core Item
    • tgiann-self-storage
      • Config file
      • Editable files
      • Sql File
    • tgiann-exit-log
      • Config file
      • Editable files
    • tgiann-weapons-on-back
      • Config file
      • Editable files
    • tgiann-sellnpc
      • Config file
    • tgiann-smokegrenade
      • Config file
    • tgiann-sounds
      • Example Usage
    • tgiann-stashhouse
      • Config file
      • Sql File
    • tgiann-statushud
    • tgiann-vehicleoutfit
      • Config file
      • Sql File
    • tgiann-vehicleradio
      • Config file
      • Event list
    • tgiann-vehicleshop
      • Config file
      • Sql File
    • tgiann-trade
      • Config file
      • Server editable.lua
      • Client editable.lua
    • tgiann-zombie
      • Config file
      • Client editable.lua
      • Server editable.lua
      • Common errors
    • tgiann-planting
      • Config file
      • Editable Files
    • tgiann-realistic-car-crash
      • Config file
      • Editable Files
    • tgiann-graphic-menu
      • Config file
      • Editable Files
    • tgiann-firefighterjob
      • Installation
      • Config file
      • Editable Files
    • tgiann-coinshop
      • Config file
      • Editable Files
    • tgiann-vehiclepaint
      • Config file
      • Setup
    • tgiann-drone
      • Config file
      • Editable Files
    • tgiann-musical-chairs
      • Config file
      • Editable Files
    • tgiann-pursuitmode
      • Config file
      • Editable Files
    • tgiann-food-jobs
      • Config file
      • Editable Files
      • Example Location Config
Powered by GitBook
On this page
  1. Scripts
  2. tgiann-radio
  3. Editable Files

Server Editable

local lang = config.langs[config.lang]

if config.items.active then
    for item, _ in pairs(config.items.items) do
        tgiCore.CreateUseableItem(item, function(source)
            if not canOpen(source, config.items.items[item]) then
                return tgiCore.notif(source, lang.cantOpen, "error")
            end
            TriggerClientEvent('tgiann-radio-v2:use', source, item)
        end)
    end
end

local function checkTable(table, val)
    if type(val) ~= "table" then val = { val } end
    for i = 1, #table do
        for x = 1, #val do
            if table[i] == val[x] then
                return true
            end
        end
    end
    return false
end

function getPlayerJob(src)
    if not config.framework then return "" end
    local xPlayer = tgiCore.getPlayer(src)
    if not xPlayer then return "" end
    return tgiCore.getJob(xPlayer)
end

function getCid(src)
    if not config.framework then return GetPlayerIdentifiers(xPlayer)[1] end
    local xPlayer = tgiCore.getPlayer(src)
    if not xPlayer then return GetPlayerIdentifiers(src)[1] end
    return tgiCore.getCid(xPlayer)
end

function canOpen(src, data)
    local checkJob = data.jobs and next(data.jobs)
    if checkJob then
        local job = getPlayerJob(src)
        local gradeList = data.jobs[job.name]
        if gradeList then
            if type(gradeList) == "table" then
                local grade = config.framework == "esx" and tonumber(job.grade) or tonumber(job.grade.level)
                if checkTable(gradeList, grade) then
                    return true
                end
            else
                return true
            end
        end
    end

    local checkDiscord = data.discord and #data.discord > 0
    if checkDiscord then
        local discordIds = tgiCore.GetDiscordRoles(src)
        if checkTable(data.discord, discordIds) then
            return true
        end
    end

    local checkAcePerms = data.acePerms and #data.acePerms > 0
    if checkAcePerms then
        for i = 1, #data.acePerms do
            if IsPlayerAceAllowed(src, data.acePerms[i]) then
                return true
            end
        end
    end

    if not checkJob and not checkDiscord and not checkAcePerms then
        return true
    end

    return false
end

local nonFrameworkItem = ""
for item, _ in pairs(config.items.items) do
    nonFrameworkItem = item
    break
end

tgiCore.Callback.Register("tgiann-raido-v2:openRadio", function(source)
    if not config.items.active or not config.framework then
        return nonFrameworkItem
    end

    local haveItemAmount = 0
    local xPlayer = tgiCore.getPlayer(source)
    for itemName, _ in pairs(config.items.items) do
        local itemData = tgiCore.getItemByName(xPlayer, itemName)
        if itemData.amount > 0 then
            haveItemAmount = haveItemAmount + 1
            if canOpen(source, config.items.items[itemName]) then
                return itemName
            end
        end
    end
    return false, haveItemAmount > 0 and lang.cantOpen or lang.noRadio
end)

if config.micClickCommand.active then
    if config.framework then
        tgiCore.CommandsAdd(config.micClickCommand.name, lang.micClickDesc, {}, false, function(source)
            TriggerClientEvent("tgiann-radio-v2:micClickSound", source)
        end)
    else
        RegisterCommand(config.micClickCommand.name, function(source, args)
            TriggerClientEvent("tgiann-radio-v2:micClickSound", source)
        end)
    end
end

for command, commandData in pairs(config.commands) do
    if commandData.active then
        if config.framework then
            if commandData.args then
                for x = 1, #commandData.args do
                    commandData.args[x].help = lang[commandData.args[x].help]
                end
            end
            tgiCore.CommandsAdd(commandData.command, lang[commandData.desc], commandData.args or {}, commandData.args and true or false, function(source, args)
                TriggerClientEvent("tgiann-radio-v2:usingCommand", source, command, args)
            end)
        else
            RegisterCommand(commandData.command, function(source, args)
                TriggerClientEvent("tgiann-radio-v2:usingCommand", source, command, args)
            end)
        end
    end
end
PreviousClient EditableNextExports

Last updated 6 months ago