Level Complete Message
Script for Part
local levelPart = script.Parent
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local remoteEvent = ReplicatedStorage:WaitForChild('RemoteEvent')
local function complete(otherPart)
local humanoid = otherPart.Parent:FindFirstChild('Humanoid')
if humanoid then
local player = game.Players:FindFirstChild(otherPart.Parent.Name)
local completeTag = player:FindFirstChild('Level_1')
if player and not completeTag then
local completeTag = Instance.new('BoolValue')
completeTag.Name = 'Level_1'
completeTag.Value = true
completeTag.Parent = player
remoteEvent:FireAllClients(player.Name, levelPart.Name)
end
end
end
levelPart.Touched:Connect(complete)
LocalScript (StarterPlayerScripts)
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local remoteEvent = ReplicatedStorage:WaitForChild('RemoteEvent')
textColor = BrickColor.new('Lime green')
local function complete(playerName, partName)
game.StarterGui:SetCore('ChatMakeSystemMessage', {
Text = playerName..' completed '..partName;
Font = Enum.Font.SourceSansBold;
Color = textColor.Color;
FontSize = Enum.FontSize.Size24;
})
end
remoteEvent.OnClientEvent:Connect(complete)
Color Update
Script
local levelPart = script.Parent
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local remoteEvent = ReplicatedStorage:WaitForChild('RemoteEvent')
local function complete(otherPart)
local humanoid = otherPart.Parent:FindFirstChild('Humanoid')
if humanoid then
local player = game.Players:FindFirstChild(otherPart.Parent.Name)
local completeTag = player:FindFirstChild(levelPart.Name)
if player and not completeTag then
local completeTag = Instance.new('BoolValue')
completeTag.Name = levelPart.Name
completeTag.Value = true
completeTag.Parent = player
remoteEvent:FireAllClients(player.Name, levelPart.Name, levelPart.BrickColor)
end
end
end
levelPart.Touched:Connect(complete)
LocalScript (StarterPlayerScripts)
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local remoteEvent = ReplicatedStorage:WaitForChild('RemoteEvent')
local function complete(playerName, partName, partColor)
game.StarterGui:SetCore('ChatMakeSystemMessage', {
Text = playerName..' completed '..partName;
Font = Enum.Font.SourceSansBold;
Color = partColor.Color;
FontSize = Enum.FontSize.Size24;
})
end
remoteEvent.OnClientEvent:Connect(complete)