Hello there once again I’m in need of some help on scripting. I’m at the moment trying to make a Tweenservice that plays whenever the player spawns. The script doesn’t give me any output and as well as no errors. Thanks for reading I hope someone can help me.
local player = game:GetService(“Players”)
local Tweenservice = game:GetService(“TweenService”)
local frame = script.Parent
wait(0.01) – For later adjustments.
local function onCharacterAdded(character)
frame.BackgroundTransparency = 0
Tweenservice:Create(
frame,
TweenInfo.new(2),
{BackgroundTransparency = 1}
):Play()
PlayerAdded fires when a player joins the game, not when their character loads/respawns instead your script should look like this:
local Players = game:GetService("Players")
function PlayerAdded(player)
local function CharacterAdded(char)
--code
end
CharacterAdded(player.Character or player.CharacterAdded:Wait())
player.CharacterAdded:Connect(CharacterAdded)
end
for i, player in pairs(Players:GetPlayers()) do
PlayerAdded(player)
end
Players.PlayerAdded:Connect(PlayerAdded)
Although to avoid complexity, you can take advantage of StarterCharacterScripts which runs the script every time a player character loads(inside their character):
local Players = game:GetService("Players")
local Character = script.Parent
local Player = Players:GetPlayerFromCharacter(Character)
From the variable frame I assume your script runs inside a UI, if that UI is a client UI you can apply the following:
local Players = game:GetService("Players")
local Tweenservice = game:GetService("TweenService")
local frame = script.Parent
local Player = Players.LocalPlayer
task.wait(0.01) -- For later adjustments.
frame.BackgroundTransparency = 0
Tweenservice:Create(frame,TweenInfo.new(2),{BackgroundTransparency = 1}):Play()
and make sure the UI ResetOnSpawn property is set to true