Elmoren

Untitled

Jul 30th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.84 KB | None | 0 0
  1. gl = peripheral.wrap("bottom")
  2. ae = peripheral.wrap("front")
  3. while true do
  4. evt, cmd = os.pullEvent("chat_command")
  5. words = {}
  6. i = 0
  7. waiting = false
  8. for word in string.gmatch(cmd, "%S+") do
  9. words[i] = word
  10. i = i + 1
  11. end
  12. if words[0] == "getitem" then
  13. n = words[1]
  14. name = string.upper(n)
  15. names = {}
  16. ids = {}
  17. qty = {}
  18. dmg = {}
  19. number = 1
  20. for k,v in pairs(ae.getAvailableItems()) do
  21. if string.find(string.upper(v.name),name) then
  22. names[number] = v.name
  23. ids[number] = v.id
  24. qty[number] = v.qty
  25. dmg[number] = v.dmg
  26. number = number + 1
  27. end
  28. end
  29. if #names < 1 then
  30. waiting = false
  31. gl.clear()
  32. os.reboot()
  33. end
  34. gl.clear()
  35. idsl = 0
  36. for i = 1,#ids do
  37. if string.len(ids[i]) > idsl then
  38. idsl = string.len(ids[i])
  39. end
  40. end
  41. qtyl = 0
  42. for i = 1,#ids do
  43. if string.len(qty[i]) > qtyl then
  44. qtyl = string.len(qty[i])
  45. end
  46. end
  47. namesl = 0
  48. for i = 1,#ids do
  49. if string.len(names[i]) > namesl then
  50. namesl = string.len(names[i])
  51. end
  52. end
  53. dmgl = 0
  54. for i = 1,#ids do
  55. if string.len(dmg[i]) > dmgl then
  56. dmgl = string.len(dmg[i])
  57. end
  58. end
  59. num = 0
  60. idslen = idsl * 10
  61. dmglen = dmgl * 10
  62. qtylen = qtyl * 10
  63. nameslen = namesl * 7
  64. width = 30 + idslen + qtylen + nameslen
  65. heigth = (#ids * 10) + 15
  66. gl.addBox(20,5,width,heigth,40,0.5)
  67. gl.addText(30,10,"num",0x369de1)
  68. gl.addText(30 + 30,10,"id",0xf0371e)
  69. gl.addText(30 + 20 + idslen,10,"dmg",0xf0371e)
  70. gl.addText(30 + 30 + idslen + dmglen,10,"qty",0xffc703)
  71. gl.addText(30 + 30 + idslen + dmglen + qtylen,10,"name",0x637b4b)
  72. for i = 1,#names do
  73. gl.addText(30,20 + num ,string.sub(i,1,string.len(i)),0x369de1)
  74. gl.addText(30 + 30,20 + num ,string.sub(ids[i],1,string.len(ids[i])),0xf0371e)
  75. gl.addText(30 + 20 + idslen,20 + num,string.sub(dmg[i],1,string.len(dmg[i])),0xf0371e)
  76. gl.addText(30 + 30 + idslen + dmglen,20 + num ,string.sub(qty[i],1,string.len(qty[i])),0xffc703)
  77. gl.addText(30 + 30 + idslen + dmglen + qtylen,20 + num ,names[i],0x637b4b)
  78. num = num + 10
  79. end
  80. waiting = true
  81. if waiting then
  82. evt2, cmd2 = os.pullEvent("chat_command")
  83. i = 0
  84. mots = {}
  85. for mot in string.gmatch(cmd2, "%S+") do
  86. mots[i] = mot
  87. i = i + 1
  88. end
  89. if mots[0] == "num" then
  90. if mots[1] == nil then
  91. waiting = false
  92. gl.clear()
  93. os.reboot()
  94. break
  95. else
  96. if #mots == 3 then
  97. dmg = tonumber(mots[3])
  98. else
  99. dmg = -1
  100. end
  101. id = tonumber(mots[1])
  102. quantity = tonumber(mots[2])
  103. cust = {}
  104. cust["id"] = ids[id]
  105. cust["qty"] = quantity
  106. cust["dmg"] = dmg
  107. ae.extractItem(cust, "east")
  108. gl.clear()
  109. turtle.dropUp()
  110. end
  111. else
  112. waiting = false
  113. gl.clear()
  114. os.reboot()
  115. break
  116. end
  117. end
  118. end
  119. end
Advertisement
Add Comment
Please, Sign In to add comment