Hello!
I’m currently making an FPS game for fun, and I’m experiencing an issue where whenever I shoot my gun, the bullet’s position gets set way off of where it’s supposed to position itself. I am using fast cast for the main bullet creation.
This footage is me firing the gun, and the issue occurs.
robloxapp-20220426-1156092.wmv (1.8 MB)
Client’s Gun Firing Code:
Gun.Activated:Connect(function()
local MousePos = Mouse.Hit.Position
if ShotDebounce == false then
ShotDebounce = true
WeaponModule:Fire(MousePos)
print("Player Clicked")
wait(.1)
ShotDebounce = false
end
end)
FireEvent.OnClientEvent:Connect(function(Player, Origin, Direction)
if Player ~= LocalPlayer then
CastingModule:Fire(LocalPlayer, Origin, Mouse.Hit.Position)
print("Other clients has now fired")
end
end)
Server’s Firing Code:
FireEvent.OnServerEvent:Connect(function(Player, Origin, MousePos)
local Direction = (MousePos - Origin).Unit
FireEvent:FireAllClients(Player, Origin, Direction)
print("Fired All Clients")
end)
Main Weapon Module’s Firing Code:
-- // Firing
local CastingModule = require(Replicated.CastHandling)
local FireEvent = Replicated:WaitForChild("Fire")
function Weapon:Fire(MousePos)
local BulletOrigin = Camera:FindFirstChild(Viewmodel.Name).HumanoidRootPart.Position
CastingModule:Fire(Players.LocalPlayer, BulletOrigin, MousePos)
FireEvent:FireServer(MousePos, BulletOrigin, MousePos)
end
Fast Cast Module’s Firing Code:
function CastHandler:Fire(Player, Origin, MousePos)
local Direction = (MousePos - Origin).Unit
BulletTemp.CFrame = CFrame.new(Origin, MousePos)
task.spawn(function()
local DebuggingPart = Instance.new("Part", workspace)
DebuggingPart.Size = Vector3.new(1,1,1)
DebuggingPart.Color = Color3.new(1, 0, 0)
DebuggingPart.Name = "Result"
DebuggingPart.Anchored = true
DebuggingPart.Position = Origin
end)
MainCaster:Fire(Origin, Direction, 350, CastBehavior)
end
It’ll be greatly appreciated if anyone could help me out.