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 |