how to make a costum scope in enhenched ww1 in roblox
Make the scope as a UI overlay or a weapon part with a zoom effect, not as a tiny 3D object alone. For Roblox guns, the usual setup is: add a scope image to the screen, then zoom the camera when aiming right-click.
Simple way
- Create a
ScreenGuiinStarterGui. - Add a
FrameorImageLabelfor the scope lens. - Add black bars or a dark overlay around it.
- Put a
LocalScriptinside the GUI or tool. - When the player aims, show the scope UI and set the camera FieldOfView lower.
- When they stop aiming, hide the UI and reset the FieldOfView.
Example idea
A common Roblox scope script pattern is:
scope.Maincentered on screen.- Left and right black bars sized to fill the unused area.
- A change event keeps the overlay aligned as the screen updates.
That gives the “sniper scope” look much better than trying to scale a part in the middle of the gun.
For Enhanced WW1
If you mean the Roblox WW1-style game setup, the safest approach is usually to
make the scope only work on a weapon that has a scope flag or attribute
enabled. One example from Roblox gun tutorials is a Boolean like can scope,
then the weapon only zooms when that setting is on.
Good scope setup
- Use a scope texture or decal for the lens.
- Use camera zoom for the actual aiming effect.
- Add slight sway if you want realism.
- Add blur or vignette only if the game style fits it.
Tiny script example
lua
local tool = script.Parent
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
local aiming = false
local normalFov = 70
local scopeFov = 25
tool.Equipped:Connect(function()
game:GetService("UserInputService").InputBegan:Connect(function(input, gp)
if gp then return end
if input.UserInputType == Enum.UserInputType.MouseButton2 then
aiming = true
camera.FieldOfView = scopeFov
script.Parent.ScopeGui.Enabled = true
end
end)
game:GetService("UserInputService").InputEnded:Connect(function(input, gp)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
aiming = false
camera.FieldOfView = normalFov
script.Parent.ScopeGui.Enabled = false
end
end)
end)
Best result
If you want it to look clean, combine:
- a scope image,
- zoomed FOV,
- black edge masking,
- and a small crosshair in the center.
That is much closer to how Roblox sniper scopes are usually built.
If you want, I can turn this into a full Roblox Studio step-by-step with the exact Explorer setup and a working script.