| |
|
| |
|
| | local CollectionService = game:GetService("CollectionService")
|
| | local PhysicsService = game:GetService("PhysicsService")
|
| | local ReplicatedStorage = game:GetService("ReplicatedStorage")
|
| |
|
| | local VehicleConfig = require(ReplicatedStorage:WaitForChild("Shared"):WaitForChild("VehicleConfig"))
|
| |
|
| |
|
| | pcall(function()
|
| | PhysicsService:RegisterCollisionGroup(VehicleConfig.CollisionGroups.Logs)
|
| | PhysicsService:RegisterCollisionGroup(VehicleConfig.CollisionGroups.Vehicles)
|
| |
|
| |
|
| | PhysicsService:CollisionGroupSetCollidable(VehicleConfig.CollisionGroups.Logs, VehicleConfig.CollisionGroups.Vehicles, true)
|
| | end)
|
| |
|
| |
|
| | local function setupVehicle(vehicleModel)
|
| |
|
| |
|
| | local function applyToPart(part)
|
| | if part:IsA("BasePart") then
|
| | part.CustomPhysicalProperties = VehicleConfig.FlatbedPhysicalProperties
|
| | part.CollisionGroup = VehicleConfig.CollisionGroups.Vehicles
|
| | end
|
| | end
|
| |
|
| | for _, descendant in pairs(vehicleModel:GetDescendants()) do
|
| | if descendant.Name == "FlatbedPart" or CollectionService:HasTag(descendant, "Flatbed") then
|
| | applyToPart(descendant)
|
| | end
|
| | end
|
| | end
|
| |
|
| |
|
| | local function setupLog(logSegment)
|
| | if logSegment:IsA("BasePart") then
|
| | logSegment.CollisionGroup = VehicleConfig.CollisionGroups.Logs
|
| |
|
| |
|
| | local currentProps = logSegment.CustomPhysicalProperties or PhysicalProperties.new(logSegment.Material)
|
| | logSegment.CustomPhysicalProperties = PhysicalProperties.new(
|
| | currentProps.Density,
|
| | 0.8,
|
| | 0,
|
| | 100,
|
| | 100
|
| | )
|
| | end
|
| | end
|
| |
|
| |
|
| |
|
| | CollectionService:GetInstanceAddedSignal("Vehicle"):Connect(setupVehicle)
|
| | CollectionService:GetInstanceAddedSignal("TreeSegment"):Connect(setupLog)
|
| |
|
| |
|
| | for _, vehicle in pairs(CollectionService:GetTagged("Vehicle")) do
|
| | setupVehicle(vehicle)
|
| | end
|
| |
|
| | for _, log in pairs(CollectionService:GetTagged("TreeSegment")) do
|
| | setupLog(log)
|
| | end
|
| |
|