lego11

Accredito V2

May 14th, 2018
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. --Accredito POS V2 lego11
  2.  
  3. --VARIABILI
  4. local lbl = "BN Credit"
  5. local tabr = {}
  6. local mon = peripheral.wrap("left")
  7.  
  8. mon.setTextScale(0.5)
  9.  
  10. function clear()
  11. term.clear()
  12. term.setCursorPos(1,1)
  13. mon.clear()
  14. mon.setCursorPos(1,1)
  15. end
  16.  
  17. function monLinea1()
  18. mon.setCursorPos(1, 1)
  19. end
  20.  
  21. function monLinea2()
  22. mon.setCursorPos(1, 2)
  23. end
  24.  
  25. function monLinea3()
  26. mon.setCursorPos(1, 3)
  27. end
  28.  
  29. function monLinea4()
  30. mon.setCursorPos(1, 4)
  31. end
  32.  
  33. function cartaNonValida()
  34. clear()
  35. mon.write("Carta")
  36. monLinea2()
  37. mon.write("non")
  38. monLinea3()
  39. mon.write("valida!")
  40. print("Carta non valida o corrotta.")
  41. print("")
  42. print("Premere un tasto per uscire")
  43. os.pullEvent("key")
  44. clear()
  45. exit()
  46. end
  47.  
  48. function cartaVuota()
  49. clear()
  50. mon.write("Carta")
  51. monLinea2()
  52. mon.write("vuota!")
  53. print("Carta smagnetizzata o vuota.")
  54. print("")
  55. print("Premere un tasto per uscire")
  56. os.pullEvent("key")
  57. clear()
  58. exit()
  59. end
  60.  
  61.  
  62. m = peripheral.wrap("right")
  63. clear()
  64. print("Accredito POS")
  65. print("")
  66. print("Inserire la carta")
  67. mon.write("Accredito:")
  68. monLinea2()
  69. mon.write("inserire")
  70. monLinea3()
  71. mon.write("la carta")
  72.  
  73. m.setInsertCardLight(true)
  74. za,rawcarta = os.pullEvent("mag_swipe")
  75. m.setInsertCardLight(false)
  76.  
  77. if rawcarta == nil then
  78. cartaVuota()
  79. end
  80.  
  81. tab = textutils.unserialize(rawcarta)
  82.  
  83. if type(tab) ~= "table" then
  84. cartaNonValida()
  85. end
  86.  
  87. if tab.t ~= "cc" then
  88. cartaNonValida()
  89. end
  90.  
  91. if tab.e ~= "BN" then
  92. cartaNonValida()
  93. end
  94.  
  95. credito = tonumber(tab.v)
  96. clear()
  97. mon.write("Attendere")
  98. monLinea2()
  99. mon.write("Autorizzazione")
  100. monLinea3()
  101. mon.write("in corso")
  102. print("La carta ha un saldo di "..credito.." IC.")
  103. print("")
  104. print("Inserire l'importo da addebitare")
  105.  
  106. prelievo=tonumber(read())
  107.  
  108. clear()
  109.  
  110. print("Inserire nuovamente la carta per confermare il pagamento")
  111. mon.write("Accredito di")
  112. monLinea2()
  113. mon.write(prelievo.." IC")
  114. monLinea3()
  115. mon.write("Inserire")
  116. monLinea4()
  117. mon.write("la carta")
  118.  
  119.  
  120. tabr.t = tab.t
  121. tabr.e = tab.e
  122. tabr.p = tab.p
  123. tabr.v = tostring(credito + prelievo)
  124.  
  125. ncr = textutils.serialize(tabr)
  126.  
  127. m.setInsertCardLight(true)
  128. m.beginWrite(ncr,lbl)
  129. os.pullEvent("mag_write_done")
  130. m.setInsertCardLight(false)
  131. clear()
  132. print("Accredito effettuato")
  133. mon.write("Accredito")
  134. monLinea2()
  135. mon.write("effettuato")
  136. sleep(2)
  137. clear()
  138. exit()
Advertisement
Add Comment
Please, Sign In to add comment