US Trends

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

  1. Create a ScreenGui in StarterGui.
  2. Add a Frame or ImageLabel for the scope lens.
  3. Add black bars or a dark overlay around it.
  4. Put a LocalScript inside the GUI or tool.
  5. When the player aims, show the scope UI and set the camera FieldOfView lower.
  6. When they stop aiming, hide the UI and reset the FieldOfView.

Example idea

A common Roblox scope script pattern is:

  • scope.Main centered 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.