SpicyTasty DOCS
WEBSTOREDISCORDYOUTUBE
  • 🚨READ ME
    • 🌶️Welcome to SpicyTasty
  • 📚SCRIPTS
    • RADIO
      • Installation
        • STEP 1
        • STEP 2
        • STEP 3
        • STEP 4
          • ORIGEN inventory
          • AK47 inventory
          • PS inventory
          • CORE inventory
          • OX inventory
          • LJ inventory
          • QB inventory
          • TGIANN inventory
          • CODEM inventory
          • QS inventory
        • STEP 5
        • STEP 6 (OPTIONAL)
      • Common Errors
      • Snippets
        • Exports
        • pma-voice
        • Add to Store/Shop
      • Config
    • NOTIFY
      • Installation
        • STEP 1
        • STEP 2
        • STEP 3
        • STEP 4
          • ESX
          • QBCore
      • Exports
      • Job Banners
  • BLINDBOX
    • Installation
  • 🫒PROPS
    • BUBUS
      • Installation
        • STEP 1
        • STEP 2
        • STEP 3
        • STEP 4
        • Step 5
          • stUsableProps
          • stBlindBox
    • BOTS
      • Installation
        • STEP 1
        • STEP 2
        • STEP 3
        • STEP 4
        • Step 5
          • stUsableProps
          • stBlindBox
Powered by GitBook
On this page

Was this helpful?

  1. SCRIPTS
  2. RADIO

Config

Here is the config of script.

This is only the configuration file, inside the script you can change menus, mini-games, etc.

Config = Config or {}
Locales = Locales or {}

--     __________  ___    __  __________       ______  ____  __ __
--    / ____/ __ \/   |  /  |/  / ____/ |     / / __ \/ __ \/ //_/
--   / /_  / /_/ / /| | / /|_/ / __/  | | /| / / / / / /_/ / ,<   
--  / __/ / _, _/ ___ |/ /  / / /___  | |/ |/ / /_/ / _, _/ /| |  
-- /_/   /_/ |_/_/  |_/_/  /_/_____/  |__/|__/\____/_/ |_/_/ |_|  
                                                            
--[[ 
    With the 'auto' option your framework will be automatically selected. 
    If you use a custom framework change to 'custom'. 
    If you only changed the name of your framework, leave it as automatic and change the names below.
]]

Config.Framework = 'auto' -- or ESX, QBCORE, QBX, CUSTOM
Config.FrameOptions = { 
    ESX = {
        name        = 'es_extended',            --- Name of your es_extended
        shared      = 'esx:getSharedObject',    --- Trigger of shared object
        loadPlayer  = 'esx:playerLoaded',       --- Event name of load player
        job         = 'esx:setJob',             --- Event name of job
        playerDeath = 'esx:onPlayerDeath',      --- Event when player death
        playerLogout= 'esx:onPlayerLogout'      --- Event when player disconnect/Unload
    },

    QBCORE = {
        name        = 'qb-core',                      --- Name of your qb-core
        loadPlayer  = 'QBCore:Player:SetPlayerData',  --- Event name of load player
        job         = 'QBCore:Client:OnJobUpdate',
        playerDeath = 'QBCore:Player:onPlayerDeath',  --- Event when player death
        playerLogout= 'QBCore:Client:OnPlayerUnload'  --- Event when player disconnect/Unload
    },

    QBX = {
        name        = 'qbx_core',                      --- Name of your qb-core
        loadPlayer  = 'qbx_core:client:onSetMetaData',  --- Event name of load player
        job         = 'QBCore:Client:OnJobUpdate', 
        playerDeath = 'QBCore:Player:onPlayerDeath',  --- Event when player death
        playerLogout= 'qbx_core:client:playerLoggedOut'  --- Event when player disconnect/Unload
    },

    CUSTOM = {
        name        = 'your-framework',                      --- Name of your qb-core
        loadPlayer  = 'your-framework:SetPlayerData',  --- Event name of load player
        job         = 'QBCore:Client:OnJobUpdate', 
        playerDeath = 'your-framework:onPlayerDeath',  --- Event when player death
        playerLogout= 'your-framework:OnPlayerUnload'  --- Event when player disconnect/Unload
    }
}
-- ❗ IMPORTANT ❗

