Marum

Computercraft Bank Mobile V1

Feb 9th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. local bankServerID = 14
  2. local modemSide = "back"
  3.  
  4. rednet.open(modemSide)
  5.  
  6. os.loadAPI("bankapi.lua")
  7. bankapi.setBankServerID(bankServerID)
  8.  
  9. local currentAccount = 0
  10.  
  11. if (fs.exists("mermegold.txt")) then
  12. local f = fs.open("mermegold.txt", "r")
  13. if (f ~= nil) then
  14. local value = f.readLine()
  15. if (value ~= nil) then
  16. local tempClientData = bankapi.getClientData()
  17. if (tempClientData[value] ~= nil) then
  18. currentAccount = value
  19. end
  20. end
  21. end
  22. end
  23.  
  24. while true do
  25. while true do
  26. local tempClientData = bankapi.getClientData()
  27. local command
  28. if (tempClientData[currentAccount] == nil) then -- Guest screen
  29. command = bankapi.optionMenu("¡Bienvenido!", {
  30. [1] = {
  31. ["option"] = "login",
  32. ["text"] = "Ingresar"},
  33. [2] = {
  34. ["option"] = "info",
  35. ["text"] = "¿Que es Mermegold?"},
  36. [3] = {
  37. ["option"] = "createaccount",
  38. ["text"] = "¿Como me hago una cuenta?"},
  39. })
  40.  
  41. if (command == "login") then
  42. local accept = bankapi.confirmScreen({"Por favor, registre", "el dispositivo con un", "empleado de mermegold"})
  43. if (accept) then
  44. os.reboot()
  45. end
  46. elseif (command == "info") then
  47. bankapi.textScreen({
  48. "¡Bienvenido a Mermegold!",
  49. "¡El primer y unico banco de Izit!",
  50. "",
  51. "Con tu tarjeta mermegold, no tendrás",
  52. "que llevar oro encima nunca más.",
  53. "Podrás hacer transacciónes remotas",
  54. "y tendrás un historial completo.",
  55. "Podrás poner máquinas en tu local",
  56. "con catálogos que calculen el total",
  57. "de forma automática, y todos los",
  58. "pagos iran al mismo lugar. ¡No mas",
  59. "revolver cofres para recolectar pagos!"
  60. })
  61. elseif (command == "createaccount") then
  62. bankapi.textScreen({
  63. "",
  64. "",
  65. "Para hacerse una cuenta, contactese",
  66. "con un empleado de Mermegold y arregle",
  67. "una cita. Abrirán juntos la cuenta",
  68. "en el banco.",
  69. "",
  70. "El costo de la tarjeta es de una pepita",
  71. "por cada 100 pepitas de transacciones.",
  72. "Esto se cobrará automáticamente."
  73. })
  74. end
  75. else
  76. command = bankapi.optionMenu("--- "..tempClientData[currentAccount].name.." ---", {
  77. [1] = {
  78. ["option"] = "balance",
  79. ["text"] = "Consultar balance"},
  80. [2] = {
  81. ["option"] = "transaction",
  82. ["text"] = "Realizar transacción"},
  83. [3] = {
  84. ["option"] = "log",
  85. ["text"] = "Historial de transacciones"},
  86. [4] = {
  87. ["option"] = "quit",
  88. ["text"] = "Salir"},
  89. }, 2)
  90.  
  91. if (command == "balance") then
  92. bankapi.showBalance(currentAccount)
  93.  
  94. elseif (command == "log") then
  95. bankapi.transactionLogScreen(currentAccount)
  96.  
  97. elseif (command == "transaction") then
  98. local tempClientData = bankapi.getClientData()
  99. local steps = {"Cuenta a recibir los fondos", "Monto a enviar", "Descripción de la transacción"}
  100. local to = bankapi.selectAccountScreen(steps, 1, currentAccount, true)
  101. if (to == nil) then break end
  102. local amount = bankapi.inputNumberScreen(steps, 2, tempClientData[currentAccount].balance)
  103. if (amount == nil) then break end
  104. local description = bankapi.inputTextScreen(steps, 3, 100)
  105. if (description == nil) then break end
  106.  
  107. local success, message = bankapi.transaction(currentAccount, to, amount, description)
  108. bankapi.responseScreen(message.success, message.response)
  109.  
  110. elseif (command == "quit") then
  111. os.shutdown()
  112. end
  113. end
  114. end
  115. end
Add Comment
Please, Sign In to add comment