Need help recreating old roblox lighting reflections

im trying to recreate legacy lighting in my game but im not sure how to make the players hats reflective

example: RETROBLOX(disaster hotel)
image

hats in my game:
image

3 Likes

If I remember correctly, you need to have the Roblox accessories as with the SmoothPlastic material to later on set up the property Reflectance (in case the items do not have any texture in SpecialMesh).

1 Like

this worked thank you!!
image

2 Likes

Hey, I hope you don’t mind my asking but is it possible for you to release the Legacy Lighting I would really appreciate it

if you are talking about the smooth reflection script, here it is

script 1

game:GetService("Players").PlayerAdded:Connect(function(Player)
		Player.CharacterAppearanceLoaded:Connect(function(Character)
		while true do
			wait(0.1)
		-- Wait for the player's hats to be loaded before we try to change their material
		for _, Child in pairs(Character:GetChildren()) do
			if Child:IsA("Part") then
				Child.Reflectance = 1
				Child.Material = Enum.Material.SmoothPlastic
				if (Child.Name == "Head") then
					Child.Reflectance = 0
				end
				if (Child.Name == "Left Arm") then
					Child.Reflectance = 0
				end
				if (Child.Name == "Right Arm") then
					Child.Reflectance = 0
				end
				if (Child.Name == "Left Leg") then
					Child.Reflectance = 0
				end
				if (Child.Name == "Right Leg") then
					Child.Reflectance = 0
				end
				if (Child.Name == "Torso") then
					Child.Reflectance = 0
				end
						if Child.ClassName == "Accessory" then
							print("childisaccessory")
					local Handle = Child:FindFirstChild("Handle")
					if Handle then
						Handle.Material = Enum.Material.SmoothPlastic
							Handle.Reflectance = 1
						end
					end
				end
			end
		end
	end)
	end)

script 2

game:GetService("Players").PlayerAdded:Connect(function(Player)
		Player.CharacterAppearanceLoaded:Connect(function(Character)
		while true do
			wait(0.1)
		-- Wait for the player's hats to be loaded before we try to change their material
		for _, Child in pairs(Character:GetChildren()) do
						if Child.ClassName == "Accessory" or Child.ClassName == "Hat" then
					local Handle = Child:FindFirstChild("Handle")
					if Handle then
						Handle.Material = Enum.Material.SmoothPlastic
							Handle.Reflectance = 1
						end
					end
				end
			end
		end)
	end)

both of these scripts go in ServerScriptService, script 1 changes the player’s material, and script 2 changes the hat’s materials.

Thanks, but I had more of the neon in mind if you have remade that yet?

are you talking about the neon respawn bubble?
image

No, I mean like the Neon Texture itself, in compatibility it doesn’t look anything like legacy if u know any way to bring it back

sorry im not sure how to bring it back

That’s alright, don’t worry about it! Thanks for your help though.

My friend found out this model on the toolbox that pretty much replicates the Legacy Neon effect, but i recommend you to only use for experimenting purposes.

Here is how it looks in Studio (with Lighting.Compatibility and Post Processing Effects enabled):

2 Likes

hey uh i know this post is like from a year ago but do you mind sharing the neon respawn bubble?

:point_right: :point_left:

sorry just saw this!!!

local t = 7--Duration of this effect.

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(char)
		for i,v in pairs(char:GetChildren()) do
			if v:IsA("BasePart") then
				local box = Instance.new("SelectionBox")
				box.SurfaceTransparency = 1
				box.LineThickness = 0.1
				box.Parent = v
				box.Adornee = v
			end
		end
		local ff = Instance.new("ForceField")
		ff.Parent = char
		ff.Visible = false
		local tme = 0
		repeat wait(0.1)
			tme += 0.1
				local hue = tick() % t / t
				local color = Color3.fromHSV(hue, 1, 1)
			for i,v in pairs(char:GetDescendants()) do
				if v:IsA("SelectionBox") then
					game:GetService("TweenService"):Create(v, TweenInfo.new(0.1), {Color3 = color}):Play()
				end
			end
		until tme >= t
		for i,v in pairs(char:GetDescendants()) do
			if v:IsA("SelectionBox") then
				v:Destroy()
			end
		end
		ff:Destroy()
	end)
end)
1 Like

thank you so much!!!

1 Like