--  If you need to change something in the files or modify more things like progress bar and so on, all files are open (not encrypted), except those inside _escrow_files and js.

-- ❗ IMPORTANT ❗

--     __                                          
--    / /   ___  ____  ____ ___  ______ _____ ____ 
--   / /   / _ \/ __ \/ __ `/ / / / __ `/ __ `/ _ \
--  / /___/  __/ / / / /_/ / /_/ / /_/ / /_/ /  __/
-- /_____/\___/_/ /_/\__, /\__,_/\__,_/\__, /\___/ 
--                  /____/            /____/ 
--[[  
    ❗ Remember to choose what is between ''
    'es' > Para español.
    'de' > Für Deutsch.
    'fr' > Pour le français.
    'pt' > Para português.
    'en' > For english.
]]
Config.Language = 'en'

--       ____                      __                  
--      /  _/___ _   _____  ____  / /_____  _______  __
--     / // __ \ | / / _ \/ __ \/ __/ __ \/ ___/ / / /
--   _/ // / / / |/ /  __/ / / / /_/ /_/ / /  / /_/ / 
--  /___/_/ /_/|___/\___/_/ /_/\__/\____/_/   \__, /  
--                                           /____/   
--[[ 
    ❗ Remember to choose what is between ''
    > auto > will be automatically selected
    > 'qs' > qs-inventory
    > 'ox' > ox_inventory
    > 'qb' > qb-inventory
    > 'lj' > lj-inventory
    > 'core' > core_inventory
    > 'ps' > ps-inventory
    > 'tgiann' > tgiann-inventory
    > 'codem' > codem-inventory
    > 'ak47' > ak47_inventory
    > 'custom' > custom inventory
]]
Config.Inventory = 'auto'

--      _   __      __  _ _____            __  _           
--     / | / /___  / /_(_) __(_)________ _/ /_(_)___  ____ 
--    /  |/ / __ \/ __/ / /_/ / ___/ __ `/ __/ / __ \/ __ \
--   / /|  / /_/ / /_/ / __/ / /__/ /_/ / /_/ / /_/ / / / /
--  /_/ |_/\____/\__/_/_/ /_/\___/\__,_/\__/_/\____/_/ /_/ 

--[[
    ❗ Remember to choose what is between ''
    ❗ > 'st' > stNotify Use the Discount Code "SpicyTasty" for 15% OFF https://spicytasty.tebex.io/category/2558543
    
    > 'default' > gta native
    > 'okok' > okokNotify
    > 'qs' > qs-notify
    > 'qb' > qb-core
    > 'esx' > esx notification
    > 'qbx' > qbx-core
    > 'custom' -> change on 'stRadio/client/notify/custom'
]]
Config.NotifyScript = 'default'

--[[
    ❗ Remember to choose what is between ''
    > 'auto' > will be automatically selected
    > 'salty' > salty-chat
    > 'pma' > pma-voice
    > 'yaca' > yava-voice
    > 'mumble' > mumble-voip dont tested
]]
Config.VoiceScript = 'auto'

-- It is not advisable to use another pma voice other than the official one, 
-- but if you change the name you should change this
-- https://github.com/AvarianKnight/pma-voice
Config.PMAVoice = 'pma-voice' -- If have another name change it
Config.SaltyName = 'saltychat'
Config.MumbleVoip = 'mumble-voip'
Config.YacaVoice = 'yaca-voice'

--[[
    ❗ Remember to choose what is between ''   
    > 'none' > For remove target and use draw text
    > 'auto' > will be automatically selected
    > 'ox' > ox-target
    > 'qb' > qb-target
]]

Config.Target = 'auto' -- in development

