blob: a9d3a703301fb2a9f24475389369f0038a0999f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
local Floater = require 'Floater'
local leap = require 'leap'
local LLNotification = require 'LLNotification'
local startup = require 'startup'
local Timer = (require 'timers').Timer
local max_speed = 0
local flt = Floater:new("luafloater_speedometer.xml")
startup.wait('STATE_STARTED')
local timer
function flt:floater_close(event_data)
if timer then
timer:cancel()
end
msg = "Registered max speed: " .. string.format("%.2f", max_speed) .. " m/s";
LLNotification.add('SystemMessageTip', {MESSAGE = msg})
end
local function idle(event_data)
local speed = leap.request('LLVOAvatar', {op='getSpeed'})['value']
flt:post({action="set_value", ctrl_name="speed_lbl", value = string.format("%.2f", speed)})
max_speed=math.max(max_speed, speed)
end
msg = 'Are you sure you want to run this "speedometer" script?'
response = LLNotification.requestAdd('GenericAlertYesCancel', {MESSAGE = msg})
if response.OK_okcancelbuttons then
flt:show()
timer = Timer:new(1, idle, true) -- iterate
end
|