So I'm having a bit of trouble finding out how to get items to appear to a tool's hit.Parent's location. I have a script that deals with the tool's handle interacting with a resource that it detects its hit.
Plus I also have a module script that is responsible for selecting a random number or type of item that will be dropped, and that module script is then requested in the tool's script when it's needed.
The problem is I'm having trouble with making sure that the items appear at the tool's hit.Parent's position.
Here is the function from the tool's script.
local function functioner() canFunction = false local ToolType = Tool.ToolType local ToolTypeNeeded = hit.Parent.ResourceManagement:FindFirstChild("ToolTypeNeeded") if ToolTypeNeeded.Value == ToolType.Value then local resourceHealth = hit.Parent.ResourceManagement:FindFirstChild("ResourceHealth") if resourceHealth.Value >= 1 then resourceHealth.Value = resourceHealth.Value - damage Tool.Handle.Sounds.Hit:Play() local function dropResources() if resourceHealth.Value <= 0 then local resourceType = hit.Parent.ResourceManagement.ResourceType.Value local resourceModule = require(game.ServerScriptService.Modules.ResourceModules.ResourceDropModule) resourceModule[resourceType]() local main = hit.Parent.Main end end dropResources() end end wait(damageCoolDown) canFunction = true end
And here is the module script that I currently have.
local drops = {} function drops.SmallTree() local wood = game.ServerStorage.ResourceDrops.Wood local sapling1 = game.ServerStorage.ResourceDrops.Sapling1 local TreeDrops = {wood, sapling1} for i = 1, 2 do local ItemDrop = math.random(1, # TreeDrops) local Item = TreeDrops[ItemDrop] local dropped = Item:Clone() dropped.Parent = game.Workspace end end return drops
In the case of the tree, it should appear at hit.Parent.Main's position.