Config.Debug = false
--     _____________   ____________  ___    __ 
--   / ____/ ____/ | / / ____/ __ \/   |  / / 
--  / / __/ __/ /  |/ / __/ / /_/ / /| | / /  
-- / /_/ / /___/ /|  / /___/ _, _/ ___ |/ /___
-- \____/_____/_/ |_/_____/_/ |_/_/  |_/_____/
                                        
-- Name of the item
Config.RadioItem = 'radio' -- I recommend not changing
-- Disconnect from radio when the user is dead
Config.DisconnectWhenDeath = true
-- Disconnect from radio when the users drop the item
Config.DisconnectWhenDropRadioItem = true
-- Disables the list of players inside the radio
Config.DisableListRadio = false
-- If you set in true this option, when you open the radio, it will connect 
-- to the latest frequency but will check the job and may fail to connect.
Config.CheckJob = false

-- Animation Settings
Config.TalkAnimation = {
    -- 'pma' -- Use the native animation of Pma voice
    -- 'custom' -- Use the stRadio animation
    -- 'DLC' -- Use the stRadioAnimationsDLC
    type = 'custom',
    Hand = {
        Animation = {
            dict = 'anim@male@holding_radio',
            anim = 'holding_radio_clip'
        },
        Parameters = {
            blendInSpeed = 8.0,
            blendOutSpeed = -8.0,
            duration = -1,
            flag = 50,
            playbackRate = 0,
            lockX = false,
            lockY = false,
            lockZ = false
        },
        Bone = {
            bone = 28422,
            xPos = 0.0750,
            yPos = 0.0230,
            zPos = -0.0230,
            xRot = -90.0000,
            yRot = 0.0,
            zRot = -59.9999,
            rotationOrder = 2,
        },
    },
    Shoulder = {
        Animation = {
            dict = 'random@arrests',
            anim = 'generic_radio_enter'
        },
        Parameters = {
            blendInSpeed = 8.0,
            blendOutSpeed = 2.0,
            duration = -1,
            flag = 50,
            playbackRate = 2.0,
            lockX = false,
            lockY = false,
            lockZ = false
        },
        Bone = {
            bone = 64729,
            xPos = 0.1,
            yPos = 0.04,
            zPos = -0.05,
            xRot = -50.0,
            yRot = 190.0,
            zRot = 180.0,
            rotationOrder = 1,
        },
    }
}
--    __________  _   ____________  ____  __   _____
--   / ____/ __ \/ | / /_  __/ __ \/ __ \/ /  / ___/
--  / /   / / / /  |/ / / / / /_/ / / / / /   \__ \ 
-- / /___/ /_/ / /|  / / / / _, _/ /_/ / /______/ / 
-- \____/\____/_/ |_/ /_/ /_/ |_|\____/_____/____/  
                                               
Config.KeyBinds = {
    OpenRadio = 'F5' -- Fast key to open radio
}

Config.DisableWhenTalking = {
    -- DISABLE KEYS WHEN HAVE THE RADIO OPEN or TALKING ON RADIO
    JUMP = true,
    SPRINT = false,
    ENTERTOVEHICLE = false,
    HANDBRAKE = false,
    AIM = true,
    -- go to stRadio/client/utils.lua and have the "EnableAim/DisabledAim" function
}

--     ____  ___    ____  ________     _____ _______________________   _____________
--    / __ \/   |  / __ \/  _/ __ \   / ___// ____/_  __/_  __/  _/ | / / ____/ ___/
--   / /_/ / /| | / / / // // / / /   \__ \/ __/   / /   / /  / //  |/ / / __ \__ \ 
--  / _, _/ ___ |/ /_/ // // /_/ /   ___/ / /___  / /   / / _/ // /|  / /_/ /___/ / 
-- /_/ |_/_/  |_/_____/___/\____/   /____/_____/ /_/   /_/ /___/_/ |_/\____//____/  
     
-- Default prop and battery when give a radio
Config.DefaultOptions = {
    prop = 'radio_grey',
    battery = 'bat_low',
}

Config.AliasSettings = {
    Prefix = 'ST-', -- User prefix that appears in the initial metadata alias
    Length = 5 -- Number and letters after the prefix
}

