Advertisement
Kijan

DS Char Mat

Jan 5th, 2019
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.74 KB | None | 0 0
  1. amount = {1, 1}
  2. bag_GUIDs = {"d5f97b", "d751f1"}
  3.  
  4. function onload()
  5.   local button_parameters = {}
  6.   button_parameters.click_function = 'spawnThingies'
  7.   button_parameters.label = 'X'
  8.   button_parameters.function_owner = self
  9.   button_parameters.position = {0.65, 0, - 0.49}
  10.   button_parameters.color = {0, 0, 0}
  11.   button_parameters.width = 150
  12.   button_parameters.height = 150
  13.   button_parameters.scale = {0.15, 0.15, 0.15}
  14.   button_parameters.font_size = 90
  15.   button_parameters.font_color = {1, 1, 1}
  16.   self.createButton(button_parameters)
  17.  
  18.   button_parameters.label = ''
  19.   button_parameters.color = {0, 0, 0, 0}
  20.   for i = 0, 9 do
  21.     self.setVar("spawnCube" .. i, function(obj, color, alt_click) spawnCube(i, alt_click) end)
  22.     button_parameters.click_function = "spawnCube" .. i
  23.     button_parameters.position = {0.6105 - i * 0.073, 0, 0.451}
  24.     self.createButton(button_parameters)
  25.   end
  26. end
  27.  
  28.  
  29. function spawnCube(i, alt_click)
  30.   local pos = self.getPosition()
  31.   pos.x = pos.x + 9.17
  32.   pos.y = pos.y + 0.34
  33.   pos.z = pos.z - 6.78
  34.  
  35.   pos.x = pos.x - i * 1.1
  36.  
  37.   local bag = getObjectFromGUID("d09eb9")
  38.  
  39.   if alt_click then
  40.     bag = getObjectFromGUID("28a922")
  41.   end
  42.   bag.takeObject({position = pos
  43.                 , smooth = false
  44.                 , callback_function = function(obj) obj.setLuaScript('function onLoad() self.createButton({scale = {5.5, 1, 5.5}, color = {0, 0, 0, 0}, click_function = "delete"}) end') end
  45.               })
  46. end
  47.  
  48. function spawnThingies()
  49.   local pos = self.getPosition()
  50.   local newPos = {x = pos.x, y = pos.y + 0.2, z = pos.z}
  51.   if #bag_GUIDs > 1 then newPos.z = newPos.z + 1.5 end
  52.   for num, bag_GUID in pairs(bag_GUIDs) do
  53.     newPos.z = newPos.z - 1.5 * (num - 1)
  54.     local bag = getObjectFromGUID(bag_GUID)
  55.     if amount[num] == "M" then
  56.       for _, mini in pairs(bag.getObjects()) do
  57.         if mini.name == self.getName() then
  58.           local original = bag.takeObject({
  59.             guid = mini.guid
  60.           })
  61.           Timer.create({
  62.             identifier = self.getGUID() .. original.getGUID(),
  63.             function_name = "cloneDelayed",
  64.             function_owner = self,
  65.             parameters = {original, bag_GUID, newPos},
  66.             delay = 0.1
  67.           })
  68.         end
  69.       end
  70.     elseif amount[num] == "I" then
  71.       bag.clone({
  72.         position = newPos
  73.       }).unlock()
  74.     else
  75.       for i = 1, amount[num] do
  76.         bag.takeObject({
  77.           position = {newPos.x, newPos.y + 0.2 * i, newPos.z},
  78.           rotation = self.getRotation()
  79.         })
  80.       end
  81.     end
  82.   end
  83.   -- self.clearButtons()
  84. end
  85.  
  86. function cloneDelayed(params)
  87.   local new = params[1].clone({
  88.     position = params[3]
  89.   })
  90.   getObjectFromGUID(params[2]).putObject(params[1])
  91. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement