View difference between Paste ID: CsXbhi2U and wuG3RpPd
SHOW: | | - or go back to the newest paste.
1
os.loadAPI("ocs/apis/sensor")
2
local s = sensor.wrap("front")
3
side = "top"
4
mon = peripheral.wrap(side)
5
mon.setBackgroundColor(32768)
6
mon.setTextScale(1.5)
7
mon.clear()
8
9
function calc_color(color)
10
    return math.pow(2, color - 1)
11
end
12
 
13
function msg(gap, line, color, groundb, text) 
14
    mon.setBackgroundColor(calc_color(groundb))
15
    mon.setCursorPos(gap,line)
16
    mon.setTextColor(calc_color(color))
17
    text = mon.write(text)
18
end  
19
20
function stufenscreen()
21
	for i = 1,13 do -- monitor clear
22
		msg(01,i,01,16,"                                                         ")
23
	end
24
25
	for name,info in pairs(s.getTargets()) do	--name erkennen
26
		local file = fs.open("stufe/" ..name.. "/", "r") -- lese Stufe aus
27
    	local stufe = file.readLine()
28
   		file.close()
29
30-
		msg(01,01,02,16," Willkommen "..name.."                                   ")
30+
		msg(01,01,02,16," Welcome "..name.."                                   ")
31
		msg(01,02,05,16,"---------------------------------+-----------------------")
32-
		msg(01,03,09,16,"Es gibst die Stufen 1 bis 5.")
32+
		msg(01,03,09,16,"There are levels 1 to 5.")
33-
		msg(01,04,09,16,"Minuten * Stufe * 10 = UU-Matter")
33+
		msg(01,04,09,16,"Minutes * Level * 10 = UU-Matter")
34-
		msg(01,05,09,16,"Bsp: 20 *   3   * 10 = 600 UU")
34+
		msg(01,05,09,16,"E.g: 20 *   3   * 10 = 600 UU")
35-
		msg(01,06,06,16,"Deine Stufe: "..stufe.."                                 ")
35+
		msg(01,06,06,16,"Your Level: "..stufe.."                                 ")
36-
		msg(01,07,09,16,"Lege HVs links ins ME, und dråBCck")
36+
		msg(01,07,09,16,"Put HVs in the ME on your left")
37-
		msg(01,08,09,16,"Start, die HVs bekommst du wieder")
37+
		msg(01,08,09,16,"to increase your level, you keep")
38-
		msg(01,10,10,16," Stufe 2 ab 04 HVs") 
38+
        msg(01,09,09,16,"them back afterwards.")
39-
		msg(01,11,10,16," Stufe 3 ab 08 HVs") msg(21,10,15,09,"           ")
39+
		msg(01,10,10,16,"Level 2 with 04 HV") 
40-
		msg(01,12,10,16," Stufe 4 ab 12 HVs") msg(21,11,15,09,"   START   ")
40+
		msg(01,11,10,16,"Level 3 with 08 HV") msg(21,10,15,09,"           ")
41-
		msg(01,13,10,16," Stufe 5 ab 16 HVs") msg(21,12,15,09,"           ")
41+
		msg(01,12,10,16,"Level 4 with 12 HV") msg(21,11,15,09,"   START   ")
42
		msg(01,13,10,16,"Level 5 with 16 HV") msg(21,12,15,09,"           ")
43
											  
44
45
		local event, side, X, Y = os.pullEvent("monitor_touch") -- zuråBCck zu Screen1
46
		if X >= 21 and X <= 50 and Y >= 10 and Y <= 12 and side == side then -- Stufe åA4ndern
47
			rednet.open("bottom")
48
			rednet.send(9941,1)
49
			x, y, z = rednet.receive()
50
			stufe = tonumber(stufe)
51
			if y == 1 then
52
				sleep(0.5)
53
			elseif y == 2 and stufe == 1 then
54
				local file = fs.open("stufe/" ..name.. "/", "w")
55
				file.write("2")
56
				file.close()
57
			elseif y == 3 and stufe <= 2 then
58
				local file = fs.open("stufe/" ..name.. "/", "w")
59
				file.write("3")
60
				file.close()
61
			elseif y == 4 and stufe <= 3 then
62
				local file = fs.open("stufe/" ..name.. "/", "w")
63
				file.write("4")
64
				file.close()
65
			elseif y == 5 and stufe <= 4 then
66
				local file = fs.open("stufe/" ..name.. "/", "w")
67
				file.write("5")
68
				file.close()
69
			end
70
			screen3()
71
		end
72
	end
73
end
74
75
function screen3()
76
	for name,info in pairs(s.getTargets()) do	--name erkennen
77
		local file = fs.open("users/" ..name.. "/", "r") -- lese Minuten aus
78
    	local minu = file.readLine()
79
   		file.close()
80
		local file = fs.open("stufe/" ..name.. "/", "r") -- lese Stufe aus
81
    	local stufe = file.readLine()
82
   		file.close()
83
		minu = tonumber(minu)
84
85
		if stufe == "1" then
86
			faktor1 = 10
87
			faktor2 = 100
88
		elseif stufe == "2" then
89
			faktor1 = 20
90
			faktor2 = 200
91
		elseif stufe == "3" then
92
			faktor1 = 30
93
			faktor2 = 300
94
		elseif stufe == "4" then
95
			faktor1 = 40
96
			faktor2 = 400
97
		elseif stufe == "5" then
98
			faktor1 = 50
99
			faktor2 = 500
100
		end
101
---------------------------------------------------------------
102
		term.setCursorPos(1,3)
103
		term.write("Stufe: "..stufe)
104
		term.setCursorPos(1,4)
105
		term.write("                          ")
106
		term.setCursorPos(1,4)
107
		term.write("Abzug in Minuten: "..minuten)
108
		term.setCursorPos(1,5)
109
		term.write("                          ")
110
		term.setCursorPos(1,5)
111
		term.write("Auszahlung in UU: "..uumatter)		
112
---------------------------------------------------------------
113
		for i = 1,13 do -- monitor clear
114
			msg(01,i,01,16,"                                                         ")
115
		end
116-
		msg(01,01,02,16," Willkommen "..name.."                                   ")	-- Screen3
116+
117
		msg(01,01,02,16," Welcome "..name.."                                   ")	-- Screen3
118-
		msg(01,03,06,16,"Stufe: "..stufe.."   Minuten: "..minu.."                 ")
118+
119
		msg(01,03,06,16,"Level: "..stufe.."   Minutes: "..minu.."                 ")
120-
		msg(01,05,10,16,"Klick hier zum åA4ndern der Stufe.                         ")
120+
121
		msg(01,05,10,16,"click here to change level.                              ")
122-
		msg(01,07,09,16,"Auszahlmenge wåA4hlen:                                     ")
122+
123
		msg(01,07,09,16,"select payout amount:                                     ")
124
		msg(05,08,01,06,"+1 ")    msg(12,08,01,06,"+10")
125
		msg(20,08,01,15,"-1 ")    msg(27,08,01,15,"-10")
126-
		msg(01,10,06,16,"Minuten: "..minuten.."   UU-Matter: "..uumatter.."       ")
126+
127
		msg(01,10,06,16,"Minutes: "..minuten.."   UU-Matter: "..uumatter.."       ")
128-
		msg(01,12,09,08," StartmenåBC åB6ffnen ")  msg(20,12,15,09," UU-auszahlen     ")
128+
129-
		msg(01,13,09,08," -> klick hier <- ")  msg(20,13,15,09,"                  ")
129+
		msg(01,12,09,08," open start menu  ")  msg(20,12,15,09," UU - pay out     ")
130
		msg(01,13,09,08," -> click here <- ")  msg(20,13,15,09,"  click here      ")
131
        for x = 12,13 do
132
			msg(19,x,05,16,"|")   
133
		end
134
                                        
135
		local event, side, X, Y = os.pullEvent("monitor_touch") -- zuråBCck zu Screen1
136
		if X >= 05 and X <= 07 and Y == 8 and side == side then -- +1
137
			if minuten < minu then
138
				minuten = minuten + 1
139
				uumatter = uumatter + faktor1
140
				screen3()
141
			else
142
				screen3()
143
			end
144
		elseif X >= 12 and X <= 15 and Y == 8 and side == side then -- +10
145
			if minuten + 11 <= minu then
146
				minuten = minuten + 10
147
				uumatter = uumatter + faktor2
148
				screen3()
149
			else
150
				screen3()
151
			end
152
		elseif X >= 20 and X <= 22 and Y == 8 and side == side and minuten >= 01 then -- -1
153
			minuten = minuten - 1
154
			uumatter = uumatter - faktor1
155
			screen3()
156
		elseif X >= 27 and X <= 29 and Y == 8 and side == side and minuten >= 10 then -- -10
157
			minuten = minuten - 10
158
			uumatter = uumatter - faktor2
159
			screen3()
160
    	elseif X >= 01 and X <= 18 and Y >= 12 and Y <= 13 and side == side then -- neustart
161
			shell.run("startup")
162
		elseif X >= 20 and X <= 50 and Y >= 12 and Y <= 13 and side == side then -- UU auszahlen
163
			rednet.open("bottom")
164
			rednet.send(9938,uumatter)
165
			minu = minu - minuten
166
			local file = fs.open("users/" ..name.. "/", "w")
167
			file.write(minu)
168
			file.close()
169-
			msg(01,10,06,16,"Auszahlung låA4uft, (ME System) ->")
