# Settings

The settings file contains a wide variety of values that can be changed and deal with how the overall addon/module should perform. This file is typically where you will turn certain addon features on/off, change feature settings, modify the colors for any user-interface provided, or set the main language of the script.

## ❱ `Location`

**`lua\modules\apollo\sh_apollo_config.lua`**

###

## ❱ `Outline`

| category                               | description                                    |
| -------------------------------------- | ---------------------------------------------- |
| [**language**](#language)              | default addon language                         |
| [**general**](#general)                | interface sizes and special settings           |
| [**xtras**](#xtras)                    | extra feature management (ulx note block, etc) |
| [**backgrounds**](#backgrounds)        | background / live wallpapers                   |
| [**binds**](#binds)                    | key/chat binds & activation                    |
| [**nav buttons**](#navigation-buttons) | nav button urls and internal/external display  |
| [**nav menu**](#navigation-menu)       | enable/disable, colors, name, icons, etc.      |
| **sounds**                             | sounds played for certain actions              |
| **notes**                              | notes system                                   |
| **notices**                            | notices app                                    |
| **staff chat**                         | staff chat interface                           |
| **developer**                          | internal settings that should not be modified  |

###

## ❱ `Language`

These settings deal with the translation system of the script

###

### ◾ lang

determines the language that will run on the script

| *type*      | *string* |
| ----------- | -------- |
| **default** | 'en'     |

###

## ❱ `General`

interface sizes and special settings

###

### ◾ general.ui.padding

padding used for gap between total monitor size and how far in the dashboard shows.

| *type*      | *int* |
| ----------- | ----- |
| **default** | 25    |

####

### ◾ general.ui.header\_h

height of dashboard header

| *type*      | *int* |
| ----------- | ----- |
| **default** | 42    |

####

### ◾ general.ui.smenu\_h

height of submenu (contains nav buttons and toggle icons)

| *type*      | *int* |
| ----------- | ----- |
| **default** | 40    |

####

### ◾ general.ui.animations

determines if animations run when actions are performed

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

###

## ❱ `Xtras`

extra feature management (ulx note block, etc)

###

### ◾ xtras.ulx\_notepad\_disabled

disables the ulx note feature on server startup; Apollo would take over this functionality

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

###

## ❱ **`Backgrounds`**

background / live wallpapers

###

### ◾ bgs.enabled

enables/disables static backgrounds

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

###

### ◾ bgs.list

list of static backgrounds to use if [**`bgs.enabled`**](#bgs-enabled) set **true**

| *type* | *table* |
| ------ | ------- |

###

### ◾ bgs.live.enabled

enables/disables live backgrounds\
if this setting and [**`bgs.enabled`**](#bgs-enabled) are both enabled; it will override static background images and make live backgrounds display instead

| *type*      | *bool* |
| ----------- | ------ |
| **default** | false  |

###

### ◾ bgs.live.list

list of live backgrounds to use if [**`bgs.live.enabled`**](#bgs-live-enabled) set **true**

| *type* | *table* |
| ------ | ------- |

###

## ❱ **`Binds`**

key/chat binds & activation

###

### ◾ binds.enabled

enables/disables chat/key binds used to activate the addon / dashboard

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

###

### ◾ binds.key

key assigned to activate dashboard

| *type*      | *enum*  |
| ----------- | ------- |
| **default** | KEY\_F2 |

###

### ◾ binds.key\_delay

delay to pass in-between key presses. keeps the dashboard from spamming open/closed if `binds.key` held down.

| *type*      | *float* |
| ----------- | ------- |
| **default** | 0.5     |

###

### ◾ binds.chatcmd

chat command assigned to activate dashboard

| *type*      | *string* |
| ----------- | -------- |
| **default** | '!dash'  |

###

## ❱ **`Navigation Buttons`**

buttons to display in header of dashboard.\
these settings only deal with the url of the button, and if it will use the external or internal browser when clicked.

####

| button                  | default                                                          |
| ----------------------- | ---------------------------------------------------------------- |
| **Groups**              |                                                                  |
| navbtn.group\_url       | '<http://steamcommunity.com/groups/your_group_name>'             |
| navbtn.group\_intweb    | false                                                            |
|                         |                                                                  |
| **Forums**              |                                                                  |
| navbtn.forums\_url      | '<https://docs.rlib.io/internal/demo>'                           |
| navbtn.forums\_intweb   | false                                                            |
|                         |                                                                  |
| **Donate**              |                                                                  |
| navbtn.donate\_url      | <https://www.paypal.me/>                                         |
| navbtn.donate\_intweb   | false                                                            |
|                         |                                                                  |
| **Website**             |                                                                  |
| navbtn.website\_url     | <http://steamcommunity.com/groups/yourgrouphere>                 |
| navbtn.website\_intweb  | false                                                            |
|                         |                                                                  |
| **Workshop**            |                                                                  |
| navbtn.workshop\_url    | <https://steamcommunity.com/workshop/filedetails/?id=1709101557> |
| navbtn.workshop\_intweb | false                                                            |
|                         |                                                                  |
| **Discord**             |                                                                  |
| navbtn.discord\_url     | <https://discord.gg/>                                            |
| navbtn.discord\_intweb  | false                                                            |
|                         |                                                                  |
| **Rules**               |                                                                  |
| navbtn.rules\_url       | <https://docs.rlib.io/internal/rules-default>                    |
| navbtn.rules\_intweb    | false                                                            |

###

## ❱ **`Navigation Menu`**

settings that include the [**Navigation Buttons**](#navigation-buttons) above, as well as the ability to enable/disable each button, colorization settings, etc.

#### General

The first entry of this section is called `'general'` and should not be re-named under any circumstances. These settings deal with the overall visual appearance of each button.

####

### ◾ btn\_use\_icontext

whether or not each button will display both the icon AND text\
set [**`btn_use_icontext`**](#btn_use_icontext) and [**`btn_use_icononly`**](#btn_use_icononly) to **false** to display **TEXT** **only**.&#x20;

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

####

### ◾ btn\_use\_icononly

whether or not each button will display icon only\
set [**`btn_use_icontext`**](#btn_use_icontext) and [**`btn_use_icononly`**](#btn_use_icononly) to **false** to display **TEXT** **only**.

| *type*      | *bool* |
| ----------- | ------ |
| **default** | false  |

####

### ◾ truncate\_len

the number of characters a button's text must be before it is truncated\
truncated text will cut off characters after the limit, and add `...` to the end

| *type*      | *int* |
| ----------- | ----- |
| **default** | 15    |

####

### ◾ clrs

table which consists of colors for each button

| id              | desc                  | default                       |
| --------------- | --------------------- | ----------------------------- |
| **icon**        | icon color            | `Color( 168, 70, 70, 255 )`   |
| **icon\_hover** | icon when hovered     | `Color( 255, 255, 255, 255 )` |
| **text**        | text color            | `Color( 255, 255, 255, 255 )` |
| **text\_hover** | text when hovered     | `Color( 255, 255, 255, 255 )` |
| **btn**         | button box color      | `Color( 15, 15, 15, 0 )`      |
| **btn\_hover**  | button when hovered   | `Color( 168, 70, 70, 255 )`   |
| **uline**       | border line on bottom | `Color( 255, 255, 255, 255 )` |

####

## ❱ **`Sounds`**

sounds played for certain actions

####

### ◾ sounds.enabled

enables/disables sounds from playing when certain actions occur

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

####

### ◾ sounds.list

list of sounds assigned to their action ids

| *type* | *table* |
| ------ | ------- |

{% code title="default sounds table" %}

```lua
cfg.sounds.list =
{
    [ 'ui_click' ]                  = 'apollo/ui/sfx-ui-click-01.mp3',
    [ 'ui_tick' ]                   = 'apollo/ui/sfx-ui-tick-01.mp3',
    [ 'ui_open' ]                   = 'apollo/ui/sfx-ui-panel-01-open.mp3',
    [ 'ui_close' ]                  = 'apollo/ui/sfx-ui-panel-01-close.mp3',
    [ 'ui_open_01' ]                = 'apollo/ui/sfx-ui-open-01.mp3',
    [ 'ui_mouseover_01' ]           = 'apollo/ui/sfx-ui-mouseover-01.mp3',
    [ 'ui_mouseover_02' ]           = 'apollo/ui/sfx-ui-mouseover-02.mp3',
    [ 'ui_mouseover_03' ]           = 'apollo/ui/sfx-ui-mouseover-03.mp3',
    [ 'ui_notice_01' ]              = 'apollo/ui/sfx-ui-notification-01.mp3',
    [ 'ui_notice_02' ]              = 'apollo/ui/sfx-ui-notification-02.mp3',
    [ 'ui_notice_03' ]              = 'apollo/ui/sfx-ui-notification-03.mp3',
    [ 'ui_notice_04' ]              = 'apollo/ui/sfx-ui-notification-04.mp3',
    [ 'ui_notice_05' ]              = 'apollo/ui/sfx-ui-notification-05.mp3',
    [ 'ui_notice_06' ]              = 'apollo/ui/sfx-ui-notification-06.mp3',
    [ 'ui_notice_07' ]              = 'apollo/ui/sfx-ui-notification-07.mp3',
    [ 'ui_notice_08' ]              = 'apollo/ui/sfx-ui-notification-08.mp3',
    [ 'ui_notice_09' ]              = 'apollo/ui/sfx-ui-notification-09.mp3',
    [ 'ui_notice_10' ]              = 'apollo/ui/sfx-ui-notification-10.mp3',
    [ 'ui_swipe_01' ]               = 'apollo/ui/sfx-ui-swipe-01.mp3',
    [ 'ui_swipe_02' ]               = 'apollo/ui/sfx-ui-swipe-02.mp3',
    [ 'ui_swipe_03' ]               = 'apollo/ui/sfx-ui-swipe-03.mp3',
    [ 'ui_admin_notify' ]           = 'ambient/levels/canals/drip1.wav',
    [ 'ui_toggle' ]				    = 'npc/dog/dog_idle5.wav',
}
```

{% endcode %}

####

## ❱ **`Notes`**

notes system

####

### ◾ notes.date\_format

format of date displayed on notes created

| *type*      | *string*   |
| ----------- | ---------- |
| **default** | '%d/%m/%y' |

####

{% hint style="info" %}
These settings currently **disabled** until the quick-notes feature is completed:\
\
core.notes.binds.enabled\
core.notes.binds.key\
core.notes.binds.key\_delay\
core.notes.binds.chatcmd
{% endhint %}

### ◾ notes.binds.enabled

enables/disables chat/key binds used to activate the quick-notes interface

| *type*      | *bool* |
| ----------- | ------ |
| **default** | true   |

####

### ◾ notes.binds.key

key assigned to activate quick-notes

| *type*      | *enum*  |
| ----------- | ------- |
| **default** | KEY\_F6 |

####

### ◾ notes.binds.key\_delay

delay to pass in-between key presses. keeps the quick-notes from spamming open/closed if [**`core.notes.binds.key`**](#core-notes-binds-key) held down.

| *type*      | *float* |
| ----------- | ------- |
| **default** | 0.5     |

####

### ◾ notes.binds.chatcmd

chat command assigned to activate quick-notes

| *type*      | *string* |
| ----------- | -------- |
| **default** | '!notes' |

####

## ❱ **`Notices`**

notices app

####

### ◾ notices.showtime

default for how long a notice will display. can be changed in-game per notice

| *type*      | *int* |
| ----------- | ----- |
| **default** | 8     |

####

### ◾ notices.cooldown

how long staff must wait to send another notice

| *type*      | *int* |
| ----------- | ----- |
| **default** | 30    |

####

### ◾ notices.padding

padding from far sides of monitor

| *type*      | *int* |
| ----------- | ----- |
| **default** | 15    |

####

## ❱ **`Staff Chat`**

staff chat interface

####

### ◾ schat.fadetime

determines how long the ui will fade for when an action occurs

| *type*      | *int* |
| ----------- | ----- |
| **default** | 8     |

####

### ◾ schat.ts\_format

determines how timestamps will appear for messages

| *type*      | *string*   |
| ----------- | ---------- |
| **default** | '%I:%M:%S' |

####

### ◾ schat.prefix\_say

prefix to start a command out with in order for it to detect it as a 'say' activity.

| *type*      | *string* |
| ----------- | -------- |
| **default** | '!'      |

####

### ◾ schat.prefix\_gcon

prefix to start a command out with in order for it to detect it as an actual console command which will utilize `RunConsoleCommand`

| *type*      | *string* |
| ----------- | -------- |
| **default** | '#'      |

####

### ◾ schat.prefix\_icmd

prefix to start a command out with in order for it to detect it as an an internal built-in command.

| *type*      | *string* |
| ----------- | -------- |
| **default** | '/'      |

####

### ◾ schat.binds.act\_btn1

keys to press in order to activate staff chat interface

| *type*      | *int* |
| ----------- | ----- |
| **default** | 79    |

####

### ◾ schat.binds.act\_btn2

keys to press in order to activate staff chat interface

| *type*      | *int* |
| ----------- | ----- |
| **default** | 16    |

####

### ◾ schat.binds.history\_up

keys to press in order to shuffle through command history

| *type*      | *int* |
| ----------- | ----- |
| **default** | 88    |

####

### ◾ schat.binds.history\_down

chat command assigned to activate quick-notes

| *type*      | *int* |
| ----------- | ----- |
| **default** | 90    |
