Commit Graph

41 Commits

Author SHA1 Message Date
YotaXP
91d7150eed NTSL, parrots, and ID consoles hate apostrophes less.
NTSL's timestamp() will fetch the proper station time.

ID consoles enforce standard player name restrictions on the ID name and assignment.
2013-11-30 14:33:02 -05:00
VistaPOWA
b771010e42 Added lowercase boolean variables to Telecomms
Confirming to playerbase, many existing scripts use them without
realizing they do not work properly.
2013-08-11 05:03:57 +02:00
Giacomand
2b0ed74f55 * Removed the ability to use functions inside parameters, to prevent recursion crashes.
* Added an error message for it.
 * Added some other crash preventing measures.
2013-08-06 21:39:21 +01:00
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
a04daf159f Reverting compile times. They were just annoying and a bad idea. 2013-07-04 23:01:48 +01:00
Cheridan
0c47147ab1 Phase 2 of my master plan:
-Adds a Service headset channel, given to the botanists, barman, and chef. The HoP also gets the service channel on his headset.

Note: The Service Preset Server will have to be added to Telecomms on the map before the channel is usable. I'll put up the map when/if this gets merged.
2013-05-13 12:20:12 -05:00
Giacomand
5e5f3ab1d7 * Committing in NTSL now takes time. It can take up to a maximum of 2.5 minutes and a minimum of 10 seconds.
* The server will not warn admins when empty code is being compiled, but it will still log everywhere else.
 * Empty code will have no compile time.
 * Removed NTSL broadcasting the names in italics if the name is unknown. This was causing issues and it was a very minor feature.
 * Placed some duplicated code into a proc, for the IDE verbs.
2013-03-13 00:12:40 +00: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
6bf905a26a - Quick fix for the explode() proc in NTSL not accepting a null separator.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5798 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-02 00:30:49 +00:00
giacomand@gmail.com
a6bde92d6b - Added a limit to broadcast messages. Messages will now cut off at 512.
- Facehuggers will now let you open the bag even if you're wearing facehugger proof gear.
 - Added some sanitizing to signal().

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5756 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-21 17:40:13 +00:00
giacomand@gmail.com
f3c85dc5fe - Replacing the existing replace proc for NTSL with a copy of the HELPER replace text proc with some safety loops.
- Turned down cache lifespan to 1. This will help the server when it has to constantly have people download the resource files and the dynamic cache.
 - I was seriously upset about the server room in the new telecomms not being airless. As Kor allowed anyone to make the room airless, I did so. It shouldn't be a room anyone can walk into without the necessary equipment. (It also would give void suits a reason)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5742 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-19 20:41:32 +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
giacomand@gmail.com
c5510ba3a1 - Added rand() to the NTSL list of functions.
- Re-added intercoms for the pods and an intercom in the shuttle's public area.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5680 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-10 04:11:46 +00:00
giacomand@gmail.com
dd012eba80 - Fixed the admin warning of an NTSL script only being shown on the "apply" button.
- Re-named the IDE "apply" button to "save".

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5665 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-08 00:25:00 +00:00
giacomand@gmail.com
87b611aec0 - Fixed some bugs with traffic computer. Added some more functions for NTSL, which I think will really expand the functionality of it. time() will return the time in the number variable, timestamp(format) will return it in string.
- Increased the allowed w_class things in secure briefcases. Equalized the amount of stuff you can put in a briefcase with the backpack.
 - The staff of animation will turn animations onto their side, if they were created by a different user.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5658 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-06 10:33:29 +00:00
giacomand@gmail.com
f614122778 -Added a new button to NTSL's IDE which will clear the server's memory.
-Changed the broadcast function using a precreated human. The human would still be existing and a new one was created for every use of the broadcast. Garbage collecting it was almost impossible and deleting it everytime a broadcast is made would be laggy so I modified the broadcast code to not need a mob reference.
-Added some checks in the events.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5477 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-06 06:55:52 +00:00
giacomand@gmail.com
037cf2b071 -Additions to NTSL from /vg/:
Logging for scripts.
A non-recursive replacetext function.

