Commit Graph

8 Commits

Author SHA1 Message Date
Giacomand
53244202be * Fixes the NTSL crashing the server by setting the max recursion limit to 15. The problem was that the BYOND recursion limit was being met before the NTSL recursion limit.
* Added admin warning messages for the recursion limit.
 * Made the admin warnings only appear for every new program that is loaded, and not for everytime the script runs.
 * Made the preset servers set their names to their ID.
2013-08-06 01:49:00 +01:00
Giacomand
da2adeb755 * Changed max statements to 900. It was possible that it reached the 1000 limit before checking if there were too many statements.
* Minor tweak to the length() proc.
2013-08-05 02:32:28 +01:00
Giacomand
af525cb75b - Urgent fix to NTSL. Sanitizes the output of NTSL, including the broadcast() function.
- Added a GetCleanVar to be used when getting a global variable to use inside the game code, it will sanitize() the variable if the compare argument is not equal to it; the compare argument should used to see if NTSL has changed the value.
 - Added a sanitize_data proc for the signal datum. It will sanitize all the data using strip_html_simple().
2013-03-12 16:50:28 +00:00
giacomand@gmail.com
a3501875a7 - Re added clicking on inventory HUD slots making you use the item, without having to click the item itself. I made storage slots in backpacks, when hit by an item, will put the item into that storage item.
- Added some garbage collecting procs for NTSL.
 - APCs now have its missing status text, for the wire interface.
 - Clicking on a hand HUD slot, while the hand is actively selected, will make the item being held call attack_self().

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5715 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-16 10:54:56 +00:00
giacomand@gmail.com
39a97a6f77 NTSL Update:
- You can now send signals with signal(freq, code). Added a cooldown to limit spamming.
    - You can now use "elseif" in your scripts to create a chain.
    - You can now use "return" in the global scope to end the script from running.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5701 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-13 21:43:34 +00:00
vageyenaman@gmail.com
1a9d9dd960 Fixes for NTSL. NTSL now has a fixed statement-processing cap: scripts will crash when more than 1000 statements are called, and alert admins (scripts over 1000 statements are assumed to be buggy or malicious).
You can now properly sleep without waking up every half a second.

Work on footprints. There are now different kinds of footprints, and different blood makes different colored prints. Animals leave pawprints, humans leave footprints, aliens leave big claw prints.









git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3242 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-03 07:00:31 +00:00
vageyenaman@gmail.com
55ec72c7cb Removed the scripting machine due to massive crashes! It'll be back when the crashes are resolved.
Some other bugfixes and improvements.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3214 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-29 06:27:25 +00:00
vageyenaman@gmail.com
b5f8eaf8a9 More work done on Telecomms:
▫ Signals can now be rejected by Subspace broadcasters through a specific data[] parameter.
▫ Improved the log browser.
▫ Log browsers and telecommunication monitors no longer require access to use. You do need access to delete logs, however.
▫ Intercoms need power to work. They don't drain power, they just need a constant flow of equipment power. As such, that offline intercom sprite's now finally being put to use.


Scripting language:

▫ Sorry about all the files; they're all necessary! It's important to notice that the basic structure of the scripting language code is not mine; I cannibalized the base structure from some obscure BYOND project. It's pretty well documented, and I'd say easier to browse through than atmos. Here's the basic deal:

A compiler datum manages the relationships between the three main subsystems of a scripting language: the Scanner, the Parser, and the Interpreter. The Scanner splits raw text into token datums that the Parser can read. The Parser transforms the otherwise random bits and strings into ordered AST Trees and nodes for the Interpreter to read. The interpreter actually executes the code and handles scope/functions/code blocks.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3193 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-25 22:51:31 +00:00