Config.RadioDistance = {
    ENABLE = true,
    
    veryClose = 1000, -- It is heard clearly
    close = 1500, -- Can be heard with a little interference
    distant = 2500, -- It is heard with interference
    farAway = 3500, -- It is heard with a lot of interference
    outOfRange = 5000, -- It can be heard with only interference
}

Config.Effects = {
    ['radio_veryclose'] = {
        effects = {
            freq_low = 100.0,
            freq_hi = 5000.0,
            rm_mod_freq = 300.0,
            rm_mix = 0.2,
            fudge = 4.0,
            o_freq_lo = 300.0,
            o_freq_hi = 5000.0,
        },
        volume = {
            frontLeft = 1.0,
            frontRight = 1.0,
            rearLeft = 0.0,
            rearRight = 0.0,
            channel5 = 1.0,
            channel6 = 1.0
        }
    },
    ['radio_close'] = {
        effects = {
            freq_low = 100.0,
            freq_hi = 5000.0,
            rm_mod_freq = 300.0,
            rm_mix = 0.4,
            fudge = 8.0,
            o_freq_lo = 300.0,
            o_freq_hi = 5000.0,
        },
        volume = {
            frontLeft = 0.8,
            frontRight = 0.6,
            rearLeft = 0.0,
            rearRight = 0.0,
            channel5 = 1.0,
            channel6 = 1.0
        }
    },
    ['radio_distant'] = {
        effects = {
            freq_low = 100.0,
            freq_hi = 5000.0,
            rm_mod_freq = 300.0,
            rm_mix = 0.6,
            fudge = 16.0,
            o_freq_lo = 300.0,
            o_freq_hi = 5000.0,
        },
        volume = {
            frontLeft = 0.6,
            frontRight = 0.8,
            rearLeft = 0.0,
            rearRight = 0.0,
            channel5 = 1.0,
            channel6 = 1.0
        }
    },
    ['radio_farAway'] = {
        effects = {
            freq_low = 100.0,
            freq_hi = 5000.0,
            rm_mod_freq = 300.0,
            rm_mix = 0.8,
            fudge = 24.0,
            o_freq_lo = 300.0,
            o_freq_hi = 5000.0,
        },
        volume = {
            frontLeft = 0.8,
            frontRight = 0.4,
            rearLeft = 0.0,
            rearRight = 0.0,
            channel5 = 1.0,
            channel6 = 1.0
        }
    },
    ['radio_outOfRange'] = {
        effects = {
            freq_low = 0.0,
            freq_hi = 1000.0,
            rm_mod_freq = 300.0,
            rm_mix = 1.0,
            fudge = 60.0,
            o_freq_lo = 0.0,
            o_freq_hi = 0.0,
        },
        volume = {
            frontLeft = 0.6,
            frontRight = 0.5,
            rearLeft = 0.2,
            rearRight = 0.7,
            channel5 = 0.0,
            channel6 = 0.0
        }
    },
}

Config.ConnectionSettings = {
    canFail = {
        ENABLE = true, -- When connecting, can it fail and not connect?
        percentageToFail = 5, -- % Percentage that can fail
    },
    timeoutToConnect = { -- Time it takes for the radio to connect
        min = 1, -- seconds
        max = 10, -- seconds
    },
    frequencies = {
        MaxFrequency = 200, -- Maximum frequencies in which they can be connected
        MinFrequency = 1, -- Minimum frequencies at which they can be connected
        MaxTenths = 2 -- Maximum number of numbers that can be placed after . example : 125.24
    },
    savedRadios = { 
        Max = 5 -- Maximum number of radios that the user can save in their radio
    }
}

Config.LockScreen = {
    maxTrys = 3, -- Maximum number of times you can try to unlock your radio.
    maxTime = 10, -- seconds | Time to try to unlock the radio.

    hackMaXTime = 60, -- seconds
    hackComplete = 2 -- seconds
}

Config.ChannelJobs = {
    ENABLE = true,
    RadioChannels = {
        [1] = {
            jobs = {'police', 'sheriff', 'lspd'},
            frequencies = {1, 2, 3, 4, 5},
            range = true -- if put false, this channel dont have range
        },
        [2] = {
            jobs = {'ems', 'ambulance'},
            frequencies = {6, 7, 8, 9, 10},
            range = true
        },
        [3] = {
            jobs = {'mechanic'},
            frequencies = {11, 12},
            range = true
        },
        [4] = {
            jobs = {'bennys'},
            frequencies = {13, 14},
            range = true
        },
        [5] = {
            jobs = {'taxi'},
            frequencies = {15},
            range = true
        },
    --[[ remove this line    

        [6] = {  ❗ "Follow the order of the numbers, if the last one is 5, the next one is 6"
            jobs = {'your_job', 'your_job2'}, ❗ Add if you want a job or more
            frequencies = {999} ❗ Choose exclusive frequencies
        } 

    remove this line ]]
    }
}

--     ___    ____  ____        ____  _   _______
--    /   |  / __ \/ __ \      / __ \/ | / / ___/
--   / /| | / / / / / / /_____/ / / /  |/ /\__ \ 
--  / ___ |/ /_/ / /_/ /_____/ /_/ / /|  /___/ / 
-- /_/  |_/_____/_____/      \____/_/ |_//____/  
                                           
Config.Addons = {
    secure = {
        ENABLE = false, -- You need to download the DLC "stRadioSecureDLC" in order to be able to set true.
        items = {
            server = 'radio_server',
            monitor = 'radio_monitor',
            battery = 'radio_server_bat',
            cables = 'radio_cables'
        },
        savePosition = true, -- in developent
        spawnRange = 50,
        placeObjectsTime = 10, -- segs
        DestroySecureWithShot = true,
        frequencies = {
            MaxFrequency = 600,
            MinFrequency = 500
        }
    },
    jammer = {
        ENABLE = false, -- You need to download the DLC "stRadioJammerDLC" in order to be able to set true.
        item = 'radio_jammer',
        range = 20, -- meters
        savePosition = false, -- in developent
        placeObjectsTime = 1, -- segs
        DestroyJammerWithShot = true,
        -- The minimum is 1 minute for optimization reasons
        deleteAfter = 120 -- time in seconds // 2 minutes
    },
    water = {
        ENABLE = true,
        repairItem = 'radio_tool',
        brokenRadio = 'radio_broken',
        detele = {
        -- canBreak -> After using the radio tool it has a probability of destroying the item.
        -- delete -> After using the radio tool it is destroyed. 
            afterUse = 'canBreak',
            chanceToBreak = 50,  -- %
            minigame = true,
            timeToRepair = 10 -- segs
        },
    },
    list = {
        ENABLE = false,
        hideCommand = 'radiolist'
    },
    Animations = {
        ENABLE = false, -- If you activate this you have to go to line 25 and in type put DLC
        openCommand = 'radioanimation'
    }
}

--      __  ___          __      __         
--     /  |/  /___  ____/ /_  __/ /__  _____
--    / /|_/ / __ \/ __  / / / / / _ \/ ___/
--   / /  / / /_/ / /_/ / /_/ / /  __(__  ) 
--  /_/  /_/\____/\__,_/\__,_/_/\___/____/                          
Config.RadioModules = {
    battery = {
        -- Don't change
        -- ↑↑↑↑
        ['bat_low']     = 'bat_low', -- Can change the item name
        ['bat_medium']  = 'bat_medium', -- item name 
        ['bat_high']    = 'bat_high' -- item name
    },
    colors = {
        ['radio_red']       = 'radio_red', -- item name
        ['radio_blue']      = 'radio_blue', -- item name
        ['radio_purple']    = 'radio_purple', -- item name
        ['radio_pink']      = 'radio_pink', -- item name
        ['radio_lightblue'] = 'radio_lightblue', -- item name
        ['radio_orange']    = 'radio_orange', -- item name
        ['radio_yellow']    = 'radio_yellow',  -- item name
        ['radio_green']     = 'radio_green', -- item name
        ['radio_white']     = 'radio_white',   -- item name
        ['radio_grey']      = 'radio_grey'   -- item name
    },
    specials = {
        ['chip_5g']         = 'chip_5g',-- item name
        ['chip_ghost']      = 'chip_ghost',-- item name
        ['chip_antihack']   = 'chip_antihack',-- item name
        ['chip_waterproof'] = 'chip_waterproof' -- item name
    },
    mic = {
        ['mic_walkie'] = 'mic_walkie'
    }
}

