Livestream Script - Initial Plugin Release!

Do you script in a team, and find your higher-ups struggling to keep up with each and every scripter?

Do you find yourself needing to keep your clients updated on your work, yet unable to because of the strain discord screensharing has on your computer?

If you answered yes to either of those questions, or you teach scripting, this should be a blessing.

Introducing Livestream Script!


This plugin is, as mentioned above, designed for team create. Outside of team create, you could still use it to keep a sort of board of scripts, allowing you to compare them and see how they link with each other.

In part viewer mode, it looks like this to the observer:

How to use

Startup

To open the plugin configuration window, click the icon in the “Plugins” tab:

image

Setup

There are three options:

image

"Place Viewing Part" acts as a toggle. Once you click it, the text will change to “Remove Viewing Part”. It places a part that faces you to the nearest 90°.

"Make Gui" also acts as a toggle. Upon clicking it, it will change its text to “Close Gui”, and it will place a script in a ScreenGui for all to see.

"Select Script" doesn’t act as a toggle. Upon clicking it, the text will change to “Please Select a Script”, and you can select a LuaSourceContainer to livestream the code from. If you already have a LuaSourceContainer selected, this part is skipped. The text then will change to “Selected” before returning to “Select Script”.

Themes

There are 3 options for Themes:

image

There’s light and dark, which need no explanation, but there’s Custom:

image

Both of the colour names are self-explanatory.
They both use 0-255 RGB, and any missing values will be assumed to be 0. For example, if you type (180, 20) for the background color, it will be the same as (180, 20, 0). Same for (40), which would be (40, 0, 0)

Indentation Space Replacement

There’s only one option for this category:

image

You can edit the “4” to any number you’d like. This is the amount of spaces that the script replaces indentation with. The script does this because TextLabels interpret indentation as a single space, and so quadruple spaces are needed in order to increase readability.

Use Cases

This has many uses, including, but not limited to the following:

1. Scripting tutoring
2. Tracked commission work
3. Regular work
4. Bulletin Boarding (mentioned before)
Future Updates (Priority: Lexer)
1. Theme Saving
2. Indentation Level Saving
3. Selecting an existing viewer part instead of deleting the old one and making a new one.
4. Selecting an existing GUI instead of deleting the old one and making a new one.
5. Names of the scripter above the part.
6. Folder for viewing parts
7. Image backgrounds
8. Theme sharing?

If you can think of any other future updates, feel free to reply with them, I’ll give you credit. Same goes for use cases.


This plugin is part of my new plugin set called “Visualisation”. As of right now, there is one other plugin in this set, “Show Key Presses”. It displays the keys you press in the bottom right corner of the screen, just like the blender extension. Here’s the link to that if you’re interested:

And hello to the people from that post :)

They should both fit neatly in the same toolbar:

image


NOTE:

The plugin sends get requests to pastebin.com. I understand how suspicious this looks, but this is done in order to fetch the latest version of the plugin, allowing the owner to be notified whenever a new version is released.

Welp, you made it to the end of the post! Kinda don’t know what to say. If you feel like you might find this plugin useful and you wanna give back, why not like the post and the plugin, or maybe even uhh… Favourite the plugin?

I hope you guys like it :slight_smile:

36 Likes

Awesome! Now I can show my coding process in-game

( Alas! There is no lexer and it hurts my eyes, arghhh! )

3 Likes

DUDE TYSM FOR THIS AMAZING PLUGIN I AM WORKING ON A HUGE PROJECT AND THIS WILL DEFO HELP!!! Ty

1 Like

This is a helpful plugin, but it would be preferable to have a few extra features.

  1. GUI boards
  2. A lexer to syntax-highlight properly
1 Like

I’ve thought about syntax highlighting, but I’m pretty sure that when I wrote this, RichText wasn’t a thing. But then again, I think adding this feature would make the plugin very slow, but I guess it’d be kinda hard to make it any more slow than discord screensharing.

Do you know how I could add syntax highlighting? (Btw what is a lexer? Google doesn’t help with answering that in this context)

And as for GUI boards, what do you mean by that?

1 Like
2 Likes

Every programming language uses a lexer to create the simple structure of what to parse, or execute. For example, the Python lexer will find the word “def” and know that it should be highlighted blue (in most cases) and it will be followed by a function.

By GUI boards, I meant a GUI that has the same functionality as the physical boards, but instead it is a GUI.

1 Like

It shouldn’t be hard, or slow don’t worry too much about that.

I gotta say, this plugin is really impressive to me! It works as it says it does, though including a lexer would improve the view for any other watchers. But besides that, this is a pretty cool plugin, nice work man!

1 Like

What happens when line length exceeds the part length? Will it wrap? Will the part expand? Will the text get smaller?

Also I think users should be responsible for updating the plugins, and not have to be forced to use the updated version everytime. Doing it automatically might be convenient for some and I think most of us can trust you but there is always those users that are a little more paranoid about it, and would prefer they audit the code first rather than being forced.

2 Likes

The text will get smaller. I think I might add a feature where the text is moved onto a label next to it if the text gets too big.

Heyo can i have your discord so i can contact you there?

1 Like

Yeah, it’s TheHeckingDev#9168

Minimum character limit

Love it, although, can you explain it? Does it record your screen or something? I just don’t understand it right now.

It doesn’t. It just connects to the .Changed event of the script, and then sets the GUI’s text to the script’s text after a few adjustments to it. It’s much more efficient than screensharing because screensharing shows your entire screen, and sends every pixel, while this just sends text that the user on the other end can process. It’s also higher resolution than screenshare.

Really nice! What would happen if the script is longer then hte part length? Would it create a Scrolling Frame or does it just wrap? :thinking:

Ah. I was wondering if it auto-updated somehow inside the game live while you’re in studio.

1 Like

Thanks!

The text would get smaller, but I’m really considering the ScrollingFrame suggestion, that sounds great!

1 Like

Useless for me, but really well made and nice. It will surley help others.

1 Like