# First Aid Zones

{% hint style="success" %}
Adding Zones
{% endhint %}

* You can define as many revive stations as you wish anywhere around the map
* The `key` is the zone name and must be unique

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        
    },
}
```

***

{% hint style="success" %}
Zone Settings
{% endhint %}

* You must define the coordinates for the zone to be created. These coordinates must be `vector4` as it is shared with the ped spawn coordinates
* You can enable debugging of the zone and display the zone radius by setting debug to true
* Define the zone radius (bare in mind the zone radius should be slightly larger than the ped target distance)

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        zone = { -- info settings
            coords = vector4(-178.62, 6387.57, 25.72, 142.06), -- spawn coords must be vector4
            debug = false, -- debug zone
            radius = 3.0, -- zone radius set this slightly larger than the ped target distance
        },
        --other options
    },
}
```

***

{% hint style="success" %}
Blip Settings
{% endhint %}

* You can enable blips for this revive zone if enabled
* Blip settings for id and colour can be found here: [https://docs.fivem.net/docs/game-references/blips/](https://docs.fivem.net/docs/game-references/blips/)

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        zone = { -- info settings
            coords = vector4(-178.62, 6387.57, 25.72, 142.06), -- spawn coords
            debug = false, -- debug zone
            radius = 3.0, -- zone radius
        },
        blips = { -- blip settings for shop
            enabled = true, -- blip enabled
            id = 51, -- blip id
            colour = 2, -- blip colour
            scale = 0.6, -- bliip scale
            title = 'Revive Point', -- blip title
        },
        --other options
    },
}
```

***

{% hint style="success" %}
Target Settings
{% endhint %}

* Define the ped model you wish to spawn. Base Game Models can be found here: [https://docs.fivem.net/docs/game-references/ped-models/](https://docs.fivem.net/docs/game-references/ped-models/)
* The icon is the target icon for the ped. Target icons can be found here: [https://fontawesome.com/](https://fontawesome.com/)
* The label is the target label for the ped
* The distance is the target distance for the ped. Bare in mind this should be slightly smaller than the zone radius

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        zone = { -- info settings
            coords = vector4(-178.62, 6387.57, 25.72, 142.06), -- spawn coords
            debug = false, -- debug zone
            radius = 3.0, -- zone radius
        },
        blips = { -- blip settings for shop
            enabled = true, -- blip enabled
            id = 51, -- blip id
            colour = 2, -- blip colour
            scale = 0.6, -- bliip scale
            title = 'Revive Point', -- blip title
        },
        target = { -- target settings
            ped = 'a_f_m_eastsa_01', -- ped model
            icon = 'fa-solid fa-hand-point-up', -- target icon
            label = 'Medical Services', -- target label
            distance = 4.0, -- target distance
        },
        --other options
    },
}
```

***

{% hint style="success" %}
Revive Settings
{% endhint %}

* You can define various settings for the revival of players
* The coords must be `vector4` this is where the player is sent to be revived
* The spawn coords must be `vector4` this is where the player is sent when revived
* The duration is the time the ped takes to revive the player
* The label is the progressCircle label
* The cost is the price the player must pay to be revived (this is paid for using cash)
* You can define animation settings for the ped to perform whilst reviving the player

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        zone = { -- info settings
            coords = vector4(-178.62, 6387.57, 25.72, 142.06), -- spawn coords
            debug = false, -- debug zone
            radius = 3.0, -- zone radius
        },
        blips = { -- blip settings for shop
            enabled = true, -- blip enabled
            id = 51, -- blip id
            colour = 2, -- blip colour
            scale = 0.6, -- bliip scale
            title = 'Revive Point', -- blip title
        },
        target = { -- target settings
            ped = 'a_f_m_eastsa_01', -- ped model
            icon = 'fa-solid fa-hand-point-up', -- target icon
            label = 'Medical Services', -- target label
            distance = 4.0, -- target distance
        },
        revive = { -- operating table settings
            coords = vector4(-178.86, 6386.77, 26.0, 222.55), -- operating table coords to put injured ped
            spawnCoords = vector4(-179.76, 6386.55, 25.72, 219.06),
            duration = 10000, -- duration of revival for progressCircle
            label = 'Receiving treatment',
            cost = 500, -- cost to get revived
            anim = { -- animation settings
                anim = 'fixing_a_ped', -- animation name
                dict = 'mini@repair', -- animation dict
                flag = 49, -- animation flag
            },
        },
        --other options
    },
}
```

***

{% hint style="success" %}
Inventory Settings
{% endhint %}

* You can define items that are available to purchase from the ped and their respective prices and stock amounts. Stock levels are handled via the database and are persistent
* The name is the item name
* The price is the item price
* The stock is the amount of that item is in stock

```lua
Config.FirstAid = {
    ['Revive Zone Name'] = { -- the key is the name
        zone = { -- info settings
            coords = vector4(-178.62, 6387.57, 25.72, 142.06), -- spawn coords
            debug = false, -- debug zone
            radius = 3.0, -- zone radius
        },
        blips = { -- blip settings for shop
            enabled = true, -- blip enabled
            id = 51, -- blip id
            colour = 2, -- blip colour
            scale = 0.6, -- bliip scale
            title = 'Revive Point', -- blip title
        },
        target = { -- target settings
            ped = 'a_f_m_eastsa_01', -- ped model
            icon = 'fa-solid fa-hand-point-up', -- target icon
            label = 'Medical Services', -- target label
            distance = 4.0, -- target distance
        },
        revive = { -- operating table settings
            coords = vector4(-178.86, 6386.77, 26.0, 222.55), -- operating table coords to put injured ped
            spawnCoords = vector4(-179.76, 6386.55, 25.72, 219.06),
            duration = 10000, -- duration of revival for progressCircle
            label = 'Receiving treatment',
            cost = 500, -- cost to get revived
            anim = { -- animation settings
                anim = 'fixing_a_ped', -- animation name
                dict = 'mini@repair', -- animation dict
                flag = 49, -- animation flag
            },
        },
        inventory = {
            {name = 'bandage',          price = 100,  stock = 100, },
            {name = 'ifaks',            price = 100,  stock = 100, },
            {name = 'painkillers',      price = 100,  stock = 100, },
            --add more items as required
        },
    },
}
```

