View difference between Paste ID: 0X5uMAM6 and v84Q9wC1
SHOW: | | - or go back to the newest paste.
1-
-- BANCOMAT V2 aggiornato 2025 copyright lego11
1+
--BANCOMAT V2 copyright lego11 DIAMANTE
2
--VARIABILI
3
local lbl = "BN Credit"
4-
function clear()
4+
5-
    term.clear()
5+
6-
    term.setCursorPos(1, 1)
6+
function clear() 
7
term.clear()
8
term.setCursorPos(1,1)
9
end
10-
    clear()
10+
11-
    print("Errore di verifica del PIN")
11+
12-
    print("")
12+
13-
    print("Premere un tasto per uscire")
13+
print("Errore di verifica del PIN")
14-
    os.pullEvent("key")
14+
15-
    os.reboot()
15+
print("Premere un tasto per uscire")
16
os.pullEvent("key")
17
os.reboot()
18
end
19-
    clear()
19+
20-
    print("Carta non valida o corrotta.")
20+
21-
    print("")
21+
22-
    print("Premere un tasto per uscire")
22+
23-
    os.pullEvent("key")
23+
print("Carta non valida o corrotta.")
24-
    os.reboot()
24+
25
print("Premere un tasto per uscire")
26
os.pullEvent("key")
27
os.reboot()
28-
    clear()
28+
29-
    print("Carta smagnetizzata o vuota.")
29+
30-
    print("")
30+
31-
    print("Premere un tasto per uscire")
31+
32-
    os.pullEvent("key")
32+
print("Carta smagnetizzata o vuota.")
33-
    os.reboot()
33+
34
print("Premere un tasto per uscire")
35
os.pullEvent("key")
36-
function cartaNoSIB()
36+
37-
    clear()
37+
38-
    print("Carta non in sistema interbancario.")
38+
39-
    print("")
39+
function preleva()
40-
    print("Premere un tasto per uscire")
40+
tabr.t = tab.t
41-
    os.pullEvent("key")
41+
tabr.e = tab.e
42-
    os.reboot()
42+
tabr.p = tab.p
43
tabr.v = tostring(credito - prelievo)
44
45-
function sibFail()
45+
ncr = textutils.serialize(tabr)
46-
    clear()
46+
47-
    print("Errore connessione sistema interbancario")
47+
48-
    print("")
48+
m.beginWrite(ncr,lbl)
49-
    print("Premere un tasto per uscire")
49+
os.pullEvent("mag_write_done")
50-
    os.pullEvent("key")
50+
51-
    os.reboot()
51+
52
53
54-
function cartaVecchia()
54+
m = peripheral.wrap("right") 
55-
    clear()
55+
56-
    print("CARTA NON SICURA. Convertire la carta presso lo sportello situato in:\n")
56+
57-
    print("\n Banco di Nebraska - P.zza Affari 3, New Radeon")
57+
58-
    print("")
58+
59-
    print("Premere un tasto per uscire")
59+
60-
    os.pullEvent("key")
60+
61-
    os.reboot()
61+
62
print("Inserire la carta")
63
m.setInsertCardLight(true)
64-
function preleva(prelievo, uuid)
64+
za,rawcarta = os.pullEvent("mag_swipe")
65-
    clear()
65+
66-
    erogati = 0
66+
67-
    sibRaw = http.get("http://luanet.rgbcraft.com/servlets/carte_debito.php?richiesta=addebito&valore=" .. prelievo ..
67+
68-
                          "&uuid=" .. uuid).readAll()
68+
cartaVuota()
69-
    sib = textutils.unserialize(sibRaw)
69+
70
71-
    if type(sib) ~= "table" then
71+
72-
        print("\n\n\nImpossibile comunicare con il server interbancario")
72+
73-
        sleep(5)
73+
74-
        os.reboot()
74+
cartaNonValida()
75-
    end
75+
76
77-
    if sib.stato == "DI" then
77+
if tab.t ~= "cc" then
78-
        print("Disponibilità insufficiente")
78+
cartaNonValida()
79-
        sleep(5)
79+
80-
    elseif sib.stato ~= "OK" then
80+
81-
        print(
81+
if tab.e ~= "BN" then 
82-
            "\n\n\nLa carta non risulta nel sistema interbancario, potrebbe essere stata disabilitata per uso fraudolento")
82+
cartaNonValida()
83-
        sleep(5)
83+
84-
        os.reboot()
84+
85-
    else
85+
if tab.p ~= "0000" then
86-
        print("Ritirare il denaro")
86+
87-
        print("")
87+
print("Inserire il PIN e premere ENTER")
88-
        for i = prelievo, 1, -64 do
88+
89-
            redstone.setOutput("bottom", true)
