Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to make a script for an object picking up tool + how to make it a part of a model?

Asked by
5viki 0
6 years ago
Edited 6 years ago

I am developing a Roblox game called Train Tycoon. I understand how Studio works, but I know only the basics of scripting. I am now adding the key feature of the game: Crate deliveries. I tryed out by modifying the script you can get from the tutorial about tools in the Roblox Wiki.

The WoodCrate is the object i'm trying to pick up here

-- LocalScript

local tool = script.Parent
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local model = game.Workspace.WoodCrate
local clickEvent = tool.ClickEvent

local function onActivate()
    local clickLocation = mouse.Hit
    clickEvent:FireServer(clickLocation)


end


tool.Activated:connect(onActivate)
-- Server (normal) Script


local tool = script.Parent
local clickEvent = tool.ClickEvent
local clickEventConnection
local model = game.Workspace.WoodCrate

local function onClick(player, clickLocation)
    if clickLocation:FindFirstChild(model) then
        model.Parent = tool
    end
end

local function onEquip()
    clickEventConnection = clickEvent.OnServerEvent:connect(onClick)
end

local function onUnequip()
    clickEventConnection:disconnect()
end

tool.Equipped:connect(onEquip)
tool.Unequipped:connect(onUnequip)

Sadly, it doesn't work. The crate should be able to be moved by a player and put in the train's cart and be drived around. Also, I want the crate to stay at the place where I put it when the train is moving. I don't want to risk encountering bugs similar to those in Lumber Tycoon 2. I would like help about that too. That has been done in Tradelands, where crates stick at a designated spot in a ship. that would be great to have. if that's of any help, trains in my game are just like normal cars, they don't have a script to move them. Thanks in advance for any help.

Answer this question