function receiveParts(part, quantity) -- Receive parts from supplier and update inventory updateInventory(part, quantity) end
-- Production Module local productionRate = 10 local carModel = " sedan" local assemblyLineConfig = { {part = "engine", quantity = 1}, {part = "wheels", quantity = 4}, -- ... } Optix Hub Car Factory Script
function createCar() -- Create a new car and add it to the production line local car = {} car.model = carModel car.parts = {} -- ... return car end } function assembleCar(car) -- Assemble a car using
-- Inventory Module local inventory = { ["engine"] = 100, ["wheels"] = 500, -- ... } quantity = 1}
function assembleCar(car) -- Assemble a car using parts from inventory for _, part in ipairs(assemblyLineConfig) do -- Check if part is in inventory if getPartCount(part.part) >= part.quantity then -- Update inventory count updateInventory(part.part, -part.quantity) -- Add part to car table.insert(car.parts, part.part) else -- Handle part shortage end end return car end
function updateInventory(part, quantity) inventory[part] = (inventory[part] or 0) + quantity end
function orderParts(part, quantity) -- Order parts from supplier local supplier = suppliers[part] -- ... end