Previously, you would have to copy-paste the script about 20 times for a change to happen, and every time you changed something. With this, however, just press the Push button and your changes sync to every script with the same linker automatically
I don’t really get it. What’s the point of this? Sorry if this is dumb, but I don’t really understand what exactly this does… Does it just link scripts into one? If so, how does it do that??? Sorry, I’m really confused lol
Roblox used to have a feature called LinkedSources. This allowed you to upload a script as a piece of code to Roblox, and have multiple scripts source from it, similar to how you would use require(id) nowadays.
This plugin attempts to (for the most part) reimplement that functionallity, minus the uploading bit, that happens all within Studio.
Hmm… I’ll do some research, this sounds really cool! Still can’t fully understand it, but it sounds nice.
Edit: Wait… Isn’t LinkedSource just to same thing as require, only for normal scripts? If so, this functionality is technically still in Roblox if you have a module that returns nothing but has a script in it.
Example (module):
print("Hello")
print("Edit this module and it will be modified everywhere it's used")
print("You can still upload scripts to Roblox (iirc)")
-- Code here.. --
return {}
Example (script):
require(0123456789)
(also, I DMed you something. Did you receive it? It’s about your Fusion plugin)
LinkedSources were removed because of packages. I dont like require(id). It’s bad and makes your code look bad since it’s a common injection method for many virus plugins.
Yeah that makes a lot of sense. Although from what I understand you can’t actually modify the script if a LinkedSource is set because it overrides the scripts Source? Am I misunderstanding something here? You wouldn’t really have a reason to look at the require(id) if you’re using it the same way as LinkedSources. Yeah, it would be inefficient…
Also, how does this “Script Link Service” imitate that?
When you press the Push button for a new linker, it silently creates a script that you cant see which holds the source of the script.
Pushing will update that internal script and then make every other script linked pull from it. The Pull is mostly for linking new scripts to a pre-existing internal source without updating it.
How does it hide the scripts? I don’t recall that being possible… Is it a special permission that plugins have access to?
Also, why does the plugin need so many scripts?
I feel like that’s a bit over the top… You don’t need an entire new script for “logError” and “logErrorNonFatal.” They’re the same thing. I feel this is wasting a little bit of performance because you have to require those scripts, and now they’re seperate?
Especially when you consider that the only difference in the script itself is an added
Everything under the Fusion module is not actually part of the plugin author’s own codebase - it’s imported from my Fusion project, which is a UI framework. This is code that we maintain publicly over at our GitHub repository, so if you’d like to contribute to our codebase and make it better, please feel free to do so (after reading through our contribution guidelines and style guide, of course )
In any case, I would be happy to accept the blame for any issues you point out in this section of their plugin - please don’t take this out on them. This plugin is not affiliated with our project, they are merely a user of our code.
Some people want to update all their scripts that contain the same thing all at once:
Although it might not be the best practice, it’s used by some. That’s why this is a resource. You might be thinking about script links and some other sync service that Roblox provides but that requires the hassle of exporting it and updating each script with it (just like the OP said).