# Job ranks

This file can be located in *peuren\_deliveries/shared/sh\_main.lua.*

You can edit the pre-configured rank levels or add your new rank levels by following the examples.

```lua
Config.Ranks = {--Don't touch this
    Levels = {--Don't touch this
        [1] = {--Rank level id
            minXP = 0,--minimum needed xp to unlock this level
            job = 'beginner'--When a player reaches this rank level he unlocks this job type
        },
        [2] = {--Rank level id
            minXP = 1500,--minimum needed xp to unlock this level
            job = 'packages'--When a player reaches this rank level he unlocks this job type
        },
        [3] = {--Rank level id
            minXP = 3500,--minimum needed xp to unlock this level
            job = 'veteran'--When a player reaches this rank level he unlocks this job type
        },
    }
}
```

## Jobs

This file can be located in *peuren\_deliveries/shared/sh\_main.lua.*

```lua
Config.Jobs = {--Don't touch this
    ['beginner'] = {--job rank name
        label = 'Mail boy',--job rank type label name 
        description = 'You\'ll be driving a bycycle and collecting or delivering mail',
        group = false,--Does this job type support groups?
        packages = {min = 3, max = 5 },--Packages amount
        stops = {min = 4, max = 5},--Delivery location amount
        rewards = {
            account = 'bank', --Account to send money to, cash or bank
            perStop = 500, --How much is paid for one single successfull pickup/delivery job
            groupMultiplier = true, --Multiply this number by the group count
            rankXp = 100 --Add rank xp after finished delivery
        },

        cargo = {
            package = {
                model = 'tr_prop_tr_bag_flipjam_01a',           
                clothing = {
                    male = { id = 5, drawable = 82, texture = 1 },
                    female = { id = 5, drawable = 82, texture = 1 }
                },
            },
            pallet = false
        },
        vehicle = {--Don't touch this
            model = 'bmx',--Vehicle spawn name
            cargo = {
                areaSize = vec3(0.8, 3.0, 8.0),
                spacing = vec3(0.29, 0.29, 0.17),
                offsetPos = vec3(0.3, 3, -0.19),      
                trunkBones = {
                    'seat_dside_r',
                    'seat_pside_r'
                }
            },
        }
    },
    ['packages'] = {--job rank name
        label = 'Package deliveries',--job rank type label name 
        description = 'You\'ll be driving a van and collecting or delivering packages',
        group = true,--Does this job type support groups?
        packages = {min = 3, max = 5 },--Packages amount
        stops = {min = 4, max = 5},--Delivery location amount
        rewards = {
            account = 'bank', --Account to send money to, cash or bank
            perStop = 1500, --How much is paid for one single successfull pickup/delivery job
            groupMultiplier = true, --Multiply this number by the group count
            rankXp = 100 --Add rank xp after finished delivery
        },

        cargo = {
            package = {
                model = 'prop_cs_package_01', 
                clothing = false,
                carrying = {
                    offset = vec3(0.025, -0.05, -0.10),
                    bone = 28422
                },
            },

            pallet = {
                model = 'prop_pallettruck_02',
                areaSize = vec3(1.3, 1.3, 30.0),
                spacing = vec3(0.29, 0.29, 0.17),
                offsetPos = vec3(0.6, 0.95, 0.35),
                carrying = {
                    offset = vec3(-0.075, 1.5, -1.0),
                    bone = "SKEL_Pelvis"
                },
            }
        },
        vehicle = {--Don't touch this
            model = 'boxville4',--Vehicle spawn name
            cargo = {
                areaSize = vec3(0.8, 3.0, 8.0),
                spacing = vec3(0.29, 0.29, 0.17),
                offsetPos = vec3(0.3, 3, -0.19),      
                trunkBones = {
                    'seat_dside_r',
                    'seat_pside_r'
                }
            },
        }
    },
    ['veteran'] = {--job rank name
        label = 'Business deliveries',--job rank type label name 
        description = 'You\'ll be driving a van and collecting or delivering packages from businesses',
        group = true,--Does this job type support groups?
        packages = {min = 3, max = 5 },
        stops = {min = 4, max = 5},
        rewards = {
            account = 'bank', --Account to send money to, cash or bank
            perStop = 1500, --How much is paid for one single successfull pickup/delivery job
            groupMultiplier = true, --Multiply this number by the group count
            rankXp = 500 --Add rank xp after finished delivery
        },

        cargo = {
            package = {
                model = 'prop_cs_package_01',            
                clothing = false,
                carrying = {
                    offset = vec3(0.025, -0.05, -0.10),
                    bone = 28422
                },
            },

            pallet = {
                model = 'prop_pallet_01a',
                areaSize = vec3(1.3, 1.3, 30.0),
                spacing = vec3(0.29, 0.29, 0.17),
                offsetPos = vec3(0.6, 0.3, 0.30),
                carrying = {
                    offset = vec3(-0.075, 1.5, -1.0),
                    bone = "SKEL_Pelvis"
                },
            }
        },
        vehicle = {--Don't touch this
            model = 'boxville4',--Vehicle spawn name
            cargo = {
                areaSize = vec3(0.8, 3.0, 8.0),
                spacing = vec3(0.29, 0.29, 0.17),
                offsetPos = vec3(0.3, 3, -0.19),      
                trunkBones = {
                    'seat_dside_r',
                    'seat_pside_r'
                }
            },
        }
    },   
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://peuren.gitbook.io/peuren/peuren_deliveries/configuration/job-ranks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