-Fixed an issue with the broadcast() function for NTSL, it will now properly broadcast again.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5462 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-03 22:57:47 +00:00
ericgfwong@hotmail.com
a3780d7021 Renamed Cargo radio to Supply radio
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5266 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-06 00:16:11 +00:00
elly1989@rocketmail.com
4d9876fd65 Fixes issues with pen bbcode. Replacetext did not work correctly after I changed text2list - (It was missing 'needles' at the beginning of 'haystacks').
>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.

Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-27 21:21:17 +00:00
elly1989@rocketmail.com
7b720a20b6 >Moved most of the helper procs into code/__HELPERS. If you see ANYTHING generic enough to be a helper proc just throw it in there and help purge the copypasta 5ever
>Replaced dd_text2list, dd_text2listcase, tg_text2listcase and tg_text2list with text2list and text2listEx. text2list will return a list of each and every character in the string if you set separator=""
>added return_file_text(filepath) which returns text from a file after doing some checks: does the file exist? is the file empty? It prints helpful error messages to the world.log if it runs into problems
>Replaced dd_file2list(filepath, seperator) with file2list(filepath, seperator). It just calls text2list(return_file_text(filepath), seperator). rather than copypasta
>Replaced time_stamp() so it's not as retarded
>Lots of the world setup stuff uses file2list now, rather than file2text -> sanity -> text2list
>Added error() warning() testing() procs. These print messages to world.log with a prefix. e.g. ## ERROR: msg.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4948 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-24 14:39:36 +00:00
giacomand@gmail.com
d897798d5c -Fixed an issue where the NTSL's broadcast function couldn't send it's signal due to the new telecommunication machines.
-Made the telecommunication server and NTSL broadcast more robust so that having a HUB is an option, if someone decides to create their own network.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4325 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-06 14:48:10 +00:00
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
vageyenaman@gmail.com
d8dc75f384 Bugfix with telecomms.
Reverted tick_lag back to 0.9. Enjoy lagstation again skrubs :(

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3486 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-21 16:59:33 +00:00
vageyenaman@gmail.com
829e0280c3 Whoops. Forgot to include a file in my previous commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3414 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-08 18:35:25 +00:00
vageyenaman@gmail.com
f292079363 Bugfixes and stuff.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3394 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-02 23:39:53 +00:00
daniel.cf.hultgren@gmail.com
99d894c168 Say woo for first commit!
- The alarm needed some more userfriendlyness:
* Spelling sorted
* Turning off PANIC SYPHON now sets scrubbers to scrubbing (default) instead of off.
* Instead of the stupid timeout and VENT NOT FOUND HURRDURR they will just get removed from the list. They were clogging that vent list up as fuck
* Vents pressure settings now have an extra href which resets the vent to ONE_ATMOSPHERE kPa (101.32 or whatever it is)

- The "Outlet position is obstructed" error message when opening exofab now only appears if the turf to south is obstructed, not to east like before.

- AI Modules use attack_self instead of attack_hand

- Fixed chatspam with reverse() and made the explode function use the builtin ss13 one instead of my custom, it proved to be faster.

- Added my self to the changelog, because I can!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3367 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-28 15:27:23 +00:00
vageyenaman@gmail.com
6a8a665132 More work on NTSL and world/Topic()
Includes a plethora of new NTSL functions, courtesy of Donkieyo (thread: http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8153)


Bugfix for a weird runtime generated when an AI tries to interact with telecomms machinery directly.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3347 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-23 19:59:00 +00:00
vageyenaman@gmail.com
7ec3b8503b Bugfixes for NTSL. AIs can now use script consoles. Fixes crashes.
Buffs metroid magic. More core uses!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3334 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-21 02:53:07 +00:00
vageyenaman@gmail.com
052ff81892 AIs can now edit NTSL code.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3320 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-17 22:33:29 +00:00
vageyenaman@gmail.com
597674c671 Fix for some infinite loop with NTSL parser.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3306 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-16 05:25:34 +00:00
vageyenaman@gmail.com
d5bff25b5b Modified TK to be more effective and polished. You can use the TK grab to interact with machines and stuff from far away (but you cannot pick them up!). This means you can also bonk people with items you are holding with your TK grab.
Changed the energy gun sprites to a better-looking version, made by Khodoque!

More work on NTSL. Including the ability to create comments by using // and /* insert comment here */.

Removed the traffic control machine from telecomms, as requested by Urist. NTSL is still a work in progress, and needs to be completely fool-proof before players can get anywhere near it.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3252 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-04 21:41:51 +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
VivianFoxfoot@gmail.com
587a385173 Fixes it so security level blue starts even on extended to reduce meta
Fixes universal recoders using fix from bs12
Adds a sanity check to telecoms
Sets coder.bad to zero (or at least deincrements it!) and uploads the map that fixes telecom turret access

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3213 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-29 01:30:05 +00:00
vageyenaman@gmail.com
08ed0b080b Improvements on TCS and the NTSL default namespace.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3208 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-28 04:57:03 +00:00
vageyenaman@gmail.com
0cd813a786 A couple more bugfixes and tweaks.
Changed the way radio range works. Headsets have a range of 1, intercoms 3. If a person is in this range, they get to hear incoming messages.

Fixed the disposal bug; items were dropping on the floor when placed in disposals...

Changed the way NTSL::TCS broadcast() generates a dummy radio.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3206 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-28 00:47:54 +00:00
vageyenaman@gmail.com
c8f53637dd Removal of lingering debugging shit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3204 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-27 05:47:49 +00:00
vageyenaman@gmail.com
bb2e8a2773 A more long-term fix for the exosuit fabricator. Derped around with a few paths.
Removed stupid debug messages from the TCS interpreter.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3201 316c924e-a436-60f5-8080-3fe189b3f50e
2012-02-26 22:10:37 +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