Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

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

2»

Comments

  • AntoniusAntonius Posts: 4,244Member @@ - Legendary Achaean
    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.
    Shirszae
  • JacenJacen Posts: 2,271Member @@ - Legendary Achaean
    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
  • KeneanungKeneanung Posts: 554Member ✭✭✭✭ - Eminent
    That's why I added the "more or less specific" part ;)
  • TorinnTorinn Posts: 595Member ✭✭✭✭ - Eminent
    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."
  • JacenJacen Posts: 2,271Member @@ - Legendary Achaean
    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
    Keneanung
  • TorinnTorinn Posts: 595Member ✭✭✭✭ - Eminent
    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."
  • KeneanungKeneanung Posts: 554Member ✭✭✭✭ - Eminent
    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.
  • AtalkezAtalkez Posts: 4,135Member, Secret Squirrel @@ - Legendary Achaean
    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


    You hug Aurora compassionately.
  • TorinnTorinn Posts: 595Member ✭✭✭✭ - Eminent
    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."
  • AtalkezAtalkez Posts: 4,135Member, Secret Squirrel @@ - Legendary Achaean
    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


    You hug Aurora compassionately.
  • TorinnTorinn Posts: 595Member ✭✭✭✭ - Eminent
    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."
  • NazihkNazihk Posts: 785Member @ - Epic Achaean
    edited December 8
    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:

    var venoms = {}
    venoms["c"] = "curare"
    venoms["k"] = "kalmia"
    client.send_direct("attack target with " + venoms[args[1]])
    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-KhurenaPosts: 2,274Member @@ - Legendary Achaean
    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]])
    (Mhaldor): Herenicus says, "Apologies, I am in-and-out of hold with Verizon wireless customer service."
  • TysandrTysandr Posts: 203Member ✭✭✭ - Distinguished
    Also

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

    note = != : dear god help us all
    Proof of Concepts: Sailing Map, Trading
    bounty
    "It's not rocket surgery."

  • AntoniusAntonius Posts: 4,244Member @@ - Legendary Achaean
    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.
    Atalkez
  • KryptonKrypton shi-KhurenaPosts: 2,274Member @@ - Legendary Achaean
    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.
    (Mhaldor): Herenicus says, "Apologies, I am in-and-out of hold with Verizon wireless customer service."
    Zekeros
  • KryptonKrypton shi-KhurenaPosts: 2,274Member @@ - Legendary Achaean
    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.
    (Mhaldor): Herenicus says, "Apologies, I am in-and-out of hold with Verizon wireless customer service."
    Tysandr
  • AntoniusAntonius Posts: 4,244Member @@ - Legendary Achaean
    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.
  • KeneanungKeneanung Posts: 554Member ✭✭✭✭ - Eminent
    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: [\]^_`
  • NazihkNazihk Posts: 785Member @ - Epic Achaean
    edited December 8
    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.
  • KietKiet Posts: 2,228Member @@ - Legendary Achaean
    There's a pathfinder built by zahan now isn't there?
  • AtalkezAtalkez Posts: 4,135Member, Secret Squirrel @@ - Legendary Achaean
    edited December 8
    Yeah I knew Lua wasn’t going to work for JavaScript lol.

    I’ll work on it, thanks guys!


    You hug Aurora compassionately.
  • LhexLhex Posts: 10Member
    Zahan made the mapdb, it works like a charm. Use it all the time.
    ZahanLaedha
  • ZahanZahan ValhallaPosts: 200Member ✭✭✭ - Distinguished
    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
    Tysandr
  • TorinnTorinn Posts: 595Member ✭✭✭✭ - Eminent
    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."
  • AlyxeriAlyxeri Posts: 351Member ✭✭✭✭ - Eminent
    edited December 8
    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.
    Zahan
  • KryptonKrypton shi-KhurenaPosts: 2,274Member @@ - Legendary Achaean
    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.
    (Mhaldor): Herenicus says, "Apologies, I am in-and-out of hold with Verizon wireless customer service."
2»
Sign In to Comment.