Is there any compelling reason to use Mudlet over the Nexus client?

2»

Comments

  • I'm not convinced about this "pro Nexus" item: Uses JavaScript, which has hands down the greater user base and thus greater chance to find (more or less specific) help.

    Can't argue against it using JavaScript, that's obviously true. I also can't argue against JavaScript having the greater user base, in general terms. In terms of code written specifically for Achaea, I'd say that's arguably not true. The JavaScript documentation is fantastic, but when the documentation isn't sufficient - and for a lot of people new to coding the documentation rapidly becomes insufficient - you need somebody who can give you specific, tailored assistance with your problem. There are places outside of the community where you can get that help, but it's a lot easier if the person helping you inherently understands the context of your problem and doesn't need you to explain it in great detail (something people who are new to coding are also, on the whole, very bad at).

    The chances of getting that help specifically for Achaea is likely much higher for Mudlet/Lua than it is for Nexus/JavaScript. Even people who know JavaScript for reasons other than Achaea aren't necessarily going to be able to - or want to - help you with Nexus, because there are no doubt specific quirks of coding for the client that they're not aware of.
  • Agreed, I would go as far to say you're more likely to get help with Mudlet, MUSHClient, or CMUD than you are with Nexus.
    image
  • That's why I added the "more or less specific" part ;)
  • Well the thing about JS is that how you interact with the web page is the same regardless of if you're playing Achaea or browsing Google.  For instance I could write a script that reads all UI elements on a page, and it'll work for both Google and Achaea. Yes there are Achaea specific things you gotta find but it's kinda the same with mudlet too.  It is definitely true that mudlet's interaction with Achaea is better explored, but it's also true there are crazy amounts if generalized JS things that will work for Achaea as well.  
    Deucalion says, "Torinn is quite nice."
  • How many generalized JS scripts are useful in Achaea though? I mean, We're not talking anything that sends data to the client or displays a message to the main console, because all that is Achaea specific and your helper would need to know those functions. Nothing that interacts with aliases, triggers, hotkeys, or Nexus functions. Nothing that spans modules.
    image
  • Right.  I probably didn't phrase that correctly.  A script to "interact with the div elements of a page" will be, with small tweaks or none at all, usable for any webpage (Nexus client included).  And there are tons of those of all shapes and sizes out there already.  That's just an example and I don't even use JS often.
    Deucalion says, "Torinn is quite nice."
  • You are right. But then someone who is new must know that the main console is a "div" (how would they know), must find documentation how to append to a div, must find the right div... you get my drift. And how would they find out? There is no basic "how do I echo stuff" tutorial (that may explain divs and so on and lead into the wide world of javascript if you want to). People who want to script their own stuff are expected to know quite a bit about how webpages work (and it's not very obvious that Nexus is just a normal webpage).

    So they will be lead into the forest (Nexus), get said "it's all woodmanship" (It's all javascript), get a mobile device (for googling) and then the guide disappears.
  • I spent 30 minutes on Nexus last night, could not figure out how to make an alias do what I wanted to do. The interface is wonky at face value knowing nothing about it.

    I wanted to make this:
    ^d([a-Z])$

    local venom = {

    c = “curare”,
    k = “kalmia”,
    }

    ven1 = venom[matches[2]]

    send(“attack target with ven1”)

    I’m not sure if I was doing something wrong, but I couldn’t figure out where to actually code anything without the simplified scripting (which I don’t want to use). Help pls




    Penwize has cowardly forfeited the challenge to mortal combat issued by Atalkez.
  • Hmm I -think- you'd need to use the simplified scripting to make the alias call a function or script file that does what you want.
    Deucalion says, "Torinn is quite nice."
  • Is there no way to turn the interface into just a terminal? I don’t want to use simplified scripting, wanna code it for myself




    Penwize has cowardly forfeited the challenge to mortal combat issued by Atalkez.
  • Hmm well you need to at least hook up running your suite of scripts in the "on load" of the window.  Just like in mudlet you often have stuff run on load, same thing needs to happen for Nexus.  
    Deucalion says, "Torinn is quite nice."
  • edited December 2017
    Atalkez said:
    I spent 30 minutes on Nexus last night, could not figure out how to make an alias do what I wanted to do. The interface is wonky at face value knowing nothing about it.

    I wanted to make this:
    ^d([a-Z])$

    local venom = {

    c = “curare”,
    k = “kalmia”,
    }

    ven1 = venom[matches[2]]

    send(“attack target with ven1”)

    I’m not sure if I was doing something wrong, but I couldn’t figure out where to actually code anything without the simplified scripting (which I don’t want to use). Help pls
    Okay! I did some work on this, and the problem is basically that JS is not Lua.

    First thing: Nexus stores your regex matches inside args[], not matches[].
    Second thing: Javascript is zero-indexed like a proper language should be, so indexes start at 0.
    Third thing: The command to send text to the game is "client.send_direct()", not "send()".

    The script you are looking for would look something like this:

    <div>var venoms = {}
    venoms["c"] = "curare"
    venoms["k"] = "kalmia"
    client.send_direct("attack target with " + venoms[args[1]])</div>
    That stuff is buried way the fuck down in the documentation somewhere, and it took me forever to find it back when I was working on a Nexus auto-razing system for somebody on Imperian.
  • KryptonKrypton shi-Khurena
    That regex pattern will not work; you want:

    ^d(\w)$

    And you can use send_command in js, i.e.:

    send_command("attack target with " + venoms[args[1]])
  • Also

    local venom = {
     c : 'curare',
     k : 'kalmia',
    }

    note = != : dear god help us all
    "All we have to decide is what to do with the time that is given to us."

  • It sounded like the issue was that there's nowhere (obvious) to just put code without using the simplified scripting, not that he expected the Lua code he has in Mudlet to just work without changes.
    Krypton said:
    That regex pattern will not work; you want:

    ^d(\w)$

    And you can use send_command in js, i.e.:

    send_command("attack target with " + venoms[args[1]])
    Why won't that regex pattern work? If Nexus doesn't support pretty basic regular expressions in alias patterns then literally nobody should be using it.
  • KryptonKrypton shi-Khurena
    I think it's pretty obvious. When you create an alias/trigger/whatever, one of the drop-down options, "Execute script", is obviously a write-all-your-own-code-from-scratch-here window.
  • KryptonKrypton shi-Khurena
    Antonius said:
    Why won't that regex pattern work? If Nexus doesn't support pretty basic regular expressions in alias patterns then literally nobody should be using it.
    Because the range for all lowercase/uppercase letters is not "a-Z", but "a-zA-Z"?

    ^d([a-zA-Z])$ works.
  • Krypton said:
    Antonius said:
    Why won't that regex pattern work? If Nexus doesn't support pretty basic regular expressions in alias patterns then literally nobody should be using it.
    Because the range for all lowercase/uppercase letters is not "a-Z", but "a-zA-Z"?

    ^d([a-zA-Z])$ works.
    I didn't notice he'd mixed cases, so your post seemed to be implying that ranges aren't supported by Nexus.
  • Ranges between lower and upper case character work, if it's in the correct order: ^d(A-z)$ works as well. However, this will also include the following characters: [\]^_`
  • edited December 2017
    Anyways, back to the original subject...

    The most compelling reason to use Mudlet is because Nexus doesn't have decent mapping/pathfinding. Nexus is pretty powerful when you get under the hood, but the lack of a functional mapper/pathfinder makes Nexus a garbage-tier client in my eyes. 

    Pathfinding is just SO useful that there's no reason to use any client without that capability.
  • There's a pathfinder built by zahan now isn't there?
  • edited December 2017
    Yeah I knew Lua wasn’t going to work for JavaScript lol.

    I’ll work on it, thanks guys!




    Penwize has cowardly forfeited the challenge to mortal combat issued by Atalkez.
  • Zahan made the mapdb, it works like a charm. Use it all the time.
  • ZahanZahan Valhalla
    Torinn said:
    Hmm I -think- you'd need to use the simplified scripting to make the alias call a function or script file that does what you want.
    In all that I've done with nexus, I've never found anything that required simplified script.  I can't imagine how it could.
    Click here for Nexus packages
    Currently available: Abs, Cnote, Keepalive, Lootpet, Mapmod
  • Explain please?  How do you get a set of scripts to activate without using the simplified scripting?  Essentially, I'm curious how you get the script to be used by the webpage
    Deucalion says, "Torinn is quite nice."
  • edited December 2017
    Simplified scripting is exactly that: scripting made simple, for those who can't code very well (or just want to make something quick). That's literally why it was added to the client.

    You don't have to touch it whatsoever if you don't want to, and just code things the 'normal' way.
  • KryptonKrypton shi-Khurena
    I think Torinn is lumping using "Execute script" as "part of Simplified Scripting"?

    I do not. To me, "Execute script" is working with the base code terminal.
Sign In or Register to comment.