Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

ZIndex changing value in script doesn't work?

I have a script that uses tweening to make the stats of a gun visible while the gun hovers over it, and the script works, but by using multiple UIs it's shown as behind of the UI that's next of the mouse hovering UI.

I've decided to use ZIndex to change the values of the UIs while the cursor hovers, but the ZIndex keeps the same value and it doesn't change. I've wrote the ZIndex changing values like the example shown below.

local sliding = script.Parent.Stats
--local symbol = script.Parent.HideBar.Symbol	

b=true

function OnMouseHover()
b=false
	sliding:TweenPosition(UDim2.new(0,140,0,0),"Out","Linear",0.25,true)
	--symbol:TweenPosition(UDim2.new(0,0,-0.5,0),"Out","Linear",0.5,true)
	
		--ZIndex Changing

		sliding.Damage.ZIndex = 2
			sliding.Damage.Symbol.ZIndex = 2
			sliding.Damage.Fill.ZIndex = 2
		sliding.Firerate.ZIndex = 2
			sliding.Firerate.Symbol.ZIndex = 2
			sliding.Firerate.Fill.ZIndex = 2
		sliding.Movement.ZIndex = 2
			sliding.Movement.Symbol.ZIndex = 2
			sliding.Movement.Fill.ZIndex = 2
		sliding.Zoom.ZIndex = 2
			sliding.Zoom.Symbol.ZIndex = 2
			sliding.Zoom.Fill.ZIndex = 2
		sliding.GunType.ZIndex = 2
		
		script.Parent.Background.ZIndex = 3
		script.Parent.GunImage.ZIndex = 5
		script.Parent.RarityBar.ZIndex = 4
		script.Parent.GunTitle.ZIndex = 3
		script.Parent.SkinTitle.ZIndex = 3
		
	if b == true then
		sliding:TweenPosition(UDim2.new(0,0,0,0),"Out","Linear",0.25,true)
		
		sliding.Damage.ZIndex = 1
			sliding.Damage.Symbol.ZIndex = 1
			sliding.Damage.Fill.ZIndex = 1
		sliding.Firerate.ZIndex = 1
			sliding.Firerate.Symbol.ZIndex = 1
			sliding.Firerate.Fill.ZIndex = 1
		sliding.Movement.ZIndex = 1
			sliding.Movement.Symbol.ZIndex = 1
			sliding.Movement.Fill.ZIndex = 1
		sliding.Zoom.ZIndex = 1
			sliding.Zoom.Symbol.ZIndex = 1
			sliding.Zoom.Fill.ZIndex = 1
		sliding.GunType.ZIndex = 1
		
		script.Parent.Background.ZIndex = 2
		script.Parent.GunImage.ZIndex = 4
		script.Parent.RarityBar.ZIndex = 3
		script.Parent.GunTitle.ZIndex = 2
		script.Parent.SkinTitle.ZIndex = 2
		
		--symbol:TweenPosition(UDim2.new(0,0,0,0),"Out","Linear",0.5,true)
	end
end

script.Parent.MouseEnter:connect(OnMouseHover)

function OnMouseNotHover()
b=true
	sliding:TweenPosition(UDim2.new(0,0,0,0),"Out","Linear",0.25,true)
	
		sliding.Damage.ZIndex = 1
			sliding.Damage.Symbol.ZIndex = 1
			sliding.Damage.Fill.ZIndex = 1
		sliding.Firerate.ZIndex = 1
			sliding.Firerate.Symbol.ZIndex = 1
			sliding.Firerate.Fill.ZIndex = 1
		sliding.Movement.ZIndex = 1
			sliding.Movement.Symbol.ZIndex = 1
			sliding.Movement.Fill.ZIndex = 1
		sliding.Zoom.ZIndex = 1
			sliding.Zoom.Symbol.ZIndex = 1
			sliding.Zoom.Fill.ZIndex = 1
		sliding.GunType.ZIndex = 1
		
		script.Parent.Background.ZIndex = 2
		script.Parent.GunImage.ZIndex = 4
		script.Parent.RarityBar.ZIndex = 3
		script.Parent.GunTitle.ZIndex = 2
		script.Parent.SkinTitle.ZIndex = 2
	
	--symbol:TweenPosition(UDim2.new(0,0,0,0),"Out","Linear",0.5,true)
	if b == false then
		sliding:TweenPosition(UDim2.new(0,140,0,0),"Out","Linear",0.25,true)
		
		sliding.Damage.ZIndex = 2
			sliding.Damage.Symbol.ZIndex = 2
			sliding.Damage.Fill.ZIndex = 2
		sliding.Firerate.ZIndex = 2
			sliding.Firerate.Symbol.ZIndex = 2
			sliding.Firerate.Fill.ZIndex = 2
		sliding.Movement.ZIndex = 2
			sliding.Movement.Symbol.ZIndex = 2
			sliding.Movement.Fill.ZIndex = 2
		sliding.Zoom.ZIndex = 2
			sliding.Zoom.Symbol.ZIndex = 2
			sliding.Zoom.Fill.ZIndex = 2
		sliding.GunType.ZIndex = 2
		
		script.Parent.Background.ZIndex = 3
		script.Parent.GunImage.ZIndex = 5
		script.Parent.RarityBar.ZIndex = 4
		script.Parent.GunTitle.ZIndex = 3
		script.Parent.SkinTitle.ZIndex = 3
		
		--symbol:TweenPosition(UDim2.new(0,0,-0.5,0),"Out","Linear",0.5,true)
	end
end

script.Parent.MouseLeave:connect(OnMouseNotHover)

Why doesn't the ZIndex change?

1 comment

0

Check output for errors, if there are none it's either working or not running. Print something on line 1 to see if it is. If it's not then it's either disabled or misplaced. If it's running you've made a logical error you need to find.

1 answer

If this is a serverscript, then you cannot access the playergui or any clientsided-related stuff. You need to use a localscript in order to do so.

Unless you're using a localscript already: Changing the ZIndex shouldn't be an issue.

3 comments

0

This is a local script

0

Are there any errors?

0

No errors appearing in F9

This discussion is preserved as it was. New answers, comments, and votes are closed.