Elseif statement not working?

When the value reaches 4 then it should show text, but it doesn’t. But it can do the first one which is if Count.Value < 4 then code and that works.

This is a normal script because I want this to show for all of the players.

local TweenService = game:GetService("TweenService")
local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out, 0, false, 0)

local objectiveText = script.Parent
objectiveText.TextTransparency = 1

local Count = game.ReplicatedStorage:WaitForChild("Count")

wait(2.5)

if Count.Value < 4 then
	print("Collect all parts!")
	objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, -100), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
	objectiveText.Text = "Collect all parts!"
	TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 0}):Play()
	
	wait(2.5)
	
	objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
	TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 1}):Play()
	
elseif Count.Value == 4 then
	
	print("All parts collected")
	
	wait(1.5)
	
	objectiveText.TextTransparency = 1
	objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, -100), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
	objectiveText.Text = "All parts collected!"
	TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 0}):Play()
	
	wait(2.5)
	
	objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
	TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 1}):Play()
end

Are you wanting this to repeat or update after each part is collected? Right now it looks like it runs once.

Yes. I want it to update everytime when you’ve collected them. It is collecting in another script. But it isn’t updating in this script for some reason

So would this work?

local TweenService = game:GetService("TweenService")
local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out, 0, false, 0)

local objectiveText = script.Parent
objectiveText.TextTransparency = 1

local Count = game.ReplicatedStorage:WaitForChild("Count")

wait(2.5)
local function count()
	if Count.Value < 4 then
		print("Collect all parts!")
		objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, -100), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
		objectiveText.Text = "Collect all parts!"
		TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 0}):Play()

		wait(2.5)

		objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
		TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 1}):Play()

	elseif Count.Value == 4 then

		print("All parts collected")

		wait(1.5)

		objectiveText.TextTransparency = 1
		objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, -100), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
		objectiveText.Text = "All parts collected!"
		TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 0}):Play()

		wait(2.5)

		objectiveText:TweenPosition(UDim2.new(objectiveText.Position.X.Scale, objectiveText.Position.X, objectiveText.Position.Y.Scale, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quart, .5, true)
		TweenService:Create(objectiveText, tweenInfo, {TextTransparency = 1}):Play()
	end

end
Count.Value.Changed:Connect(count)

It works. Thanks for the help!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.