Hi all,
I'm getting reacquainted with Achaea after a very long hiatus, and I was excited to see that the Nexus client seems to have come a long way and that we can use es2015 for scripting now since it works directly off of the client's javascript. However, in trying to write a few simple scripts to get the ball rolling, I've learned that trying to code in the built-in editor is an act of frustration.
Little things such as the auto-indentation requiring the use of semicolons and locked to 4-space, lack of highlighting for client supported es2017 features (e.g., class, async/await) and no dark theme is indeed annoying; however, larger issues such as network syncing being delayed or disconnected can be incredibly disruptive. I wrote a simple auto-learn class earlier and found out that a timeout disconnection had occurred, and after logging back in and going back to my scripts they were entirely gone. I imagine they didn't get saved correctly and a reconnect refreshed from the server.
One solution to these problems would be an API to upload scripts from my local machine to the hosting server via network call as well as downloading existing scripts. A simple oAuth protocol would be enough to stop most attempts at tampering with server code from unauthorized users and could use the same authentication as the game since scripts seem to be per-character anyways.
A syncing service would be a significant improvement over even Mudlet, which always annoyed me enough to make me write a complicated script to load files from my machine instead of using their built-in editor. It may also encourage more developers to start writing systems using Nexus, which in turn helps support new users by providing easy to find utilities for the client found on the website.
I'm assuming that the game admins and developers read these forums, and I would love some feedback. If there is a better way to submit this suggestion, I'd also want to hear that.
Thanks!
Edit: As an aside, this could be a gateway to a hosted script marketplace, downloading packages directly to user's accounts via a simple click.
Comments
I believe @Aesi coded something like you might be looking for, in his "package manager".
Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
The repository listing stuff is here: https://github.com/Nextitude/nxs
I'll pull what I have into a package and upload it as far as the actual package manager goes. It more or less mirrors apt.
So nxs-get mapmod to install, nxs-list to show packages. The plan was to make it expandable to add custom repositories so users could manage their own packages.
I'm at work and busy so will post the package when I get a chance.
It's by no means complete and has bugs, but the proof of concept was working.
Let me know if you need help.