Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("ocs/apis/sensor")
- local s = sensor.wrap("front")
- side = "top"
- mon = peripheral.wrap(side)
- mon.setBackgroundColor(32768)
- mon.setTextScale(1.5)
- mon.clear()
- function calc_color(color)
- return math.pow(2, color - 1)
- end
- function msg(gap, line, color, groundb, text)
- mon.setBackgroundColor(calc_color(groundb))
- mon.setCursorPos(gap,line)
- mon.setTextColor(calc_color(color))
- text = mon.write(text)
- end
- function stufenscreen()
- for i = 1,13 do -- monitor clear
- msg(01,i,01,16," ")
- end
- for name,info in pairs(s.getTargets()) do --name erkennen
- local file = fs.open("stufe/" ..name.. "/", "r") -- lese Stufe aus
- local stufe = file.readLine()
- file.close()
- msg(01,01,02,16," Welcome "..name.." ")
- msg(01,02,05,16,"---------------------------------+-----------------------")
- msg(01,03,09,16,"There are levels 1 to 5.")
- msg(01,04,09,16,"Minutes * Level * 10 = UU-Matter")
- msg(01,05,09,16,"E.g: 20 * 3 * 10 = 600 UU")
- msg(01,06,06,16,"Your Level: "..stufe.." ")
- msg(01,07,09,16,"Put HVs in the ME on your left")
- msg(01,08,09,16,"to increase your level, you keep")
- msg(01,09,09,16,"them back afterwards.")
- msg(01,10,10,16,"Level 2 with 04 HV")
- msg(01,11,10,16,"Level 3 with 08 HV") msg(21,10,15,09," ")
- msg(01,12,10,16,"Level 4 with 12 HV") msg(21,11,15,09," START ")
- msg(01,13,10,16,"Level 5 with 16 HV") msg(21,12,15,09," ")
- local event, side, X, Y = os.pullEvent("monitor_touch") -- zuråBCck zu Screen1
- if X >= 21 and X <= 50 and Y >= 10 and Y <= 12 and side == side then -- Stufe åA4ndern
- rednet.open("bottom")
- rednet.send(9941,1)
- x, y, z = rednet.receive()
- stufe = tonumber(stufe)
- if y == 1 then
- sleep(0.5)
- elseif y == 2 and stufe == 1 then
- local file = fs.open("stufe/" ..name.. "/", "w")
- file.write("2")
- file.close()
- elseif y == 3 and stufe <= 2 then
- local file = fs.open("stufe/" ..name.. "/", "w")
- file.write("3")
- file.close()
- elseif y == 4 and stufe <= 3 then
- local file = fs.open("stufe/" ..name.. "/", "w")
- file.write("4")
- file.close()
- elseif y == 5 and stufe <= 4 then
- local file = fs.open("stufe/" ..name.. "/", "w")
- file.write("5")
- file.close()
- end
- screen3()
- end
- end
- end
- function screen3()
- for name,info in pairs(s.getTargets()) do --name erkennen
- local file = fs.open("users/" ..name.. "/", "r") -- lese Minuten aus
- local minu = file.readLine()
- file.close()
- local file = fs.open("stufe/" ..name.. "/", "r") -- lese Stufe aus
- local stufe = file.readLine()
- file.close()
- minu = tonumber(minu)
- if stufe == "1" then
- faktor1 = 10
- faktor2 = 100
- elseif stufe == "2" then
- faktor1 = 20
- faktor2 = 200
- elseif stufe == "3" then
- faktor1 = 30
- faktor2 = 300
- elseif stufe == "4" then
- faktor1 = 40
- faktor2 = 400
- elseif stufe == "5" then
- faktor1 = 50
- faktor2 = 500
- end
- ---------------------------------------------------------------
- term.setCursorPos(1,3)
- term.write("Stufe: "..stufe)
- term.setCursorPos(1,4)
- term.write(" ")
- term.setCursorPos(1,4)
- term.write("Abzug in Minuten: "..minuten)
- term.setCursorPos(1,5)
- term.write(" ")
- term.setCursorPos(1,5)
- term.write("Auszahlung in UU: "..uumatter)
- ---------------------------------------------------------------
- for i = 1,13 do -- monitor clear
- msg(01,i,01,16," ")
- end
- msg(01,01,02,16," Welcome "..name.." ") -- Screen3
- msg(01,02,05,16,"---------------------------------------------------------")
- msg(01,03,06,16,"Level: "..stufe.." Minutes: "..minu.." ")
- msg(01,04,05,16,"---------------------------------------------------------")
- msg(01,05,10,16,"click here to change level. ")
- msg(01,06,05,16,"---------------------------------------------------------")
- msg(01,07,09,16,"select payout amount: ")
- msg(05,08,01,06,"+1 ") msg(12,08,01,06,"+10")
- msg(20,08,01,15,"-1 ") msg(27,08,01,15,"-10")
- msg(01,09,05,16," ")
- msg(01,10,06,16,"Minutes: "..minuten.." UU-Matter: "..uumatter.." ")
- msg(01,11,05,16,"------------------+") msg(20,11,15,09," ")
- msg(01,12,09,08," open start menu ") msg(20,12,15,09," UU - pay out ")
- msg(01,13,09,08," -> click here <- ") msg(20,13,15,09," click here ")
- for x = 12,13 do
- msg(19,x,05,16,"|")
- end
- local event, side, X, Y = os.pullEvent("monitor_touch") -- zuråBCck zu Screen1
- if X >= 05 and X <= 07 and Y == 8 and side == side then -- +1
- if minuten < minu then
- minuten = minuten + 1
- uumatter = uumatter + faktor1
- screen3()
- else
- screen3()
- end
- elseif X >= 12 and X <= 15 and Y == 8 and side == side then -- +10
- if minuten + 11 <= minu then
- minuten = minuten + 10
- uumatter = uumatter + faktor2
- screen3()
- else
- screen3()
- end
- elseif X >= 20 and X <= 22 and Y == 8 and side == side and minuten >= 01 then -- -1
- minuten = minuten - 1
- uumatter = uumatter - faktor1
- screen3()
- elseif X >= 27 and X <= 29 and Y == 8 and side == side and minuten >= 10 then -- -10
- minuten = minuten - 10
- uumatter = uumatter - faktor2
- screen3()
- elseif X >= 01 and X <= 18 and Y >= 12 and Y <= 13 and side == side then -- neustart
- shell.run("startup")
- elseif X >= 20 and X <= 50 and Y >= 12 and Y <= 13 and side == side then -- UU auszahlen
- rednet.open("bottom")
- rednet.send(9938,uumatter)
- minu = minu - minuten
- local file = fs.open("users/" ..name.. "/", "w")
- file.write(minu)
- file.close()
- msg(01,10,06,16," ")
- msg(01,10,06,16,"payout in progress (ME System)-> ")
- sleep(1.5)
- elseif X >= 1 and X <= 50 and Y == 5 and side == side then -- Steufe åA4ndern
- stufenscreen()
- else
- screen3()
- end
- end
- end
- while true do
- for name,info in pairs(s.getTargets()) do --name erkennen
- msg(01,01,02,16," Welcome "..name.." ")
- if fs.exists("users/" ..name) == false then --erstelle Minuten
- local file = fs.open("users/" ..name.. "/", "w")
- file.write("0")
- file.close()
- end
- if fs.exists("stufe/" ..name) == false then --erstelle Stufe
- local file = fs.open("stufe/" ..name.. "/", "w")
- file.write("1")
- file.close()
- end
- if rs.getInput("left", true) then --druckplatte erkennen
- local file = fs.open("users/" ..name.. "/", "r") --lese Minuten aus
- local minu = file.readLine()
- file.close()
- msg(01,02,05,16,"---------------------------------------------------------") --Screen2
- msg(16,03,06,16," "..minu.." Minutes ")
- msg(01,04,05,16,"---------------------------------------------------------")
- msg(01,05,09,16," ")
- msg(01,06,09,16," ")
- msg(01,07,09,16," ")
- msg(01,05,09,16,"It is checked every 60 seconds ")
- msg(01,06,09,16,"whether you are still standing ")
- msg(01,07,09,16,"on the pressure plate. ")
- msg(01,08,05,16,"---------------------------------------------------------")
- msg(01,09,09,16,"received minutes are saved ")
- msg(01,10,09,16,"until they are redeemed. ")
- msg(01,11,05,16,"---------------------------------------------------------")
- msg(01,12,09,16," ")
- msg(01,13,09,16," ")
- for sek = 1,60 do --zåA4hle bis 60 Sekunden
- msg(01,03,06,16," "..sek.." Secondes ")
- sleep(1)
- if sek == 60 then --wenn 60 dann zåA4hl +1 Minuten
- minu = minu + 1
- msg(16,03,06,16," "..minu..".0 Minutes ")
- local file = fs.open("users/" ..name.. "/", "w") --neue Minuten speichern
- file.write(minu)
- file.close()
- end
- end
- else
- msg(01,02,05,16,"---------------------------------------------------------") --Screen1
- msg(01,03,06,16," ")
- msg(01,04,05,16,"---------------------------------------------------------")
- msg(01,05,09,16," ")
- msg(01,06,09,16," ")
- msg(01,07,09,16," ")
- msg(01,05,09,16,"No player detected on ")
- msg(01,06,09,16,"pressure plate, stand on pressure ")
- msg(01,07,09,16,"plate to start count. ")
- msg(01,08,05,16,"---------------------------------------------------------")
- msg(01,09,09,16,"received minutes are saved ")
- msg(01,10,09,16,"until they are redeemed. ")
- msg(01,11,05,16,"---------------------------------------------------------")
- msg(01,12,09,16," open payment menu ---> ")
- msg(01,13,09,16," ")
- end
- if rs.getInput("right", true) then --åB6ffnen Auszahlscreen
- minuten = 0.0
- uumatter = 0.0
- screen3()
- end
- end
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement