So usually I just ask Seragorn these questions, but he's gone for the weekend, so...
In mudlet, how do I make it overwrite original text and put what I want? I've seen people use this to rewrite their hunting attacks and such which is only visible on their end, but I'd like to use it for some other function.
What would cause a table value to equal <cycle>? That's all it says. It's not a string, as far as I know, because it doesn't have parentheses around it. Gonna try to type this out on my phone, so if syntax is off slightly, I apologize
So the problem is somewhere I am doing something similar to Table.Jadys = Table? It's mostly likely a "make sure my table is set" error using Table.Jadys = Table.Jadys or {} and I missed the Jadys part. Easy fix, if so. Thanks!
But will only work with one word commands like pc restore. How do I set that to capture anything else I put in, such as pc touch tree, or pc apply restoration to head or pc sing i'm a little teapot?
So I am going to start coding a name database tonight. I have been looking into the database functions in mudlet, and thus far feel very confused about how to go about this. I was just wondering if there is any true benefit to using a database over a table using table.save and table.load. I feel that creating the triggers to highlight names on load is going to turn out a lot easier for me personally if I use tables, and a table is capable of storing all the relevant data, so I guess my real question is how will this effect processing times.
Also, how safe is it to create temp triggers for every person in a database for coloring purposes? I was planning on naming them after the person I want to highlight, so it makes it easier to adjust people's faction on the fly. Any tricks to reduce script lag? I have a lot of grand ideas about this, just want to make sure I am not missing anything relevant.
Database is useful if you wanted to create an external program to access that data. Especially if you use mudlet to connect to a mysql instance or something similar. You could for instance have mudlet check certain information, add it to the database and have a webserver connecting to the same database that would be updated at the same time. There's also potentially performance improvements that can be had from using an sql database over simple tables. Additionally, it's much easier to search databases for instance, for all members of a class or city than it is to search tables for that information.
I use the YATCO chat capture still. I want to put a nice border about it just so it looks a little cleaner in my GUI. What would people advice on how to go about this?
A table in Lua can actually be one of two things: a dictionary or an ordered list. A dictionary is a set of key value pairs, a list is just a list. If you're familiar with JavaScript, think object versus array.
How you go about checking depends on which type you have. If it's an ordered list, then:
if table.contains(yourtable, "name") then x else y end
If it's a dictionary where the names are keys, then:
I've seen a few people who have date/time trackers on their GUIs and I was wondering on how they have done them? I assumed it would have been triggered on changes to (gmcp.IRE.Time.List) however despite this my (gmcp.IRE.Time) is still showing it to be late afternoon on the 21st of Glacien despite it being midnight on the 23rd.
actually @Keneanung I've found that IRE.Time.List only gets updated on login. Never updated for me on checking DATE, TIME or any other actions than logging out and back in
Aurora says, "Tharvis, why are you always breaking things?!" Artemis says, "You are so high maintenance, Tharvis, gosh." Tecton says, "It's still your fault, Tharvis."
Can confirm that using DATE/TIME commands does not update IRE.Time.List @Keneanung : I've been using your documentation as a bible. But this is uh, a pit fall as I wish I could have an updating time/date to help out whne you are stuvk indoors for a while
Maybe I remember wrong then and it was a (almsot) completely filled update. I'll have a look at that again. But the actual answer to Tahquil's question is still that she has to use the "Update"
update goes up a number every few seconds, and at stages where "moonphase" etc rolls over, the variable daynight vanishes from Update and update becomes
anyway. Daynight seems to go up to 360, could be wrong
Aurora says, "Tharvis, why are you always breaking things?!" Artemis says, "You are so high maintenance, Tharvis, gosh." Tecton says, "It's still your fault, Tharvis."
I've seen a few people who have date/time trackers on their GUIs and I was wondering on how they have done them?
Mine doesn't use GMCP, I just use a timer and synchronise with the day/night messages. The timer fires every 2.5 seconds (1 Achaean minute), incrementing the IC time and recording the current OOC time. When I'm outdoors to see the time messages (or on the day change, which is visible indoors), they set the correct time and reset the timer. When I first log in, it calculates the expected time based on the last OOC time recorded by the timer (so if I've been logged out for 15 OOC minutes, it adds 6 IC hours to the time), and if it's wrong (because of server lag/downtime/timewarps) it will be corrected on the next synchronisation (this is the biggest weakness, if I stay indoors after logging in it could have the wrong time for up to an hour).
update goes up a number every few seconds, and at stages where "moonphase" etc rolls over, the variable daynight vanishes from Update and update becomes
1. @Keneanung That github page is amazing, thanks.
2. Is there any reason why it was decided to create arbitrary module pairings for request/responses instead of clients sending the module they want a response for? For example, right now clients have to send Char.Skills.Get to receive an update to Char.Skills.List - wouldn't it make more sense to just have clients send Char.Skills.List?
3. Why is GMCP like five characters away from valid JSON?
#2 would need to be answered by somebody who works for IRE, and I don't know if/how often they look at this particular thread.
#3 sounds like it would need to go to whoever was in charge of designing the GMCP protocal. That's not anybody involved with Achaea/IRE specifically, as far as I know.
From what I remember (it's been a long time), the not-quite-JSON (though some JSON parsers will accept it) was pretty much just an arbitrary decision by IRE and Zugg (mostly Zugg, I think?). I don't remember there being any particular reason for it.
Comments
In mudlet, how do I make it overwrite original text and put what I want? I've seen people use this to rewrite their hunting attacks and such which is only visible on their end, but I'd like to use it for some other function.
Which one to use depends on if you want to change only a part (first variant) or the whole message (second).
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Luckily Seragorn logged in again and saved the day! :hurrah: Thank you anyways, though! I appreciate it.
local a = {}
{
local b = a
a[2] = b
I've got an alias of:
^pc (\w+)$
which does:
send("puppet command " ..matches[2])
But will only work with one word commands like pc restore. How do I set that to capture anything else I put in, such as pc touch tree, or pc apply restoration to head or pc sing i'm a little teapot?
tia.
\w+ only matches a string of alphanumeric characters, so will stop matching as soon as it reaches a space. .+ matches everything.
Results of disembowel testing | Knight limb counter | GMCP AB files
Also, how safe is it to create temp triggers for every person in a database for coloring purposes? I was planning on naming them after the person I want to highlight, so it makes it easier to adjust people's faction on the fly. Any tricks to reduce script lag? I have a lot of grand ideas about this, just want to make sure I am not missing anything relevant.
Additionally, it's much easier to search databases for instance, for all members of a class or city than it is to search tables for that information.
Basically want to say IF <name is in a table> do X ELSE do y.
Any pointers on where to start?
A table in Lua can actually be one of two things: a dictionary or an ordered list. A dictionary is a set of key value pairs, a list is just a list. If you're familiar with JavaScript, think object versus array.
How you go about checking depends on which type you have. If it's an ordered list, then:
if table.contains(yourtable, "name") then x else y end
If it's a dictionary where the names are keys, then:
if yourtable["name"] then x else y end
Results of disembowel testing | Knight limb counter | GMCP AB files
So giving and so kind.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Artemis says, "You are so high maintenance, Tharvis, gosh."
Tecton says, "It's still your fault, Tharvis."
@Keneanung : I've been using your documentation as a bible. But this is uh, a pit fall as I wish I could have an updating time/date to help out whne you are stuvk indoors for a while
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Still no dice.
Upate : {
time = "...."
moonphase = "...."
something else
}
anyway. Daynight seems to go up to 360, could be wrong
Artemis says, "You are so high maintenance, Tharvis, gosh."
Tecton says, "It's still your fault, Tharvis."
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
1. @Keneanung That github page is amazing, thanks.
2. Is there any reason why it was decided to create arbitrary module pairings for request/responses instead of clients sending the module they want a response for? For example, right now clients have to send Char.Skills.Get to receive an update to Char.Skills.List - wouldn't it make more sense to just have clients send Char.Skills.List?
3. Why is GMCP like five characters away from valid JSON?
instead of something like
?
#2 would need to be answered by somebody who works for IRE, and I don't know if/how often they look at this particular thread.
#3 sounds like it would need to go to whoever was in charge of designing the GMCP protocal. That's not anybody involved with Achaea/IRE specifically, as far as I know.
Results of disembowel testing | Knight limb counter | GMCP AB files
Is there a way to set the main window size to a certain size so I don't have to resize each time I log into Achaea?