Advertisement
Elmoren

Untitled

Jul 30th, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 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. if idslen < 30 then
  67. idslen = 30
  68. end
  69. dmglen = dmgl * 10
  70. qtylen = qtyl * 10
  71. if qtylen < 30 then
  72. qtylen = 30
  73. end
  74. nameslen = namesl * 7
  75. if nameslen < 28 then
  76. nameslen = 28
  77. end
  78. width = 40 + idslen + qtylen + nameslen
  79. heigth = (#ids * 10) + 15
  80. gl.addBox(20,5,width,heigth,40,0.5)
  81. gl.addText(30,10,"num",0x369de1)
  82. gl.addText(30 + 30,10,"id",0xf0371e)
  83. gl.addText(30 + 20 + idslen,10,"dmg",0xf0371e)
  84. gl.addText(30 + 30 + idslen + dmglen,10,"qty",0xffc703)
  85. gl.addText(30 + 30 + idslen + dmglen + qtylen,10,"name",0x637b4b)
  86. for i = 1,#names do
  87. gl.addText(30,20 + num ,string.sub(i,1,string.len(i)),0x369de1)
  88. gl.addText(30 + 30,20 + num ,string.sub(ids[i],1,string.len(ids[i])),0xf0371e)
  89. gl.addText(30 + 20 + idslen,20 + num,string.sub(dmg[i],1,string.len(dmg[i])),0xf0371e)
  90. gl.addText(30 + 30 + idslen + dmglen,20 + num ,string.sub(qty[i],1,string.len(qty[i])),0xffc703)
  91. gl.addText(30 + 30 + idslen + dmglen + qtylen,20 + num ,names[i],0x637b4b)
  92. num = num + 10
  93. end
  94. waiting = true
  95. if waiting then
  96. evt2, cmd2 = os.pullEvent("chat_command")
  97. i = 0
  98. mots = {}
  99. for mot in string.gmatch(cmd2, "%S+") do
  100. mots[i] = mot
  101. i = i + 1
  102. end
  103. if mots[0] == "num" then
  104. if mots[1] == nil then
  105. waiting = false
  106. gl.clear()
  107. os.reboot()
  108. break
  109. else
  110. if #mots == 3 then
  111. dmg = tonumber(mots[3])
  112. else
  113. dmg = -1
  114. end
  115. id = tonumber(mots[1])
  116. quantity = tonumber(mots[2])
  117. cust = {}
  118. cust["id"] = ids[id]
  119. cust["qty"] = quantity
  120. cust["dmg"] = dmg
  121. ae.extractItem(cust, "east")
  122. gl.clear()
  123. turtle.dropUp()
  124. end
  125. else
  126. waiting = false
  127. gl.clear()
  128. os.reboot()
  129. break
  130. end
  131. end
  132. end
  133. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement