I think he means something like IGSO, that allows hosts to enable/disable add-ons in-game. It is already possible to enable them in-game by exec'ing them, but in order to disable them in-game, they would have to be packaged, and then disable the package in-game to disable it, and manually delete the datablocks.After a second thought, though, the Torque engine generally requires a game restart to get rid of any exec'd script, while Blockland only requires a server restart. The system that allows this could possibly be implemented to allow changes without restarting the server. Just a thought.
People would have to make 'load' and 'unload' scripts for all of their Add-Ons - things like Team Deathmatch cannot be deactivated easily during the game as they overwrite many game functions.You'd end up with lots of problems for advanced mods that actually change gameplay being activated and deactivated. Packaged functions (That overwrite parts of other functions but keeping the 'original' code for it) are very unpredictable in Torque and will not work right when activating and deactivating lots of things at once: (Put each of these lines into the console, in order)Code: [Select]function showMsg(){echo("Hi.");}package one{function showMsg(){echo("ONE");Parent::showMsg();}};package two{function showMsg(){echo("TWO");Parent::showMsg();}};activatePackage(one);showMsg();It should say 'ONE' and then 'Hi.' on the next line.Code: [Select]activatePackage(two);showMsg();It should say 'TWO', 'ONE' and then 'Hi.'.Code: [Select]deactivatePackage(one);showMsg();It only says 'Hi.'. Even though you haven't deactivated two, deactivating packages 'before' others will stop the ones activated after it from working.This could cause a problem: If a minigame 'Hide Names' script overwrites the player spawn functions and then Team Deathmatch overwrites the same ones (for uniforms, say), deactivating Hide Names will stop Team Deathmatch from working even though you haven't disabled that.
function showMsg(){echo("Hi.");}package one{function showMsg(){echo("ONE");Parent::showMsg();}};package two{function showMsg(){echo("TWO");Parent::showMsg();}};activatePackage(one);showMsg();
activatePackage(two);showMsg();
deactivatePackage(one);showMsg();
I'm pretty sure it's possible; changing the paintset through loading does it. Mind you, that lags pretty fricking badly.As for disabling add-ons... I really don't know.