Weird crosshair "help"

i just customize my fe gun kit crosshair and i used.its work weirdly

-- Local Script:
local UIS = game:GetService("UserInputService")     
local holdingUKey = false
local frame = script.Parent
UIS.InputBegan:Connect(function(inputObject)
	if(inputObject.KeyCode==Enum.KeyCode.LeftShift)then
		holdingUKey = true
	end

	UIS.InputEnded:Connect(function(inputObject)        
		if(inputObject.KeyCode==Enum.KeyCode.LeftShift)then
			holdingUKey = false
		end
	end)

	if holdingUKey == true then
		frame:TweenPosition(UDim2.new(0, -100,0, 0))
	end
	if holdingUKey == false then
		frame:TweenPosition(UDim2.new(0, -57,0, 0)) 
	end
end)

using this but in 4 different gui frames
image
its work weirdly so can anybody help me?

i found problems with your script and cleaned it up

local UIS = game:GetService("UserInputService")     
local holdingUKey = false
local frame = script.Parent
UIS.InputBegan:Connect(function(inputObject)
	if(inputObject.KeyCode==Enum.KeyCode.LeftShift)then
		holdingUKey = true
	end
end)
UIS.InputEnded:Connect(function(inputObject)
    if inputObject.KeyCode==Enum.KeyCode.LeftShift then
        holdingUKey=false
    end
end)
while wait() do
    if holdingUKey then
        frame:TweenPosition(UDim2.new(0,-100,0,0))
    else
        frame:TweenPosition(UDim2.new(0,-57,0,0))
    end
end

its bug and its getting worse
robloxapp-20210907-0057282.wmv (2.5 MB)

i want it like if i just press the shift it will stay at 0,-100,0,0 if i release it will go to 0,-57,0,0

well i found out that the fe gun kit uses a module called spring module for its crosshairs so i dont think you can just yse tweenpos and change it i think you should go into the fe scripts and edit

alr man ill try my best to edit it