Guest User

startup

a guest
Jan 31st, 2022
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 14.23 KB | None | 0 0
  1. --Versamenti MINERALI
  2. local maxw, maxh = term.getSize()
  3.  
  4. --vuota il bancomat
  5. ben = peripheral.wrap("back")
  6. ben.getAvailableItems()
  7. i,j = os.pullEvent("available_items_return")
  8.  
  9. refTurquoise = 0
  10. refOnyx = 0
  11. refAmethyst = 0
  12. refCitrine = 0
  13. refEmerald = 0
  14. refRuby = 0
  15. refSapphire = 0
  16. platinum = 0
  17. gold = 0
  18. iridium = 0
  19. diamond = 0
  20.  
  21. refTurquoiseID = ben.getItemIdentifierIDFor(31184, 7)
  22. refOnyxID = ben.getItemIdentifierIDFor(31184, 8)
  23. refAmethystID = ben.getItemIdentifierIDFor(31184, 9)
  24. refCitrineID = ben.getItemIdentifierIDFor(31184, 10)
  25. refEmeraldID = ben.getItemIdentifierIDFor(31184, 11)
  26. refRubyID = ben.getItemIdentifierIDFor(31184, 12)
  27. refSapphireID = ben.getItemIdentifierIDFor(31184, 13)
  28.  
  29. platinumID = ben.getItemIdentifierIDFor(21256, 27)
  30. goldID = ben.getItemIdentifierIDFor(266, 0)
  31. iridiumID = ben.getItemIdentifierIDFor(21256, 16)
  32. diamondID = ben.getItemIdentifierIDFor(264, 0)
  33.  
  34.  
  35. for k,v in pairs(j) do
  36.    if v[1] == refTurquoiseID then
  37.      refTurquoise = v[2]
  38.      ben.makeRequest(refTurquoiseID, v[2])
  39.  
  40.    elseif v[1] == refOnyxID then
  41.      refOnyx = v[2]
  42.      ben.makeRequest(refOnyxID, v[2])
  43.  
  44.    elseif v[1] == refAmethystID then
  45.      refAmethyst = v[2]
  46.      ben.makeRequest(refAmethystID, v[2])
  47.  
  48.    elseif v[1] == refCitrineID then
  49.      refCitrine = v[2]
  50.      ben.makeRequest(refCitrineID, v[2])
  51.  
  52.    elseif v[1] == refEmeraldID then
  53.      refEmerald = v[2]
  54.      ben.makeRequest(refEmeraldID, v[2])
  55.        
  56.    elseif v[1] == refRubyID then
  57.      refRuby = v[2]
  58.      ben.makeRequest(refRubyID, v[2])
  59.  
  60.    elseif v[1] == refSapphireID then
  61.      refSapphire = v[2]
  62.      ben.makeRequest(refSapphireID, v[2])
  63.        
  64.    elseif v[1] == platinumID then
  65.      platinum = v[2]
  66.      ben.makeRequest(platinumID, v[2])        
  67.        
  68.    elseif v[1] == goldID then
  69.      gold = v[2]
  70.      ben.makeRequest(goldID, v[2])
  71.  
  72.    elseif v[1] == iridiumID then
  73.      iridium = v[2]
  74.      ben.makeRequest(iridiumID, v[2])
  75.        
  76.    elseif v[1] == diamondID then
  77.      diamond = v[2]
  78.      ben.makeRequest(diamondID, v[2])
  79.  
  80.     end
  81.    sleep(0.1)
  82. end
  83.  
  84. ben.getAvailableItems()
  85. i,j = os.pullEvent("available_items_return")
  86.  
  87. refTurquoiseID = ben.getItemIdentifierIDFor(31184, 7)
  88. refOnyxID = ben.getItemIdentifierIDFor(31184, 8)
  89. refAmethystID = ben.getItemIdentifierIDFor(31184, 9)
  90. refCitrineID = ben.getItemIdentifierIDFor(31184, 10)
  91. refEmeraldID = ben.getItemIdentifierIDFor(31184, 11)
  92. refRubyID = ben.getItemIdentifierIDFor(31184, 12)
  93. refSapphireID = ben.getItemIdentifierIDFor(31184, 13)
  94.  
  95. platinumID = ben.getItemIdentifierIDFor(21256, 7)
  96. goldID = ben.getItemIdentifierIDFor(266, 0)
  97. iridiumID = ben.getItemIdentifierIDFor(21256, 16)
  98. diamondID = ben.getItemIdentifierIDFor(264, 0)
  99.  
  100. for k,v in pairs(j) do
  101.    if v[1] == refTurquoiseID then
  102.      refTurquoise = v[2]
  103.      ben.makeRequest(refTurquoiseID, v[2])
  104.  
  105.    elseif v[1] == refOnyxID then
  106.      refOnyx = v[2]
  107.      ben.makeRequest(refOnyxID, v[2])
  108.  
  109.    elseif v[1] == refAmethystID then
  110.      refAmethyst = v[2]
  111.      ben.makeRequest(refAmethystID, v[2])
  112.  
  113.    elseif v[1] == refCitrineID then
  114.      refCitrine = v[2]
  115.      ben.makeRequest(refCitrineID, v[2])
  116.  
  117.    elseif v[1] == refEmeraldID then
  118.      refEmerald = v[2]
  119.      ben.makeRequest(refEmeraldID, v[2])
  120.        
  121.    elseif v[1] == refRubyID then
  122.      refRuby = v[2]
  123.      ben.makeRequest(refRubyID, v[2])
  124.  
  125.    elseif v[1] == refSapphireID then
  126.      refSapphire = v[2]
  127.      ben.makeRequest(refSapphireID, v[2])
  128.        
  129.    elseif v[1] == platinumID then
  130.      platinum = v[2]
  131.      ben.makeRequest(platinumID, v[2])        
  132.        
  133.    elseif v[1] == goldID then
  134.      gold = v[2]
  135.      ben.makeRequest(goldID, v[2])
  136.  
  137.    elseif v[1] == iridiumID then
  138.      iridium = v[2]
  139.      ben.makeRequest(iridiumID, v[2])
  140.        
  141.    elseif v[1] == diamondID then
  142.      diamond = v[2]
  143.      ben.makeRequest(diamondID, v[2])
  144.  
  145.     end
  146.    sleep(0.1)
  147. end
  148.  
  149.  
  150. function clear()
  151. term.clear()
  152. term.setCursorPos(1,1)
  153. end
  154.  
  155.  
  156. if platinum ~= 0 or gold ~= 0 or iridium ~= 0 or diamond ~= 0 or refTurquoise ~= 0 or refOnyx ~= 0 or refAmethyst ~= 0 or refCitrine ~= 0 or refEmerald ~= 0 or refSapphire ~= 0 then
  157.     clear()
  158.     print("Bancomat temporaneamente non disponibile")
  159.     sleep(60)
  160.     os.reboot()
  161. end
  162.  
  163. function clear()
  164.     term.clear()
  165.     term.setCursorPos(1, 1)
  166. end
  167.  
  168. function clearRed()
  169.     sfondo(colors.red)
  170.     term.clear()
  171.     term.setCursorPos(1, 1)
  172. end
  173.  
  174. function colore(sfumatura) term.setTextColour(sfumatura) end
  175.  
  176. function sfondo(sfumaturaSfondo) term.setBackgroundColour(sfumaturaSfondo) end
  177.  
  178. function fineColore() term.setTextColour(colours.white) end
  179.  
  180. function fineSfondo() term.setBackgroundColour(colours.black) end
  181.  
  182.  
  183. -- IMPLEMENTAZIONE DEL DRAWFILLEDBOX
  184. local function drawPixelInternal(xPos, yPos)
  185.     term.setCursorPos(xPos, yPos)
  186.     term.write(" ")
  187. end
  188.  
  189. local tColourLookup = {}
  190. for n = 1, 16 do
  191.     tColourLookup[string.byte("0123456789abcdef", n, n)] = 2 ^ (n - 1)
  192. end
  193.  
  194. function drawFilledBox(startX, startY, endX, endY, nColour)
  195.     if type(startX) ~= "number" or type(startX) ~= "number" or type(endX) ~=
  196.         "number" or type(endY) ~= "number" or
  197.         (nColour ~= nil and type(nColour) ~= "number") then
  198.         error("Expected startX, startY, endX, endY, colour", 2)
  199.     end
  200.  
  201.     startX = math.floor(startX)
  202.     startY = math.floor(startY)
  203.     endX = math.floor(endX)
  204.     endY = math.floor(endY)
  205.  
  206.     if nColour then term.setBackgroundColor(nColour) end
  207.     if startX == endX and startY == endY then
  208.         drawPixelInternal(startX, startY)
  209.         return
  210.     end
  211.  
  212.     local minX = math.min(startX, endX)
  213.     if minX == startX then
  214.         minY = startY
  215.         maxX = endX
  216.         maxY = endY
  217.     else
  218.         minY = endY
  219.         maxX = startX
  220.         maxY = startY
  221.     end
  222.  
  223.     for x = minX, maxX do for y = minY, maxY do drawPixelInternal(x, y) end end
  224. end
  225.  
  226.  
  227. function titolo(testo)
  228.     drawFilledBox(1, 1, maxw, 1, colors.yellow)
  229.     term.setCursorPos((maxw - #testo) / 2, 1)
  230.     colore(colors.black)
  231.     term.write(testo)
  232.     sfondo(colors.blue)
  233. end
  234.  
  235. function errore(errore)
  236.     sfondo(colors.red)
  237.     colore(colors.white)
  238.     term.clear()
  239.     term.setCursorPos(1, 1)
  240.     titolo("Errore irreversibile")
  241.     term.setCursorPos(1, 3)
  242.     sfondo(colors.red)
  243.     colore(colors.white)
  244.     print(errore)
  245.     print("\n\n\nAttendere qualche secondo...")
  246.     os.sleep(5)
  247.     os.reboot()
  248. end
  249.  
  250. clear()
  251. print("Banco di NEBRASKA - Sistema MINERALI")
  252. print("")
  253. print("Premere un tasto per iniziare l'operazione")
  254. event = os.pullEvent()
  255.  
  256.     sfondo(colours.blue)
  257.     term.clear()
  258.     term.setCursorPos(1, 1)
  259.     titolo("Accredita su Nebraska Pay")
  260.     sfondo(colours.blue)
  261.     colore(colors.white)
  262.     print(
  263.         "\n\nInserire i propri dati. Premere Enter per confermare i dati inseriti. \nSe i dati sono corretti, il campo diventeråA0 verde. Se sono errati, il programma chiederåA0 di reinserirli nuovamente.")
  264.  
  265.     -- nomeutente
  266.     term.setCursorPos(1, 9)
  267.     term.write("Nome utente:")
  268.     term.setCursorPos(15, 9)
  269.     fineColore()
  270.     utenteAccettato = false
  271.     conteggioErrori = 0
  272.     while utenteAccettato == false do
  273.         utente = read()
  274.         checkuser = http.get(
  275.                         "http://172.16.20.220/luanet/servlets/nebraskapay.php?auth=no&richiesta=verifica&utente=" ..
  276.                             utente).readAll()
  277.         tabcheckuser = textutils.unserialize(checkuser)
  278.         if tabcheckuser.stato == "OK" then
  279.             term.setCursorPos(15, 9)
  280.             colore(colours.lime)
  281.             term.write(utente)
  282.             fineColore()
  283.             utenteAccettato = true
  284.         else
  285.             term.setCursorPos(15, 9)
  286.             colore(colours.red)
  287.             term.write("Utente errato!          ")
  288.             sleep(2)
  289.             term.setCursorPos(15, 9)
  290.             fineColore()
  291.             term.write("                       ")
  292.             term.setCursorPos(15, 9)
  293.             conteggioErrori = conteggioErrori + 1
  294.             if conteggioErrori > 2 then
  295.                 term.setCursorPos(15, 9)
  296.                 colore(colours.red)
  297.                 errore("Troppi tentativi di immissione errati    ")
  298.             end
  299.         end
  300.     end
  301.     colore(colours.white)
  302.     term.setCursorPos(1, 11)
  303.     term.write("Password:")
  304.     term.setCursorPos(15, 11)
  305.     conteggioErrori = 0
  306.     passAccettata = false
  307.     while passAccettata == false do
  308.         fineColore()
  309.         password = read("#")
  310.         colore(colours.black)
  311.         checkuser = http.get(
  312.                         "http://172.16.20.220/luanet/servlets/nebraskapay.php?auth=" ..
  313.                             password .. "&richiesta=addebito&valore=0&utente=" ..
  314.                             utente).readAll()
  315.         risposta = textutils.unserialize(checkuser)
  316.         if risposta.stato == "OK" then
  317.             term.setCursorPos(15, 11)
  318.             colore(colours.lime)
  319.             term.write("##############               ")
  320.             fineColore()
  321.             passAccettata = true
  322.         else
  323.             term.setCursorPos(15, 11)
  324.             colore(colours.red)
  325.             term.write("Password errata!            ")
  326.             conteggioErrori = conteggioErrori + 1
  327.             sleep(2)
  328.             term.setCursorPos(15, 11)
  329.             term.write("                               ")
  330.             term.setCursorPos(15, 11)
  331.             if conteggioErrori > 2 then
  332.                 term.setCursorPos(15, 11)
  333.                 colore(colours.red)
  334.                 errore("Troppi tentativi di immissione errati")
  335.             end
  336.         end
  337.     end
  338. metodoPagamento = "NPAY"
  339. credito = tonumber(risposta.saldo)
  340. clear()
  341.  
  342. while true do
  343. print("Il conto ha un saldo di "..credito.." IC.")
  344. print("")
  345. print("Per favore scegliere un'opzione utilizzando i tasti numerici e confermare con ENTER:")
  346. print("")
  347. print("[1] Versare dei minerali")
  348. print("[2] Annullare il versamento")
  349.  
  350. num=tonumber(read())
  351. if num == 1 then
  352.  
  353. clear()
  354. redstone.setOutput("left", true)
  355. print("Posizionare il vagone sullo scarico")
  356. print("")
  357. print("AVVERTENZA IMPORTANTE:")
  358. print("Inserire SOLO questi minerali:")
  359. print("Refined Turquoise, Onyx, Ametyhst, Citrine, Emerald, Ruby, Sapphire")
  360. print("Platinum Ingot, Gold Ingot, Iridium Ingot, Diamond")
  361. print("")
  362. print("NON RIAVVIARE IL COMPUTER O SI PERDERA' IL VERSAMENTO")
  363. print("")
  364. print("Quando si åA8 pronti per continuare, premere un tasto qualsiasi.")
  365. os.pullEvent("key")
  366.  
  367. clear()
  368.  
  369. redstone.setOutput("left", false)
  370.  
  371. print("Conteggio minerali in corso...")
  372.  
  373. term.setCursorPos(3, 3)
  374. term.write("*---")
  375. sleep(0.5)
  376. term.setCursorPos(3, 3)
  377. term.write("-*--")
  378. sleep(0.5)
  379. term.setCursorPos(3, 3)
  380. term.write("--*-")
  381. sleep(0.5)
  382. term.setCursorPos(3, 3)
  383. term.write("---*")
  384. sleep(0.5)
  385. term.setCursorPos(3, 3)
  386. term.write("--*-")
  387. sleep(0.5)
  388. term.setCursorPos(3, 3)
  389. term.write("-*--")
  390. sleep(0.5)
  391. term.setCursorPos(3, 3)
  392. term.write("*---")
  393. sleep(0.5)
  394.  
  395. ben = peripheral.wrap("back")
  396. ben.getAvailableItems()
  397. i,j = os.pullEvent("available_items_return")
  398.  
  399. clear()
  400.  
  401. refTurquoiseID = ben.getItemIdentifierIDFor(31184, 7)
  402. refOnyxID = ben.getItemIdentifierIDFor(31184, 8)
  403. refAmethystID = ben.getItemIdentifierIDFor(31184, 9)
  404. refCitrineID = ben.getItemIdentifierIDFor(31184, 10)
  405. refEmeraldID = ben.getItemIdentifierIDFor(31184, 11)
  406. refRubyID = ben.getItemIdentifierIDFor(31184, 12)
  407. refSapphireID = ben.getItemIdentifierIDFor(31184, 13)
  408. platinumID = ben.getItemIdentifierIDFor(21256, 7)
  409. goldID = ben.getItemIdentifierIDFor(266, 0)
  410. iridiumID = ben.getItemIdentifierIDFor(21256, 16)
  411. diamondID = ben.getItemIdentifierIDFor(264, 0)
  412.  
  413. for k,v in pairs(j) do
  414.    if v[1] == refTurquoiseID then
  415.      refTurquoise = v[2]
  416.      ben.makeRequest(refTurquoiseID, v[2])
  417.  
  418.    elseif v[1] == refOnyxID then
  419.      refOnyx = v[2]
  420.      ben.makeRequest(refOnyxID, v[2])
  421.  
  422.    elseif v[1] == refAmethystID then
  423.      refAmethyst = v[2]
  424.      ben.makeRequest(refAmethystID, v[2])
  425.  
  426.    elseif v[1] == refCitrineID then
  427.      refCitrine = v[2]
  428.      ben.makeRequest(refCitrineID, v[2])
  429.  
  430.    elseif v[1] == refEmeraldID then
  431.      refEmerald = v[2]
  432.      ben.makeRequest(refEmeraldID, v[2])
  433.        
  434.    elseif v[1] == refRubyID then
  435.      refRuby = v[2]
  436.      ben.makeRequest(refRubyID, v[2])
  437.  
  438.    elseif v[1] == refSapphireID then
  439.      refSapphire = v[2]
  440.      ben.makeRequest(refSapphireID, v[2])
  441.        
  442.    elseif v[1] == platinumID then
  443.      platinum = v[2]
  444.      ben.makeRequest(platinumID, v[2])        
  445.        
  446.    elseif v[1] == goldID then
  447.      gold = v[2]
  448.      ben.makeRequest(goldID, v[2])
  449.  
  450.    elseif v[1] == iridiumID then
  451.      iridium = v[2]
  452.      ben.makeRequest(iridiumID, v[2])
  453.        
  454.    elseif v[1] == diamondID then
  455.      diamond = v[2]
  456.      ben.makeRequest(diamondID, v[2])
  457.  
  458.     end
  459.    sleep(0.1)
  460. end
  461.        
  462. refTurquoiseIC = refTurquoise * 0.5
  463. refOnyxIC = refOnyx * 0.5
  464. refAmethystIC = refAmethyst * 0.25
  465. refCitrineIC = refCitrine * 0.5
  466. refEmeraldIC = refEmerald * 0.5
  467. refRubyIC = refRuby * 0.25
  468. refSapphireIC = refSapphire * 0.5
  469. platinumIC = platinum * 0.31
  470. goldIC = gold * 2
  471. iridiumIC = iridium * 5
  472. diamondIC = diamond * 6.4
  473.  
  474. contanti = refTurquoiseIC + refOnyxIC + refAmethystIC + refCitrineIC + refEmeraldIC + refRubyIC + platinumIC + iridiumIC + goldIC + diamondIC
  475.  
  476.  
  477. print("Totale versato: "..contanti.." IC")
  478. print("")
  479.             inviaDenaro = http.get(
  480.                               "http://172.16.20.220/luanet/servlets/nebraskapay.php?auth=" ..
  481.                                   password .. "&utente=" .. utente ..
  482.                                   "&richiesta=accredito&valore=" .. contanti).readAll()
  483.             risultatoInvio = textutils.unserialize(inviaDenaro)
  484.             if risultatoInvio.stato == "OK" then
  485.                 colore(colors.white)
  486.             else
  487.                 clear()
  488.                 errore("Errore durante il pagamento")
  489.                 sleep(5)
  490.                 os.reboot()
  491.             end
  492. inviaFisco = http.get("http://172.16.20.220/luanet/servlets/fisco.php?msg=" .. contanti .. "%20IC%20-%20" .. utente)
  493. sleep(1)
  494. clear()
  495. print("Denaro versato.")
  496. print("")
  497. print("")
  498. print("Grazie!")
  499. sleep(1)
  500. term.setTextColor(colors.black)
  501. shell.run("rm startup")
  502. shell.run("pastebin get XGkJBpXJ startup")
  503. os.reboot()
  504. elseif num == 2 then clear() break end
  505. end
  506. clear()
  507. print("Attendere")
  508. term.setTextColor(colors.black)
  509. shell.run("rm startup")
  510. shell.run("pastebin get XGkJBpXJ startup")
  511. os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment