So I have these two local scripts that manage package drop-offs for my delivery sim, problem is the location is randomized doors with street names and idk how to define which door aka (street.name) the touch function needs to be watching for, trying to avoid remoteevents if possible
Address Randomizer
while wait(60) do local Folder = game.Workspace.Folder:GetChildren() local Street = Folder[math.random(1, #Folder)] plr.PlayerGui.Address.Text = "New Order: Deliver to "..Street.Name end
OnTouch Front Door
local part = ???? local function onTouched(part) --Do stuff when player touches 'Street' from script above end part.Touched:Connect(onTouched)
I would name all of the doors the same thing such as "DelieveryDoor" or something, and then put a string inside of the door with the info you need. Then you could do this:
while wait(60) do local Folder = game.Workspace.Folder:GetChildren() local Street = Folder[math.random(1, #Folder)] plr.PlayerGui.Address.Text = "New Order: Deliver to "..Street.Name end for i, v in pairs(game.Workspace:GetChildren()) do if v.Name == "DelieveryDoor" then local function onTouched(v) if v.StringValue.Value == Street.Name then --Delievered! end end v.Touched:Connect(onTouched) end end