📦Installation

1. Open Build Instructions

If you are running an open (non-escrowed) build, remove the following lines from:

jobs > restaurant > client.lua

These lines control the original counter prompt, which you'll be replacing.

TMC.Functions.AddPolyZoneEnterHandler("restaurant_counter_customer", function(data)
    CurRestaurant = data.restaurant
    CurCounter = data
    FormatOrderNotif()
    TMC.Functions.ShowPromptGroup(RestaurantCustomerCounterPrompt)
end)

TMC.Functions.AddPolyZoneExitHandler("restaurant_counter_customer", function(data)
    CurCounter = false
    CurOrder = {}
    TMC.Functions.StopNotify("counterOrder")
    TMC.Functions.HidePromptGroup(RestaurantCustomerCounterPrompt)
    TMC.Functions.CloseMenu("register_menu")
end)

🔹 These removals ensure the original prompt is hidden from the player.


2. Escrowed Build Instructions

If you are on an escrow-locked build, you cannot remove lines from the client code.

Instead:

  1. Add the included custom.lua file to your jobs resource.

  2. Make sure the file is loaded as a client script in your fxmanifest.lua.

Example:

client_scripts {
    'client.lua',
    'custom.lua'
}

3. Required for Both Builds

Regardless of build type, add the following exports to the bottom of:

jobs > configRestaurant.lua

These functions allow external scripts (such as tills or remote UIs) to fetch restaurant data.

exports("getRestaurantConfig", function()
    return Config.Restaurants
end)

exports("getRestaurantStashes", function()
    return Config.RestaurantStashes
end)

exports("getRestaurantMenus", function()
    return Config.RestaurantMenu
end)

exports("getRestaurantFoodCategories", function()
    return Config.RestaurantFoodCategories
end)

4. Remote Tills (Optional Feature)

If you want certain businesses to support remote tills (charging customers through the radial menu), add:

remoteTill = true

to the restaurant’s configuration inside your jobs resource.

Example:

['cluckinbell'] = {
    restaurantLabel = "Cluckin' Bell",
    remoteTill = true,
    restaurantPolyZone = {
        points = {
            vector2(474.66677856445, 122.91993713379),
            vector2(506.64352416992, 109.68017578125),
            vector2(526.00030517578, 162.4916229248),
            vector2(494.46786499023, 170.5934753418)
        },
        options = {
            minZ = 95.461227416992,
            maxZ = 99.646682739258
        }
    },
},

This enables the remote till system only for that restaurant.


5. Database Setup

Run the following SQL file in your database:

tillsv2.sql

This sets up the required tables for remote till transactions.


🎉 Installation Complete

Your restaurant system is now configured with:

  • Replaced or overridden customer prompts

  • Exportable restaurant configuration

  • Optional remote till support

  • Updated database structure

Last updated