# Installation

{% hint style="danger" %}
Do not skim the instructions. You need to follow every step of the Install Guide to make sure you're installing the script correctly
{% endhint %}

## <sub>Dependency Installation</sub>

### <sub>Jim\_Bridge</sub>

{% hint style="info" %}
This is required for the script to function, it won't work without it
{% endhint %}

{% stepper %}
{% step %}

### <sub>Download</sub>

Get it free from github - <https://github.com/jimathy/jim_bridge>
{% endstep %}

{% step %}

### Extract

Extract `jim_bridge` and make sure `-main` is removed from the script folder name
{% endstep %}

{% step %}

### Install

Place the extracted `jim_bridge` folder into `/resources/[standalone]`&#x20;
{% endstep %}

{% step %}

### Done

{% endstep %}
{% endstepper %}

***

## <sub>Framework Installation</sub>

{% tabs %}
{% tab title="ESX" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information [here](https://jixelpatterns.gitbook.io/docs/troubleshooting/common-issues#load-order)
{% endhint %}

### Resources (EXAMPLE)

```markdown
# Default & Standalone Resources
# ------------------------------
ensure chat
ensure hardcap
ensure oxmysql
start ox_lib

# ESX Legacy Core
# ----------
ensure [core]
ensure [esx_addons]
start ox_inventory
start ox_target
ensure [standalone] # Place `jim_bridge` here

# ESX Addons
# ----------

# Other
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}
{% endtab %}

{% tab title="QBCore" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
# QBCore & Extra stuff
ensure qb-core
ensure [qb]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]
ensure [defaultmaps]


# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}
{% endtab %}

{% tab title="QBOX" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
# Qbox & Extra stuff
ensure ox_lib
ensure qbx_core
ensure ox_target
ensure [ox]
ensure [qbx]
ensure [standalone] # Place `jim_bridge` here
ensure [voice]

ensure [npwd-apps]
ensure qbx_npwd
ensure npwd

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}
{% endtab %}

{% tab title="OX\_Core" %}

### Add the script to the server resources

* It is highly recommend to put this script folder in a new folder called `[jim]`
* Then add `ensure [jim]` **AFTER** your other scripts in your server.cfg

***

### Ensure List

GO TO YOUR `server.cfg`&#x20;

{% hint style="warning" %}
The ORDER of the load order is important, check information here
{% endhint %}

### Resources (EXAMPLE)

```markdown
start chat
start sessionmanager
start pe-basicloading
start bob74_ipl
start pma-voice
start oxmysql
start ox_lib
start ox_core
start ox_target
start illenium-appearance
start ox_inventory
ensure [standalone] # Place `jim_bridge` here

# Extra Jim Stuff
ensure [jimextras]  # Place `jim-payments` / `jim-consumables` / `jim-jobgarage` / `jim-djbooth` here
ensure [jim]        # Place all other jim scripts here

# Extra Other Scripts Here
```

{% hint style="warning" %}
**IF YOU ALREADY HAVE A \[jim] FOLDER, PUT IT IN THAT FOLDER YOU DO NOT NEED TO CREATE A NEW ONE.**
{% endhint %}
{% endtab %}
{% endtabs %}

## Item Installation

{% tabs %}
{% tab title="QB-Inv" %}
{% hint style="warning" %}
These items work for both old and new `qb-inventory`
{% endhint %}

### Item Images

Add the images from `_install > images` to your inventory folder&#x20;

* eg. `qb-inventory > html > images`

### Item Data

If using `qb-inventory` or similar, add the lines from `qb_items.txt` to your `qb-core > shared > items.lua`

```lua
skateboard_01 = { name = "skateboard_01", label = "Skateboard", weight = 100, type = "item", image = "skateboard_01.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Skateboard"},

surfboard_01 = { name = "surfboard_01", label = "Surfboard", weight = 100, type = "item", image = "surfboard_01.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Surfboard"},
surfboard_02 = { name = "surfboard_02", label = "Surfboard", weight = 100, type = "item", image = "surfboard_02.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Surfboard"},
surfboard_03 = { name = "surfboard_03", label = "Surfboard", weight = 100, type = "item", image = "surfboard_03.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Surfboard"},
surfboard_04 = { name = "surfboard_04", label = "Surfboard", weight = 100, type = "item", image = "surfboard_04.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Surfboard"},
surfboard_05 = { name = "surfboard_05", label = "Surfboard", weight = 100, type = "item", image = "surfboard_05.png", unique = true, useable = true, shouldClose = true, combinable = nil, description = "Surfboard"},
```

{% endtab %}

{% tab title="OX\_Inv" %}
{% hint style="warning" %}
This applies to any framework using `ox_inventory`
{% endhint %}

{% hint style="warning" %}
Currently while using `ESX` my scripts only support `ox_inventory`
{% endhint %}

### Item Images

Copy and paste the images from `_install > images` to your inventory folder&#x20;

* eg. `ox_inventory > web > images`

### Item Data

Add the `ox_items.txt` to your `ox_inventory > data > items.lua`

```lua
    ["skateboard_01"] = {
		label = "Skateboard", weight = 500, stack = false, close = true, description = "Skateboard",
		client = { 
            image = "skateboard_01.png", 
            event = "jim-boarding:Skateboard:PickPlace"
        },
		buttons = {
            {   label = "Show Board",
                action = function()
                    TriggerEvent('jim-boarding:client:showoff', { item = "skateboard_01", skip = true })
                end,
            }
        }
	},

    ["surfboard_01"] = {
        label = "Surfboard",
        weight = 500,
        stack = false,
        close = true,
        description = "",
        client = { 
            image = "surfboard_01.png",
            event = "jim-boarding:Surfboard:PickPlace"
        },
    },
    ["surfboard_02"] = {
        label = "Surfboard",
        weight = 500,
        stack = false,
        close = true,
        description = "",
        client = { 
            image = "surfboard_02.png",
            event = "jim-boarding:Surfboard:PickPlace"
        },
    },
    ["surfboard_03"] = {
        label = "Surfboard",
        weight = 500,
        stack = false,
        close = true,
        description = "",
        client = {
            image = "surfboard_03.png",
            event = "jim-boarding:Surfboard:PickPlace"
        },
    },
    ["surfboard_04"] = {
        label = "Surfboard",
        weight = 500,
        stack = false,
        close = true,
        description = "",
        client = { 
            image = "surfboard_04.png", 
            event = "jim-boarding:Surfboard:PickPlace" 
        },
    },
    ["surfboard_05"] = {
        label = "Surfboard",
        weight = 500,
        stack = false,
        close = true,
        description = "Surf Rescue",
        client = { 
            image = "surfboard_05.png",
            event = "jim-boarding:Surfboard:PickPlace"
        },
    },
```

{% endtab %}
{% endtabs %}
