Advertisement
Elmoren

Untitled

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