Advertisement
Elmoren

Untitled

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