View difference between Paste ID: ub2mX4Tj and zk4Np0hR
SHOW: | | - or go back to the newest paste.
1
-- Alarm
2
-- by SukaiPoppuGo
3
--
4
-- Emmet un message d'alerte dans le chat (message privé) à une heure donnée en temps local
5
-- Require mod PeripheralPlusOne
6-
local player = "SukaiPoppuGo"
6+
-- Optional mod Plethora (display on a sign as cheap monitor)
7
--
8
9
-------------------------------------------
10
-- Pause on boot
11
print("init")
12
sleep(os.clock()<2 and 2-os.clock() or 0)
13
print("run")
14
15
-------------------------------------------
16
-- PARAMS
17
-- Définit l'heure où doit sonner l'alarme. Temps en heure décimale
18
local alarm = 2 + (55/60)
19
-- Nom du joueur à qui est destiné le message
20
local player = "Votre nom ici"
21
-- Contenu du message
22
local message = "Reboot dans 5min"
23
24
assert(peripheral.find("chatBox"),"chatBox introuvable")
25
26
repeat
27
    local h = os.time("local")
28
    local diff = h < alarm and alarm - h or 24 - h + alarm
29
    local delay = os.startTimer(diff * 60 * 60)
30
    
31
    repeat
32
        local t = os.time("local")
33
        
34
        term.setCursorPos(1,1)
35
        term.clear()
36
        local sTime = textutils.formatTime(t,true)
37
        local sAlarm = textutils.formatTime(h+diff-t, true)
38
               
39
        print(" time:",sTime)
40
        print("alarm:",sAlarm)
41
        
42
        --Monitor du pauvre
43
        local monitor = peripheral.find("minecraft:sign")
44
        if monitor then
45
            monitor.setSignText("","§ltime: "..sTime,"§lalarm: "..sAlarm)
46
        end
47
        
48
        local tick = os.startTimer(20)
49
        local e,p
50
        repeat
51
            e,p = os.pullEventRaw()
52
            if e == "terminate" then
53
                local monitor = peripheral.find("minecraft:sign")
54
                if monitor then
55
                    monitor.setSignText("","§4§lTerminated")
56
                end
57
                printError("Terminated")
58
                return
59
            end
60
        until e == "timer" and p == tick
61
    until e == "timer" and p == delay
62
    
63
    print("Alarm")
64
    local chatBox = peripheral.find("chatBox")
65
    assert("chatBox","chatBox introuvable")
66
    chatBox.tell(player,message)
67
    sleep(20)
68
until false