89+
local pinUtente = read("#")
90-
            sleep(0.25)
90+
if pinUtente ~= tab.p then
91-
            erogati = erogati + 64
91+
pinErrato()
92-
            print("Erogati " .. erogati .. " IC")
92+
93-
            redstone.setOutput("bottom", false)
93+
94-
        end
94+
95-
        print("")
95+
credito = tonumber(tab.v)
96-
        term.setBackgroundColor(colors.white)
96+
97-
        term.setTextColor(colors.black)
97+
98-
        clear()
98+
print("La carta ha una disponibilità di "..credito.." IC.")
99-
        print("Prelievo effettuato\n")
99+
100-
        print("Tra poco sarà possibile eseguire un'altra operazione.")
100+
print("Per favore scegliere un'opzione utilizzando i tasti numerici e confermare con ENTER:")
101
print("")
102-
        term.setTextColor(colors.white)
102+
print("[1] Preleva   512 IC")
103
print("[2] Preleva  1024 IC")
104-
        shell.run("pastebin get v84Q9wC1 startup2") -- Inserire paste di nPay
104+
print("[3] Preleva  2048 IC")
105-
        if fs.exists("startup2") then
105+
print("[4] Preleva  4096 IC")
106-
            shell.run("rm startup")
106+
print("[5] Preleva 32768 IC")
107-
            shell.run("mv startup2 startup")
107+
print("[6] Preleva 65536 IC")
108-
        end
108+
print("[7] Cambia il PIN")
109-
    end
109+
print("[8] Esci senza prelevare")
110
num=tonumber(read())
111
if num == 1 then
112-
m = peripheral.wrap("right")
112+
prelievo=0
113
if prelievo > credito then
114
clear()
115
print("Disponibilità insufficiente")
116
sleep(5)
117
os.reboot()
118
end
119
clear()
120-
za, rawcarta = os.pullEvent("mag_swipe")
120+
print("Inserire nuovamente la carta per confermare il prelievo")
121
preleva()
122
print("Ritirare il denaro")
123
print("")
124-
    cartaVuota()
124+
redstone.setOutput("bottom", true)
125
sleep(0.25)
126
print("Erogati 512 IC")
127
redstone.setOutput("bottom", false)
128
print("")
129
print("Prelievo effettuato!")
130-
    cartaNonValida()
130+
131
print("Tra poco sarà possibile eseguire un'altra operazione.")
132
sleep(5)
133-
if tab.t == "cc" then
133+
134-
    cartaVecchia()
134+
135
elseif num == 2 then
136
prelievo=512
137-
if tab.t ~= "cd" then
137+
erogati = 0
138-
    cartaNonValida()
138+
if prelievo > credito then
139
clear()
140
print("Disponibilità insufficiente")
141-
if tab.e ~= "BN" then
141+
sleep(5)
142-
    cartaNonValida()
142+
143
end
144
clear()
145-
sibRaw = http.get("http://luanet.rgbcraft.com/servlets/carte_debito.php?richiesta=verifica&uuid=" .. tab.v).readAll()
145+
print("Inserire nuovamente la carta per confermare il prelievo")
146-
sib = textutils.unserialize(sibRaw)
146+
preleva()
147
print("Ritirare il denaro")
148-
if type(sib) ~= "table" then
148+
149-
    sibFail()
149+
for i=prelievo,0,-512 do
150
redstone.setOutput("bottom", true)
151-
if sib.stato ~= "OK" then
151+
sleep(0.25)
152-
    cartaNoSIB()
152+
erogati = erogati + 512
153
print("Erogati "..erogati.." IC")
154
redstone.setOutput("bottom", false)
155-
credito = tonumber(sib.saldo)
155+
156-
carta = string.sub(tostring(tab.v), -4)
156+
157
print("Prelievo effettuato!")
158
print("")
159
print("Tra poco sarà possibile eseguire un'altra operazione.")
160
sleep(5)
161-
    print("La carta *" .. carta .. " ha una disponibilità di " .. credito .. " IC.")
161+
162-
    print("")
162+
 
163-
    print("Per favore scegliere un'opzione utilizzando i tasti numerici e confermare con ENTER:")
163+
elseif num == 3 then
164-
    print("")
164+
prelievo=1536
165-
    print("[1] Preleva   64 IC")
165+
erogati = 0
166-
    print("[2] Preleva  128 IC")
166+
if prelievo > credito then
167-
    print("[3] Preleva  256 IC")
167+
168-
    print("[4] Preleva  512 IC")
168+
print("Disponibilità insufficiente")
169-
    print("[5] Preleva 4096 IC")
169+
sleep(5)
170-
    print("[6] Esci senza prelevare")
170+
171-
    num = tonumber(read())
171+
172-
    if num == 1 then
172+
173-
        preleva(64, tab.v)
173+
print("Inserire nuovamente la carta per confermare il prelievo")
174-
        break
174+
preleva()
175-
    elseif num == 2 then
175+
print("Ritirare il denaro")
176-
        preleva(128, tab.v)
176+
177-
        break
177+
for i=prelievo,0,-512 do
178-
    elseif num == 3 then
178+
redstone.setOutput("bottom", true)
179-
        preleva(256, tab.v)
179+
sleep(0.25)
180-
        break
180+
erogati = erogati + 512
181-
    elseif num == 4 then
181+
print("Erogati "..erogati.." IC")
182-
        preleva(512, tab.v)
182+
redstone.setOutput("bottom", false)
183-
        break
183+
184-
    elseif num == 5 then
184+
185-
        preleva(4096, tab.v)
185+
print("Prelievo effettuato!")
186-
        break
186+
187-
    elseif num == 6 then
187+
188-
        clear()
188+
sleep(5)
189-
        break
189+
190-
    end
190+
191
elseif num == 4 then
192
prelievo=3584
193-
term.setBackgroundColor(colors.white)
193+
erogati = 0
194-
term.setTextColor(colors.black)
194+
if prelievo > credito then
195
clear()
196
print("Disponibilità insufficiente")
197
sleep(5)
198-
term.setTextColor(colors.white)
198+
199
end
200-
shell.run("pastebin get v84Q9wC1 startup2") -- Inserire paste di nPay
200+
201-
if fs.exists("startup2") then
201+
print("Inserire nuovamente la carta per confermare il prelievo")
202-
    shell.run("rm startup")
202+
preleva()
203-
    shell.run("mv startup2 startup")
203+
print("Ritirare il denaro")
204
print("")
205
for i=prelievo,0,-512 do
206
redstone.setOutput("bottom", true)
207-
207+
sleep(0.25)
208
erogati = erogati + 512
209
print("Erogati "..erogati.." IC")
210
redstone.setOutput("bottom", false)
211
end
212
print("")
213
print("Prelievo effettuato!")
214
print("")
215
print("Tra poco sarà possibile eseguire un'altra operazione.")
216
sleep(5)
217
os.reboot()
218
219
elseif num == 5 then
220
prelievo=32256
221
erogati = 0
222
if prelievo > credito then
223
clear()
224
print("Disponibilità insufficiente")
225
sleep(5)
226
os.reboot()
227
end
228
clear()
229
print("Inserire nuovamente la carta per confermare il prelievo")
230
preleva()
231
print("Ritirare il denaro")
232
print("")
233
for i=prelievo,0,-512 do
234
redstone.setOutput("bottom", true)
235
sleep(0.25)
236
erogati = erogati + 512
237
print("Erogati "..erogati.." IC")
238
redstone.setOutput("bottom", false)
239
end
240
print("")
241
print("Prelievo effettuato!")
242
print("")
243
print("Tra poco sarà possibile eseguire un'altra operazione.")
244
sleep(5)
245
os.reboot()
246
247
elseif num == 6 then
248
prelievo=65024
249
erogati = 0
250
if prelievo > credito then
251
clear()
252
print("Disponibilità insufficiente")
253
sleep(5)
254
os.reboot()
255
end
256
clear()
257
print("Inserire nuovamente la carta per confermare il prelievo")
258
preleva()
259
print("Ritirare il denaro")
260
print("")
261
for i=prelievo,0,-512 do
262
redstone.setOutput("bottom", true)
263
sleep(0.25)
264
erogati = erogati + 512
265
print("Erogati "..erogati.." IC")
266
redstone.setOutput("bottom", false)
267
end
268
print("")
269
print("Prelievo effettuato!")
270
print("")
271
print("Tra poco sarà possibile eseguire un'altra operazione.")
272
sleep(5)
273
os.reboot()
274
275
elseif num == 7 then
276
clear()
277
print("Cambio PIN della carta di credito")
278
print("")
279
print("Nota: Impostare il PIN a '0000' per disabilitarlo")
280
print("")
281
print("Inserire il PIN e premere ENTER:")
282
tab.p = read("#")
283
clear()
284
print("Inserire la carta per confermare il cambiamento")
285
prelievo=0
286
preleva()
287
print("")
288
if tab.p == "0000" then
289
print("PIN disabilitato correttamente")
290
else
291
print("PIN cambiato correttamente")
292
end
293
print("")
294
print("Premere un tasto qualsiasi per ritorare al menu' principale")
295
os.pullEvent("key")
296
elseif num == 8 then clear() break end
297
clear()
298
sleep(2)
299
clear()
300
end
301
clear()
302
print("Tra poco sarà possibile eseguire un'altra operazione.")
303
sleep(1)
304
os.reboot()