View difference between Paste ID: 9BgUyn3L and ix9hfFfQ
SHOW: | | - or go back to the newest paste.
1
2
ruler = {}
3
4
ruler.active = false
5
ruler.aHeld = false
6
ruler.sHeld = false
7
ruler.rx = 0
8
ruler.ry = 0
9
10
function ruler.draw()
11
	if ruler.active then
12
		local mx, my =  tpt.mousex, tpt.mousey
13
		tpt.drawline(ruler.rx - 2, ruler.ry, ruler.rx + 2, ruler.ry, 255, 255, 255, 127)
14
		tpt.drawline(ruler.rx, ruler.ry - 2, ruler.rx, ruler.ry + 2, 255, 255, 255, 127)
15
		if ruler.aHeld then
16
			tpt.drawline(ruler.rx, ruler.ry, mx, my, 49, 193, 226, 95)
17
		end
18
		tpt.drawtext(mx + 11, my + 11, tostring(math.floor(((ruler.rx - mx) ^ 2 + (ruler.ry - my) ^ 2) ^ 0.5 * 100) / 100), 49, 193, 226, 159)
19
	end
20
end
21-
function ruler.key(char, _, _,event)
21+
22-
	if char == "a" then
22+
function ruler.key(_, key, _,event)
23-
		ruler.aHeld = event == 1
23+
	local e = (event + 2) % 2 == 1
24
	if key == 304 then
25
		ruler.sHeld = e
26
	end
27
	if key == 308 then
28-
	if e == 1 then
28+
		ruler.aHeld = e and not ruler.sHeld
29-
		if not ruler.active then
29+
30-
			if ruler.aHeld then
30+
31
32-
				ruler.rx = mx
32+
33-
				ruler.ry = my
33+
	if e == 1 or e == 3 then
34-
				return false
34+
35
			if not ruler.active then
36-
		else
36+
37-
			ruler.active = false
37+
38
			ruler.rx = mx
39
			ruler.ry = my
40
			return false
41
		elseif ruler.active then
42
			ruler.active = true
43
			return false
44
		end
45
	end
46
end
47
48
49
tpt.register_mouseclick(ruler.mouse)
50
tpt.register_keypress(ruler.key)
51
tpt.register_step(ruler.draw)
52
53
tpt.log("ruler loaded")