> For the complete documentation index, see [llms.txt](https://sasa-scripts.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sasa-scripts.gitbook.io/docs/beta-post-op.md).

# \[BETA] POST OP

## **Why is it beta?**

**It is because the script is not done complete. (But is it playable)**

**If you want detailed documentation, view to your README.md file in script package**

## **Config Preview:**

```lua
Config = {}

-- Core Settings
Config.AllowCancelOrder = true     -- Allow players to cancel active orders
Config.RequiredJob = false         -- No job requirement, anyone can do deliveries
Config.UseESXPayment = true       -- If true, payment goes to bank account instead of cash
Config.NPCInvincible = true       -- Make all NPCs invincible

-- Main Location Settings
Config.Locations = {
    depot = {
        start = vector3(-425.0, -2789.0, 6.0),        -- Where to start/end job
        vehicleSpawn = vector4(-447.5, -2787.8, 6.0, 43.7),  -- Where vehicles spawn
        vehicleReturn = vector4(-435.5, -2789.8, 6.0, 43.7), -- Where to return vehicles
        warehouse = vector3(-417.0, -2789.0, 6.0)     -- Main warehouse location
    }
}

-- Warehouse Locations
Config.WarehouseLocations = {
    {
        coords = vector3(-417.0, -2789.0, 6.0),
        npcCoords = vector4(-417.0, -2789.0, 5.0, 174.5),
        name = "Main PostOp Warehouse"
    },
    {
        coords = vector3(55.12, -1566.89, 29.59),
        npcCoords = vector4(55.12, -1566.89, 28.59, 50.0),
        name = "South Los Santos Warehouse"
    },
    {
        coords = vector3(918.69, -1256.43, 25.57),
        npcCoords = vector4(918.69, -1256.43, 24.57, 90.0),
        name = "East Los Santos Warehouse"
    },
    {
        coords = vector3(78.91, -27.06, 68.56),
        npcCoords = vector4(78.91, -27.06, 67.56, 159.48),
        name = "Downtown Warehouse"
    }
}

-- NPC Settings
Config.WarehouseNPC = {
    model = "s_m_m_ups_01",          -- NPC model for warehouse worker
    coords = vector4(-417.0, -2789.0, 5.0, 174.5)  -- Position and heading of warehouse NPC
}

-- Vehicle Settings
Config.Vehicles = {
    {
        label = "Boxville", 
        model = "boxville4", 
        price = 150     -- Vehicle rental price (0 for free)
    },
    {
        label = "Speedo", 
        model = "speedo", 
        price = 200
    },
    {
        label = "Benson", 
        model = "benson", 
        price = 300
    }
}

Config.VehicleBlip = {
    enabled = true,           -- Show vehicle blip on map
    sprite = 67,             -- Blip icon
    color = 2,              -- Blip color
    scale = 0.7,            -- Blip size
    name = "Work Vehicle"    -- Blip name
}

-- Payment Settings
Config.PaymentRange = {
    min = 150,              -- Minimum payment per delivery
    max = 300               -- Maximum payment per delivery
}
Config.DamageAffectsPay = true    -- Vehicle damage reduces final payment
Config.BasePayment = 500          -- Base payment for completing job
Config.OrderPayment = 150         -- Additional payment per delivery
Config.MaxOrders = 3              -- Maximum deliveries at once

-- Delivery Locations
Config.DeliveryPoints = {
    {   -- Grove Street Market
        coords = vector3(-51.95, -1750.97, 29.42),
        npcCoords = vector4(-50.95, -1749.97, 28.42, 50.0),
        name = "Grove Street Market",
        npcModel = "a_m_m_business_01"
    },
    {   -- Downtown Store
        coords = vector3(373.875, 325.896, 103.566),
        npcCoords = vector4(374.875, 326.896, 102.566, 169.0),
        name = "Downtown Store",
        npcModel = "a_m_y_business_02"
    },
    {
        coords = vector3(2557.458, 382.282, 108.622),
        npcCoords = vector4(2558.458, 383.282, 107.622, 90.0),
        name = "Harveys Store",
        npcModel = "a_m_y_business_03"
    },
    {
        coords = vector3(-3038.939, 585.954, 7.908),
        npcCoords = vector4(-3039.939, 586.954, 6.908, 199.0),
        name = "Beach Market",
        npcModel = "a_m_m_bevhills_02"
    },
    {
        coords = vector3(25.77, -1345.02, 29.5),
        npcCoords = vector4(25.77, -1345.02, 28.5, 266.97),
        name = "24/7 Supermarket",
        npcModel = "mp_m_shopkeep_01"
    },
    {
        coords = vector3(-705.93, -914.33, 19.22),
        npcCoords = vector4(-705.93, -914.33, 18.22, 90.0),
        name = "Little Seoul Shop",
        npcModel = "a_m_y_business_02"
    },
    {
        coords = vector3(1164.82, -323.67, 69.21),
        npcCoords = vector4(1164.82, -323.67, 68.21, 97.56),
        name = "Mirror Park Store",
        npcModel = "a_m_m_business_01"
    },
    {
        coords = vector3(-1222.03, -907.38, 12.33),
        npcCoords = vector4(-1222.03, -907.38, 11.33, 31.67),
        name = "Beach Side Market",
        npcModel = "a_m_m_bevhills_02"
    }
}

-- Visual Settings
Config.MissionText = {
    position = {x = 0.5, y = 0.95},    -- Position at bottom center
    scale = 0.5,                        -- Text size
    font = 4                            -- Text font
}

-- Marker Settings
Config.Marker = {
    type = 2,
    size = vector3(0.3, 0.3, 0.3),
    color = vector4(0, 255, 0, 100),
    distance = 10.0,
    interactDistance = 2.0
}

Config.Markers = {
    warehouse = {
        type = 2,
        size = vector3(0.3, 0.3, 0.3),
        color = vector4(0, 150, 255, 100),
        distance = 10.0,
        interactDistance = 2.0
    },
    delivery = {
        type = 2,
        size = vector3(0.3, 0.3, 0.3),
        color = vector4(255, 150, 0, 100),
        distance = 10.0,
        interactDistance = 2.0
    }
}

-- Package Settings
Config.Package = {
    prop = 'prop_cs_cardbox_01',    -- Package prop model
    bone = 28422,                    -- Attachment bone
    placement = {                    -- Package position on character
        x = 0.0,
        y = 0.0,
        z = 0.0,
        xRot = 0.0,
        yRot = 0.0,
        zRot = 0.0
    }
}

-- Interaction Settings
Config.InteractionType = 'textui'    -- 'textui' or 'target'
Config.Target = {
    label = 'Start PostOp Job',
    icon = 'fa-solid fa-truck',
    distance = 2.0
}

Config.LoadVehicle = {
    type = 2,
    size = vector3(1.0, 1.0, 1.0),
    color = vector4(255, 255, 255, 50),
    offset = vector3(0.0, -2.5, 0.0)    -- Trunk position offset
}

Config.Interaction = {
    vehicleTrunk = {
        textUI = '[E] Load/Unload Package',
        target = {
            icon = 'fa-solid fa-box',
            label = 'Load/Unload Package'
        }
    }
}

-- Map Blip Settings
Config.UseBlip = true
Config.Blip = {
    enabled = true,
    sprite = 478,
    color = 5,
    scale = 0.8,
    name = "PostOp Deliveries",
    shortRange = true,
    showRoute = false,
    routeColor = 5
}

Config.ShowDeliveryBlips = true      -- Show delivery point blips
Config.DeliveryBlip = {
    sprite = 1,
    color = 2,
    scale = 0.5,
    name = "Delivery Point"
}

-- Notification Settings
Config.NotifyType = 'ox'              -- Options: 'esx', 'ox', 'mythic', 'custom'
Config.Notifications = {
    start_work = {
        title = "PostOp Delivery",
        message = "You started temporary work at PostOp",
        type = 'success'
    },
    end_work = {
        title = "PostOp Delivery",
        message = "You finished your deliveries",
        type = 'info'
    },
    order_received = {
        title = "PostOp Delivery",
        message = "New package received for delivery",
        type = 'success'
    },
    order_cancelled = {
        title = "PostOp Delivery",
        message = "Delivery cancelled",
        type = 'error'
    },
    max_orders = {
        title = "PostOp Delivery",
        message = "You cannot take more packages right now",
        type = 'error'
    },
    job_menu = {
        title = "PostOp Controls",
        message = "Press M to open the brigade menu",
        type = 'info'
    },
    new_delivery = {
        title = "New Delivery",
        message = "Pick up the package from the warehouse",
        type = 'info'
    },
    pickup_package = {
        title = "Package Picked Up",
        message = "Deliver the package to the marked location",
        type = 'success'
    },
    delivery_complete = {
        title = "Delivery Complete",
        message = "You earned ${amount}",
        type = 'success'
    }
}

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://sasa-scripts.gitbook.io/docs/beta-post-op.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
