Changing script editor colors - Rainbow Script Editor!

Rainbow Script Editor


Well, I have to admit that the title is somehow clickbait since I wasn’t able to find a way to make the studio script editor a rainbow without my pc blowing up. But I managed to do so with the comments.

coolrainbowgif

Basically I was bored thinking about something cool to make and this is what came to my mind. It was somehow challenging to make it, not for the fact of being a hard idea to replicate but because changing studio settings is not an easy task for the studio.

In the gif shown above, my fps are going from 10 to 20. The cool thing is that in the gif above, the settings were updating every 1/10th of a second to make it look smooth, but if you increase the number by just .15 seconds (making it refresh every .25s) it will still look pretty smooth, in fact the only thing that will change is the speed of the rainbow effect, it will be easier to identify the gaps between each refresh but the rainbow will still look pretty smooth.

ezgif.com-gif-maker (3)

Now fps are sitting at ~45. But yeah, whatever you do you’re going to get some impact on your performance, even by changing the whole thing from rainbow to just “breathing” it still gives you some mini-lag spikes when you’re moving through the workspace (at least fps are now at a stable rate of 60).

ezgif.com-gif-maker (2)


So definitely this is not something that you’re going to use, not only for the fact that it really impacts in performance but also because it could make it harder to read comments. Also had to mention that you can apply this to other things like function names or normal text, and you can also apply the rainbow effect to multiple settings but that would just make your studio go brrrr.


If for some reason you want the code, here it is.

Rainbow Effect:

local Studio = settings().Studio

local RunService = game:GetService("RunService")
local playing = false

local function rainbowComments()
	if (not playing) then
		playing = true

		for hue = 0, 1, .01 do
			Studio["Comment Color"] = Color3.fromHSV(hue, 1, 1)
			wait(.1)
		end

		playing = false
	end
end

RunService.Heartbeat:Connect(rainbowComments)

Breathing effect:

local Studio = settings().Studio

local RunService = game:GetService("RunService")
local playing = false

local function rainbowComments()
	if (not playing) then
		playing = true

		for hue = .5, .6, .01 do
			Studio["Comment Color"] = Color3.fromHSV(hue, 1, 1)
			wait(1.5)
		end
		
		for hue = .6, .5, -.01 do
			Studio["Comment Color"] = Color3.fromHSV(hue, 1, 1)
			wait(1.5)
		end

		playing = false
	end
end

RunService.Heartbeat:Connect(rainbowComments)
5 Likes

I have to admit - I love this way too much. I have no idea why - I really like it. Good job! Maybe this will kickstart more script editor plugins/scripts?

Modifying the studio editor is not that easy, not just in terms of performance as stated above but also because the API is not that customizable in the first place. But yeah definitely it would be amazing to see more people focusing on the script editor.

1 Like

This is really great! I’ve been messing around a bit & changed a couple of colors.

Here’s the code (you already see it from the image, but still):

local Studio = settings().Studio

Studio["Comment Color"] = Color3.fromRGB(26, 100, 233)

--[[

	omg wow

--]]

Studio['"local" Color'] = Color3.fromRGB(85, 255, 0)
local h = "h"

Studio['"function" Color'] = Color3.fromRGB(0, 85, 255)

function HelloWorld()
	print("Hello World!")
end

Studio['"nil" Color'] = Color3.fromRGB(255, 0, 0)

local nothing = nil

Studio["Bool Color"] = Color3.fromRGB(255, 255, 0)

local yes = true

Studio["Bracket Color"] = Color3.fromRGB(120, 120, 120)

local someTable = {
	true,
	false
}

Studio["Built-in Function Color"] = Color3.fromRGB(170, 85, 0)

table.insert(someTable, "yes")
1 Like