Commit Graph

63 Commits

Author SHA1 Message Date
MrPerson
471d69fcf7 Change many ERROR() calls into thrown exceptions
This requires a 508 beta version to use. If Travis fails this he's a bitch

Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.

Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop
2015-07-23 08:19:08 -07:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
GunHog
7d744fa7de Fix for request console emergency runtime
- Fixes 10441
- Ensures that any span changes set forth by NTSL scripts are valid
lists with allowed values, preventing runtimes.
2015-07-07 11:02:44 -05:00
spasticVerbalizer
ab1252cc4a remove duplicate empty message checks and replace with !message 2015-06-09 19:29:37 +02:00
Firecage
f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
Firecage
84e8690ec6 merge conflict fix 2015-05-31 02:45:46 +02:00
Firecage
3a826fe13c Changes alot of datum/ to /datum/ 2015-05-31 02:40:54 +02:00
Aranclanos
9b4b6bc1a6 Fixes all possible exploits with the AI tracking href link
Fixes 1128
Changes the href link of the AI tracking to be just the name displayed in-game instead of the reference of the mob.
Removes faketrack from atom/movable/virtualspeaker as it becomes useless.
2015-05-22 11:26:43 -03:00
GunHog
da2108891a NTSL Expansion
Enables NTSL to read and set four radio span classes to messages.
Also enables NTSL to set each of the say modification verbs to custom
values.

-Broadcast() proc of NTSL now accepts 5 additional parameters - spans
and each of the Say verbs.
2015-03-25 16:22:21 -05:00
TedStudley
777a2800a3 Updates/fixes to NTSL
- Fixed NTSL division
  - Added new NTSL math functions
  - Added changelog information
2015-01-03 17:43:43 -08:00
Daniel
021e960bb3 Removed language argument from broadcast() 2014-09-30 18:20:01 +02:00
Daniel
8fa821f267 Added $language variable
Does not support changing output language yet though
2014-09-26 20:14:22 +02:00
Daniel
bbf88e4986 Fixed proper() again 2014-09-26 18:46:17 +02:00
Daniel
34a3d63f9b Added language argument to broadcast()
Can be any of HUMAN, MONKEY, ALIEN, ROBOT, SLIME or DRONE.
2014-09-26 18:46:12 +02:00
Daniel
7be2bdff8b Fixed proper() 2014-09-26 15:26:57 +02:00
Daniel
bd58c3b202 Added proper(string) 2014-09-26 14:50:16 +02:00
Daniel
aa734405ce Cleanup, Added implode,min,max,randseed 2014-09-21 23:26:24 +02:00
Remie Richards
0bfd884556 Debug messages removal. 2014-09-02 22:05:03 +01:00
Remie Richards
a70a1a52ae Support for null loc pool-gets + Pooling Miauw's Say() virtualspeakers 2014-09-02 22:03:35 +01:00
Miauw
5765a2e2cb Resolves many, more saycode bugs. AI tracking is still broken. 2014-08-18 18:51:07 +02:00
Miauw
1fef6effc3 RADIO CODE WORKS NOW HOLY SHIT
(warning, contains tons of debug messages that still need removal)
2014-08-16 20:33:50 +02:00
Miauw
520b114293 fixes shit 2014-03-09 18:31:43 +01:00
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