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

:TweenPosition instead of just Position?

--\\ Services
local ReplicatedStorage = game:GetService'ReplicatedStorage'
--\\Nicknames and Tables
local ply = script.Parent.Parent or game.Players.LocalPlayer
local Event = ReplicatedStorage.ChatEvent
local Messages = {}
--\\ Functions
local function TweenPushMessages(Size)
	for i,v in pairs (Messages) do
		v.Position = v.Position - UDim2.new(0,0,0,Size)
	end
end
--\\FireServerFunction
ply.Chatted:connect(function(msg)
	if msg ~= '' then
		Event:FireServer(msg)
	elseif msg == '' then
		return
	end
end)
Event.OnClientEvent:connect(function(ply,msg)
local MSG = script.Messages_:Clone()
			MSG.Message.Text = msg
			MSG.Message_Owner.Text = '['..ply.Name..']: '
			MSG.Parent = ply.PlayerGui.ChatGui.Frame
			MSG.Message_Owner.TextColor3 = ply.TeamColor.Color
			TweenPushMessages(MSG.AbsoluteSize.Y)
			Messages[#Messages+1] = MSG
end)

The function TweenPushMessages is where I'm trying to do it, but I know it wouldn't work, would there be a way to recreate it with TweenPosition instead?

1 answer

✓ Accepted answer
local function TweenPushMessages(Size)
for i,v in pairs (Messages) do
		v:TweenPosition(v.Position - UDim2.new(0,0,0,Size), "Out", "Quad", 0.5)
	end
end

Replace the 0.5 with the duration of the tween.

You can also try different easing styles too.

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