169+
170
			msg(01,10,06,16,"payout in progress (ME System)->  ")
171
			sleep(1.5)
172
		elseif X >= 1 and X <= 50 and Y == 5 and side == side then -- Steufe åA4ndern
173
			stufenscreen()
174
		else
175
			screen3()
176
		end
177
	end
178
end
179
180
181
		
182
183
while true do
184-
		msg(01,01,02,16," Willkommen "..name.."                                   ")
184+
185
		msg(01,01,02,16," Welcome "..name.."                                   ")
186
187
		if fs.exists("users/" ..name) == false then				--erstelle Minuten
188
  			local file = fs.open("users/" ..name.. "/", "w")
189
			file.write("0")
190
			file.close()
191
		end
192
		if fs.exists("stufe/" ..name) == false then				--erstelle Stufe
193
  			local file = fs.open("stufe/" ..name.. "/", "w")
194
			file.write("1")
195
			file.close()
196
		end
197
198
		if rs.getInput("left", true) then		--druckplatte erkennen
199
			local file = fs.open("users/" ..name.. "/", "r")		--lese Minuten aus
200
    		local minu = file.readLine()
201
   			file.close()
202
203-
			msg(16,03,06,16," "..minu.." Minuten                                      ")
203+
204
			msg(16,03,06,16," "..minu.." Minutes                                      ")
205
			msg(01,04,05,16,"---------------------------------------------------------")
206
			msg(01,05,09,16,"                                                         ")
207
			msg(01,06,09,16,"                                                         ")
208-
			msg(01,05,09,16,"Es wird alle 60 Sekunden                                 ")
208+
209-
			msg(01,06,09,16,"åBCberpråBCft, ob du noch auf der                            ")
209+
			msg(01,05,09,16,"It is checked every 60 seconds                           ")
210-
			msg(01,07,09,16,"Druckplatte stehst.                                      ")
210+
			msg(01,06,09,16,"whether you are still standing                           ")
211
			msg(01,07,09,16,"on the pressure plate.                                   ")
212-
			msg(01,09,09,16,"Erhaltene Minuten werden solange                         ")
212+
213-
			msg(01,10,09,16,"gespeichert bis man diese einlåB6st                        ")
213+
			msg(01,09,09,16,"received minutes are saved                               ")
214
			msg(01,10,09,16,"until they are redeemed.                                 ")
215
			msg(01,11,05,16,"---------------------------------------------------------")
216
			msg(01,12,09,16,"                                                         ")
217
			msg(01,13,09,16,"                                                         ")
218
219-
				msg(01,03,06,16," "..sek.." Sekunden ")
219+
220
				msg(01,03,06,16," "..sek.." Secondes ")
221
				sleep(1)
222
				if sek == 60 then	--wenn 60 dann zåA4hl +1 Minuten
223-
					msg(16,03,06,16," "..minu..".0 Minuten   ")
223+
224
					msg(16,03,06,16," "..minu..".0 Minutes   ")
225
    				local file = fs.open("users/" ..name.. "/", "w")	--neue Minuten speichern
226
    				file.write(minu)
227
   					file.close()
228
				end
229
			end
230
		else 
231
			msg(01,02,05,16,"---------------------------------------------------------")	--Screen1
232
			msg(01,03,06,16,"                                                         ")
233
			msg(01,04,05,16,"---------------------------------------------------------")
234
			msg(01,05,09,16,"                                                         ")
235
			msg(01,06,09,16,"                                                         ")
236-
			msg(01,05,09,16,"Kein Spieler auf der Druckplatte                         ")
236+
237-
			msg(01,06,09,16,"erkannt, zum starten der ZåA4hlung                         ")
237+
			msg(01,05,09,16,"No player detected on                                    ")
238-
			msg(01,07,09,16,"auf die Druckplatte stellen.                             ")		
238+
			msg(01,06,09,16,"pressure plate, stand on pressure                        ")
239
			msg(01,07,09,16,"plate to start count.                                    ")		
240-
			msg(01,09,09,16,"Erhaltene Minuten werden solange                         ")
240+
241-
			msg(01,10,09,16,"gespeichert bis man diese einlåB6st                        ")
241+
			msg(01,09,09,16,"received minutes are saved                               ")
242
			msg(01,10,09,16,"until they are redeemed.                                 ")
243-
			msg(01,12,09,16,"     AuszahlmenåBC åB6ffnen      --->                        ")
243+
244
			msg(01,12,09,16,"       open payment menu     --->                        ")
245
			msg(01,13,09,16,"                                                         ")
246
		end
247
248
		if rs.getInput("right", true) then	--åB6ffnen Auszahlscreen		
249
			minuten = 0.0
250
			uumatter = 0.0
251
			screen3()
252
		end		
253
	end
254
	sleep(1)
255
end