Where do I need to then it doesn't make any sense at all. I Already put a then.
code:
wait(1) local button = script.Parent local RequestServer = game.ReplicatedStorage:WaitForChild("RemoteEvents").Buy_Sign local coins = game.Players.LocalPlayer:WaitForChild("leaderstats").Coins local plrgui = game.Players.LocalPlayer:WaitForChild("PlayerGui") local image = plrgui.Bought_Sign.Image local sound = script.Parent.sound local dzz = script.Parent:WaitForChild("dzz") local mess = script.Parent.Parent.Parent.Parent.plr_has_item.TextLabel local plrname = game.Players.LocalPlayer.Name local Plr = game.Players[plrname] local running = false button.Activated:Connect(function() if coins.Value >=5 then wait(0.5) RequestServer:FireServer() sound:Play() image:TweenPosition(UDim2.new(0, 0,0.826, 0),"Out","Bounce",1) wait(3) image:TweenPosition(UDim2.new(-1, 0,0.826, 0),"Out","Bounce",1) wait(1) elseif wait(0.2) --animate text and play sound plr.achievements.Has_Hammer.Value == true then mess.Visible = true local text = "You already have this item!" for i = 1,# text do mess.Text = string.sub(text,1,i) wait(0.000001) end dzz:Play() wait(1) mess.Visible = false end end)
Line 22, elseif.
elseif needs arguments, just like if.
so it should be
elseif plr.achievements.Has_Hammer.Value == true then wait(0.2)
instead of your version, which has the wait(0.2) before completing the elseif statement.