Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("ocs/apis/sensor")
- local s = sensor.wrap("top")
- rednet.open("back")
- mon = peripheral.wrap("left")
- side = "left" --Bildschirmseite für Button-Abfrage setzen
- mon.setBackgroundColor(32768)
- mon.setTextScale(1.5)
- mon.clear()
- --Hilfs-Funktionen--
- 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 firstlayer()
- rednet.send(6324, "abfrage")
- rednet.send(6324, name)
- id, coins, z = rednet.receive()
- mon.setBackgroundColor(32768)
- mon.clear()
- msg(01,1,4,16,"Willkommen " ..name.. " ")
- msg(25,1,6,16,"Coins: " ..coins.. " ")
- msg(01,2,5,16,"------------------------------------------------------------")
- end
- function keinbutton1()
- msg(01,17,01,15," An dieser Stelle ist kein Button xD ")
- sleep(1)
- msg(01,17,16,16," ")
- msg(01,17,01,15," -> logout <- ")
- deutsch1()
- end
- function keinbutton2()
- msg(01,17,01,15," An dieser Stelle ist kein Button xD ")
- sleep(1)
- msg(01,17,16,16," ")
- msg(33,17,01,15," zurück ")
- count1()
- end
- function keinbutton3()
- msg(01,17,01,15," An dieser Stelle ist kein Button xD ")
- sleep(1)
- msg(01,17,16,16," ")
- count2()
- end
- function deutsch1()
- firstlayer()
- msg(01,4,10,16,"Was für ein Item möchtest du tauschen?")
- msg(01,5,10,16,"Klick einfach auf die Zeile der Items.")
- msg(01,07,09,16,"------------------------------------------------------------")
- msg(07,08,02,16,"Goldblöcke -> Eisenblöcke")
- msg(07,10,02,16,"Goldbarren -> Eisenbarren")
- msg(07,12,02,16,"Obsidian -> Eisenbarren")
- msg(07,14,02,16,"Eisenbarren -> Enderperlen")
- msg(01,15,09,16,"------------------------------------------------------------")
- msg(01,17,01,15," -> logout <- ")
- local event, side, X, Y = os.pullEvent("monitor_touch")
- if X >= 1 and X <=14 and Y >= 17 and Y <= 18 and side == side then -- logout Button
- fs.delete("Player")
- shell.run("startup")
- elseif X >= 01 and X <=40 and Y >= 01 and Y <= 07 and side == side then
- keinbutton1()
- elseif X >= 01 and X <=40 and Y >= 09 and Y <= 09 and side == side then
- keinbutton1()
- elseif X >= 01 and X <=40 and Y >= 11 and Y <= 11 and side == side then
- keinbutton1()
- elseif X >= 01 and X <=40 and Y >= 13 and Y <= 13 and side == side then
- keinbutton1()
- elseif X >= 01 and X <=40 and Y >= 15 and Y <= 16 and side == side then
- keinbutton1()
- elseif X >= 15 and X <=40 and Y >= 17 and Y <= 18 and side == side then
- keinbutton1()
- elseif X >= 01 and X <=40 and Y >= 08 and Y <= 08 and side == side then
- ID = 6343
- anfangsname = "Goldblock"
- anfangsname2 = "Goldblöcke"
- fertigname = "Eisenblöcke"
- count1()
- elseif X >= 01 and X <=40 and Y >= 10 and Y <= 10 and side == side then
- anfangsname = "Goldbarren"
- anfangsname2 = "Goldbarren"
- fertigname = "Eisenbarren"
- count1()
- elseif X >= 01 and X <=40 and Y >= 12 and Y <= 12 and side == side then
- anfangsname = "Obsidian"
- anfangsname2 = "Obsidian"
- fertigname = "Eisenbarren"
- count1()
- elseif X >= 01 and X <=40 and Y >= 14 and Y <= 14 and side == side then
- anfangsname = "Eisenbarren"
- anfangsname2 = "Eisenbarren"
- fertigname = "Enderperlen"
- count1()
- end
- end
- function count1()
- firstlayer()
- msg(02,04,10,16,"Das tauschen von einem "..anfangsname.."")
- msg(02,05,10,16,"kostet dich 0.65 Coins und ergibt")
- msg(02,06,10,16,"acht "..fertigname..".")
- msg(02,08,10,16,"Bitte werf nun "..anfangsname2.."")
- msg(02,09,10,16,"in den Input und bestätige")
- msg(02,10,10,16,"danach hier mit OK")
- msg(02,12,02,16,"Bitte nur maximal 16")
- msg(02,13,02,16,"Stacks einwerfen! ")
- msg(30,08,16,01," ")
- msg(30,09,16,01," ")
- msg(30,10,16,01," OK ")
- msg(30,11,16,01," ")
- msg(30,12,16,01," ")
- msg(33,17,01,15," zurück ")
- local event, side, X, Y = os.pullEvent("monitor_touch")
- if X >= 33 and X <=40 and Y >= 17 and Y <= 18 and side == side then -- zurück Button
- deutsch1()
- elseif X >= 30 and X <=37 and Y >= 08 and Y <= 12 and side == side then -- OK Button
- count2()
- elseif X >= 01 and X <=40 and Y >= 01 and Y <= 07 and side == side then
- keinbutton2()
- elseif X >= 01 and X <=29 and Y >= 08 and Y <= 12 and side == side then
- keinbutton2()
- elseif X >= 38 and X <=40 and Y >= 08 and Y <= 12 and side == side then
- keinbutton2()
- elseif X >= 01 and X <=40 and Y >= 13 and Y <= 16 and side == side then
- keinbutton2()
- elseif X >= 01 and X <=32 and Y >= 17 and Y <= 18 and side == side then
- keinbutton2()
- end
- end
- function count2()
- firstlayer()
- y = 1
- rednet.send(ID,y)
- x, y, z = rednet.receive()
- if y > 0 then
- firstlayer()
- kosten = y * 0.65
- abziehen = kosten - kosten - kosten
- fertigmenge = y * 8
- msg(01,04,10,16,"Es wurden "..y.." "..anfangsname2.." erkannt.")
- msg(01,05,10,16,"Diese einzutauschen kostet dich "..kosten.."")
- msg(01,06,10,16,"Coins.")
- msg(01,07,10,16,"Du bekommst dafür "..fertigmenge.." "..fertigname..".")
- msg(01,09,10,16,"Möchtest du den Tauschvorgang starten?")
- msg(8,11,1,6," ") msg(23,11,1,15," ")
- msg(8,12,1,6," JA ") msg(23,12,1,15," NEIN ")
- msg(8,13,1,6," ") msg(23,13,1,15," ")
- local event, side, X, Y = os.pullEvent("monitor_touch")
- if X >= 01 and X <=40 and Y >= 01 and Y <= 10 and side == side then
- keinbutton3()
- elseif X >= 01 and X <=07 and Y >= 11 and Y <= 13 and side == side then
- keinbutton3()
- elseif X >= 19 and X <=22 and Y >= 11 and Y <= 13 and side == side then
- keinbutton3()
- elseif X >= 34 and X <=40 and Y >= 11 and Y <= 13 and side == side then
- keinbutton3()
- elseif X >= 01 and X <=40 and Y >= 14 and Y <= 18 and side == side then
- keinbutton3()
- elseif X >= 08 and X <=18 and Y >= 11 and Y <= 13 and side == side then -- klickt JA
- if abziehen > coins then
- msg(01,15,15,16,"du hast zu wenig Coins!")
- sleep(2)
- msg(01,15,16,16," ")
- elseif abziehen <= coins then
- rednet.send(6324, "einzahlen")
- sleep(0.5)
- rednet.send(6324, name)
- sleep(0.5)
- rednet.send(6324, abziehen)
- id, coins, z = rednet.receive()
- y = 1000000 -- Item in den Tradomaten
- rednet.send(ID,y)
- msg(01,1,4,16,"Willkommen " ..name.. " ")
- msg(25,1,6,16,"Coins: " ..coins.. " ")
- msg(01,15,10,16,"Tauschvorgang läuft")
- deutsch1()
- end
- elseif X >= 23 and X <=33 and Y >= 11 and Y <= 13 and side == side then -- Klickt NEIN
- msg(01,15,10,16,"--> Itemrückgabe")
- y = 0 -- Items Zurück
- rednet.send(ID,y)
- sleep(3)
- deutsch1()
- end
- end
- end
- ------- Programm Start -------
- file = fs.open("Player", "r")
- name = file.readLine()
- file.close()
- deutsch1()
Add Comment
Please, Sign In to add comment