What It Does
Stopwatch:start performs one focused job in script flow and can be chained cleanly with other API steps. Starts or stops a Stopwatch process.
Starts or stops a Stopwatch process.
This section explains when to use the API, how to call it, and which structures it works best with in production flow.
Stopwatch:start performs one focused job in script flow and can be chained cleanly with other API steps. Starts or stops a Stopwatch process.
For time flow, combine DateTime, TimeSpan, and Stopwatch with logging, timeout control, and performance measurement. This API becomes most valuable in multi-step chained scenarios.
config define the purpose of the call; preparing them in clearly named variables before execution makes production debugging easier. This API is primarily side-effect driven; the important result is the device state change rather than the raw return value.
A strong combination is to measure with Stopwatch, log with DateTime, and compare durations with TimeSpan.
The snippet below is a starter pattern that can be applied directly in runtime flow.
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flowFrom foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
Shows the shortest direct way to call the API.
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flowWraps the base call with minimal flow control.
local stepOk = true
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flow
if stepOk then
wait(200)
endA practical pattern for real macros with pcall, logging, and guards.
local ok, result = pcall(function()
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flow
end)
if not ok then
print("API step failed: Stopwatch:start")
requestStop()
endThis level packages the API into a reusable helper with error reporting.
-- For time flow, combine DateTime, TimeSpan, and Stopwatch with logging, timeout control, and performance measurement.
local function run_start_step()
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flow
end
local ok, err = pcall(run_start_step)
if not ok then
toast("Step failed")
print(err)
endCombines the API with related structures to form a more realistic workflow.
local watch = Stopwatch.startNew()
-- Stopwatch:start
local result = Stopwatch:start({})
-- Use the result in your script flow
local elapsed = watch:elapsedMilliseconds()
print("Elapsed: " .. tostring(elapsed))