It should, but what if a experience person is getting the encryption method and compiling method of the compiler?
Wouldn't that chance be very rare, if the feature was set in a way none else can crack just like how MTA's system is put together.
Well, if it's the case it's a šhitty design, seriously.
This system is not more secure than compilation anyway. Hypothetically: One could simply access the MTA memory after the decryption or before execution to get the bytecodes. Or maybe someone could call the decryption functions from net.so directly . Or someone could maybe try to use Raknet::DataBlockEncryptor and the MTA keys (this could partially be used to encrypt a script too).
It's just another layer of difficulty (which is great). But the implantation could be better.
This and this alone is enough reason for me to agree unconditionally.
I totally agree, even if the new system makes it more difficult to "steal" a script.
Anyway,
If you do not want your scripts stolen, code your clients-side scripts to work as much as possible with your server-side scripts (= when possible make the logic server-side). Most of the time, people will steal your scripts and not use them since they would actually need to write some code. And if someone steal something simple like a "login panel", it should not bother you. 99.98% chances their server will still sucks with it.