Config.HackRadioItem = 'hack_chip'
Config.MiniGame = {
    background = 4, -- from 0 to 6
    timeMin = 100, -- tiempo que cambia las columnas, maximo entre 0 a 255
    timeMax = 200,
    lives = 4,

    bruteforceWords = {
        'PELELESS',
        'IMSTUPID',
        'ABCDEFGH',
        'MAMAHUEV',
        'STRADIOU',
        'MANDALOR',
        'OBIWANKE',
        'ANNAKINS',
        'XWINGXV2',
        'REBELST4',
    }
}

Config.Battery = {
    -- You can use the command "/radiobat number" exampel: "/radiobat 100" to set 100% of battery or only /radiobat to set 0
    -- You need set true on Debug config on config_framework to use that command.
    ENABLE = true,
    WHITELISTJOBS = {police = false, ambulance = false}, -- Add the job name here and true, if the user has the job the radio will not consume battery power you can add more jobs. (Weird idea)
--[[     
        Each interval is the battery refresh, the higher this number is, the slower the battery will drain, 
        1 minute is recommended 
        if you want it to be a little bit faster, set 0.5 
]]
    INTERVAL = 1, -- Minutes
--[[     
    This is the interval when charging the battery with the powerbank.
    Every 5 seconds a part of the powerbank battery is transferred.
    If you want the charging to be faster = set a lower number 1 is the minimum.
    If you want the charging to be slower, set a higher number 10 seconds.   
]]
    INTERVALCHARGING = 5, -- Seconds 
    ['radio_powerbank'] = {
        item = 'radio_powerbank',
        mAh = 3000, -- Battery size.
        animationDuration = 3, -- Seconds
        animation = 'hassle_intro_loop_f',
        animationDict = 'missheistfbisetup1',
    },
    ['bat_low'] = {
        mAh = 2000,      -- Battery size.
        idle = 5,        -- Consumes 5% when the radio is stored and was opened for the first time.
        onUse = 8,       -- Consumes 8% when the radio is open (NUI open).
        connected = 2.5, -- Consumes 2.5% when connected to a radio.
        fail = 5,        -- Possibility of battery failure and complete discharge.
    },
    ['bat_medium'] = {
        mAh = 4500,
        idle = 3, -- %
        onUse = 5, -- %
        connected = 1.5,
        fail = 3, -- %
    },
    ['bat_high'] = {
        mAh = 6000,
        idle = 2, -- %
        onUse = 3, -- %
        connected = 0.5,
        fail = 1, -- %
    },
}

--     ____  ____  ____  ____  _____
--    / __ \/ __ \/ __ \/ __ \/ ___/
--   / /_/ / /_/ / / / / /_/ /\__ \ 
--  / ____/ _, _/ /_/ / ____/___/ / 
-- /_/   /_/ |_|\____/_/    /____/  
                              
Config.RadioProps = {
    ['radio_red'] = 'spicyradio_01',
    ['radio_blue'] = 'spicyradio_02',
    ['radio_purple'] = 'spicyradio_03',
    ['radio_pink'] = 'spicyradio_04',
    ['radio_lightblue'] = 'spicyradio_05',
    ['radio_orange'] = 'spicyradio_06',
    ['radio_yellow'] = 'spicyradio_07',
    ['radio_green'] = 'spicyradio_08',
    ['radio_white'] = 'spicyradio_09',
    ['radio_grey'] = 'spicyradio_010',
}
PreviousAdd to Store/ShopNextNOTIFY

Last updated 2 months ago

Was this helpful?

📚