i dont think you can add models to animations
anyways this issue is bassically solved! thanks.
Mark it as solved then.
Also whatâs stopping you from getting a Motor6D, attaching it to the Right Arm (just like tools) and not have to use tools at all? You can animate other parts that arenât usually found in a Character model with Motor6Ds. This will prevent the use of the flashlight as a tool and what not. You can follow this guide for reference.
Just disregard the whole tool setup.
the issue actually isnt solved becuase the part is like 5 studs away from player and was messing up movement by colliding with parts in that 5 stud radius even though the player didnt hit that part but since its grouped inside player it counted as player collision stopping movment etc
so 2 issues remain
-making it non collidable
-making it inside the player instead of 5 studs away
by the way im prety sure the article you provided stuff gives the player the option to equipt and unequipt the flashlight and also the backpack menu.
Put flashlight.CanCollide = false
in the script.
Put flashlight.CFrame = player.Character.HumanoidRootPart.CFrame
You sort of missed the entire point I just said;
If you use a Motor6D, the Flashlight should teleport to the position of the arm. If it doesnât, youâre doing something incredibly wrong with your flashlightâs setup.
If you do successfully get it stuck inside your arm, all you have to do is animate it to look like a normal toolgrip. I did this very exact process with a Hip Radio that plays music. Doesnât collide with players either because the parts used have CanCollide turned off. Not to mention itâs also located exactly where I animated it, on the hip of the character.
Before you go and say that youâre using R6, and Iâm using R15 and that it wonât work, it will, you just have to animate it for the R6 rig instead of the R15 rig. Itâs done the exact same way.
I donât know if somebody has answered your question or you have found a solution, but if you want to prevent somebody from unequipping a flashlight then try:
- Disabling the backpack GUI and equipping any tools into the players character when they spawn,
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
--put this in a localscript in starter player scripts
game:GetService("Players").PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
local tool = game:GetService("StarterPack"):FindFirstChild("Flashlight"):Clone() --Flashlight is your tool name, replace that
tool.Parent = char
end)
end)
--put this in a normal script in server script storage, this gives each player a flashlight when they spawn
- Or forcing them to hold the tool by equipping it whenever they unequip it,
game:GetService("Players").PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
local tool = game:GetService("StarterPack"):FindFirstChild("Flashlight"):Clone() --Flashlight is your tool name, replace that
tool.Parent = char
end)
end)
--put this in a normal script in server script storage, this gives each player a flashlight when they spawn
local tool = script.Parent
local player = game:GetService("Players").LocalPlayer
local char = player.Character
if not char or not char.Parent then
char = player.CharacterAdded:Wait()
end
tool.AncestryChanged:Connect(function(child, parent)
if not parent then return end --the tool was destroyed
if parent ~= char then
script:FindFirstChild("RemoteEvent"):FireServer(char, child) --parent a remote event to this script, and a normal script to the remote event
end
end)
--the script is a child of the tool, the tool should be in the players character, this fires an event to the server when the tool is unequipped
local event = script.Parent
event.OnServerEvent:Connect(function(player, char, tool)
char:FindFirstChildWhichIsA("Humanoid"):EquipTool(tool)
end)
--put this inside a remote event, and the remote event inside the local script, this will re equip the tool when the player un equips it
Sorry if this post is bad, its my first one
nevermind, it was solved
ill just leave this here