of     1   

TheScriptAdventurer
#121743639Tuesday, December 31, 2013 4:50 AM GMT

I have been working on an API that simply helps with game development in roblox. Currently, I've got these features: Server-client communication Dynamic loading/sandboxing of modules (modules = ModuleScripts) What else do you folks think would sound good? Any input is appreciated.
Signaller
#121743781Tuesday, December 31, 2013 4:52 AM GMT

whats a helper api
TheScriptAdventurer
#121743935Tuesday, December 31, 2013 4:53 AM GMT

I mean, I'm just making an API that helps scripters with various problems. I've fixed MY problems so far; I'm just wondering what other people would like in it.
RyanDolan123
#121752799Tuesday, December 31, 2013 6:30 AM GMT

>sandbox yes please
TheScriptAdventurer
#121776356Tuesday, December 31, 2013 2:47 PM GMT

What I got in terms of a sandbox right now is simply a way of isolating code errors. I wrap every function in the library that is given to me from the module in a function that calls the function with xpcall (that is, the version of pcall that allows use of wait functions). If the function fails, an "exception" is thrown, and the way such an exception is handled is up to the end user. If it does succeed, it returns what the function returned. So this protection is practically transparent to the end user, but still protects pieces of code from each other.
digpoe
#121777950Tuesday, December 31, 2013 3:10 PM GMT

ypcall is the one which allows wait, you dummy. xpcall is the one which allows you to set an external error handler. function exterr(...) print(...) end xpcall(function() ppprint("hi") end, exterr)
TheScriptAdventurer
#121779051Tuesday, December 31, 2013 3:23 PM GMT

Whoops! Mixed the two up; xpcall is the one that preserves the stack for later inspection by a handler; in any case I used the one that allows wait. And you don't have to be rude about it :(
TheScriptAdventurer
#121779279Tuesday, December 31, 2013 3:26 PM GMT

All I know is, I like my system; testing new modules to go with the framework is a relative breeze; in a live game (on a game server), if an error happened, and I had an exception reporter website where I could send error reports to, I could prompt the user and say an error has occurred, and they could add some extra information to say about what they were doing when the error happened, instead of the game simply ceasing to work, and me having to do a lot of guesswork as to what is causing the problem.

    of     1