New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
[READY] NTSL refactor #4486
[READY] NTSL refactor #4486
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So are you going to write up any documentation that actually lists off all the changes you've made to my baby, or are we all just kinda supposed to figure that one out ourselves more or less?
disgusting |
We should really add docs for this, I spent a while trying to find how the new NTSL worked. |
DOCUMENTATION: https://wiki.yogstation.net/wiki/NT_Script
Don't tell me there's no documentation.
This will break your scripts, here's how you make a script now:
sleep()
doesn't fuck shit up horribly馃啈 monster860
tweak: Assignemts in NTSL are now operators
fix: sleep() in NTSL no longer breaks things horribly
add: Adds for loops to NTSL
add: Adds the "." and "[]" operator to NTSL. You can do "sig.content" or "some_list[3]" now.
add: You can now create associative lists in NTSL using list()
tweak: Signal processing is done in a function called "process_signal" that must be defined by the user - one argument is passed, the signal argument, change properties on it to change the signal.
fix: The stack traces in the runtime errors for NTSL actually contain line numbers now.
tweak: Broadcasting in NTSL is now done by calling broadcast() with an argument of a signal object, which can be created with a signal() function. Remote signalling is done with remote_signal().
fix: You can do mem() in NTSL with the second argument null and it will remove the property
tweak: several global vars in NTSL have been moved to objects. Languages are in the "languages" object, filters are in the "filter_types" object, and channels are in the "channels" object.
/:cl: