I've never built a GUI in Mudlet so I have no idea what the actual commands are, so consider this semi-pseudo code for how I'd go about updating an affliction mini console.
function updateMiniConsoleAffs()
-- clear miniconsole
for affname, affdata in pairs(svo.affl) do
-- echo affname to miniconsole
-- echo any other relevant information about the affliction from affdata (e.g. stacks, time)
-- echo a new line to the miniconsole
end
end
registerAnonymousEventHandler("svo got aff", "updateMiniConsoleAffs")
registerAnonymousEventHandler("svo lost aff", "updateMiniConsoleAffs")
The registerAnonymousEventHandler function is just a code way to do the same thing as the event handler section of the script objects in the Mudlet interface, though it also allows you to give the function a different name to the script object.
Thank you so much @Antonius, that snippet was all I needed to get it up and running within two minutes. I knew I could get the info from svo.affl, I just didn't know how. Would you mind explaining what this part does?:
for affname, affdata in pairs(svo.affl) do
I know it's pulling the name of the affliction from the svo.affl table and then running the following echos as a result of the do, I'm just not sure how it's making sense of it enough to just get the single word since when I run vlua svo.affl there's a bunch of other things that come up along with it.
Okay, so svo.affl is a table. Lua has two types of tables. Dictionaries which map keys to values and ordered (or indexed) lists which are just lists of values that have a set order. Values can be booleans, numbers, strings or other tables. In the case of svo.affl it's a dictionary which maps the name of an affliction (the key) to a table of data about that affliction (the value).
The pairs function is an iterator over a table. It goes through each key in turn, and returns the key and its corresponding value. The for loop just loops through each of those pairs of return values. In effect, it's saying "For every key (affliction name) of the table svo.affl, give me - in turn - the next key and its corresponding value, and execute this code using the values for the current iteration".
A couple of notes:
1. There's no guarantee of order when using the pairs function. Running in multiple times isn't guaranteed to return the keys in the same order, nor is it guaranteed to return the keys in the order they were assigned in the table. As a result, it's not designed for iterating over the other type of table: ordered lists. There's a similar function - ipairs - to do that.
2. The affname and affdata variables can be called anything you like, provided it's a valid variable name. A lot of people will just use k (key) and v (value) but I prefer to give them names that actually indicate what they are since it makes the code a lot easier to read.
Thanks for the explanation! I've seen the k, v variables in a lot of pieces of code but didn't realize you could give them names like that which makes a lot of things make more sense.
While I'm a little early this time around, I will still make the mid-month update post now from the airportof Atlanta Sadly the post will not actually contain an update because I was busy with a mixture of work, family and working on the muliclass implementation and I didn't receive any contributions either.
But on the other hand I can say that multiclass recently started closed beta. I will be fixing the issues that came up until now and then increase the number of testers. Since the multiclass adaption saw a number of changes that will touch single class versions, I will also need people to test those.
If you want take part in that program, please send me a message either in game or on the forums with the class(es) you'd like to test and anything else that could persuade me to choose you before the others!
Having a strange issue with NameDB. When I run qw update, it goes through the process of honors'ing everyone, which is good! This is good. However, with my next qw, everyone from Hashan, Ashtan and Cyrene is suddenly defaulted to 'rogue' in the db.
I just want highlighting. Help
The soul of Ferrus says in Targossian in a warm tabac-stained voice, "Fear the tuna."
Before I run through checking, is there an alternative, standalone highlighting script that anyone is aware of? I've not seen one on my brief looks around.
How can I get the knight limb counter as a Bard? I tried copying the xml into a notepad doc and installing it via the package manager. It shows all the aliases, scripts, and triggers, but it simply doesn't work
The actual code is part of the big "svo" file and tightly interwoven with internal functions. I'm looking into getting this tight coupling resolved as part of the multiclass changes.
The actual code is part of the big "svo" file and tightly interwoven with internal functions. I'm looking into getting this tight coupling resolved as part of the multiclass changes.
Cool. I was able to get the one Antonius put up working and have grown rather fond of it, so no biggie. All the work is appreciated! Those of us who don't have the magic think you're all a bunch of geniuses
I've just installed Svof (I'm a complete Mudlet noob so this is absolutely AMAZING for someone like me, so thank you). One thing tho, I've read all the documentation and I am trying to get "qwhom" and "qwhom/qwho <area>" working but every time I do it, it does this:
qwhom:
(svof): Done checking all of wholist! (svof): 72 ungemmed people are visible: in uncertain area: [snipped out names to reduce spam, but basically shows everyone as uncertain area, and from the documentation I thought this would list by area, I have the mapper open, crowdmap on, etc] in Atop the Eleusian Gatehouse: Isvariel and Laniara (2 people) in A chilly, vaulted chamber within : Rom (1 person) in Inside the Class and House Admini: Luph and Rhae (2 people)
qwho Ashtan (svof): Checking all of wholist in Ashtan... You have recovered balance on all limbs. (1.06s) 4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%] (svof): Done checking all of wholist! (svof): 74 ungemmed people are visible: 4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
qwhom Ashtan (svof): Checking all of wholist for m in Ashtan... You have recovered balance on all limbs. (0.75s) 4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%] (svof): Done checking all of wholist! (svof): 73 ungemmed people are visible: 4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
I don't know if this is related but when I do who b (using the mapper script):
Daklore (The Azure Falcon) (9636) From your knowledge, that room is in ?. Hurai Lilacia (East of the forgeroom) (19301) From your knowledge, that room is in ?.
Always unknown areas - so is this something I am doing wrong with map? (I apologise in advance if this is the wrong thread / wrong way to raise a question).
Who the FUCK fucked with the fucking Enchanting script in SVOF!? Used to be in SVO I could put in ENCHANT X METEOR or whatever, and it'd enchant a nice batch for me. Now I have to watch as my system spews all this vitriolic bile about fucking selfishness and fucking "enchantment orders" and all this other fucking bullshit JUST LET ME FUCKING ENCHANT!! FIX IT OR I WILL HOLOCAUST YOUR FUCKING HOUSE, WHOEVER DID THIS
It lists all the commands, and once you adjust to it, it's actually pretty awesome.
If it's changed since then, no idea.
(D.M.A.): Cooper says, "Kyrra is either the most innocent person in the world, or the girl who uses the most innuendo seemingly unintentionally but really on purpose."
Who the FUCK fucked with the fucking Enchanting script in SVOF!? Used to be in SVO I could put in ENCHANT X METEOR or whatever, and it'd enchant a nice batch for me. Now I have to watch as my system spews all this vitriolic bile about fucking selfishness and fucking "enchantment orders" and all this other fucking bullshit JUST LET ME FUCKING ENCHANT!! FIX IT OR I WILL HOLOCAUST YOUR FUCKING HOUSE, WHOEVER DID THIS
Edit: Or at least tell me how it works.
The only one who "spews all this vitriolic bile" is you. The change to the enchanter was done by me and went in with version 7 and didn't change aside from bugfixes since then. All feedback I received about it was positive and agrees with me that the enchanter is now faster, more convenient and more reliable to use. It should even show barely a difference to before if you use it the same way.
If there were any issues and they were communicated in a way a civilized way, I'd be among the first to look into it. But your posts contains barely more than expletives insulting the people who strive to improvea change a complex system that you can use for free. If you don't like it, don't use it.
@KeneanungApologies for all the cursing. The enchanting stuff made my system crash a few times because it was spamming that stuff. I also find it entertaining to post like that! (Personal preference). Meant to get in touch with you about it anyway, though @Kyrra was already helpful.
Thanks for your response though! Looking forward to multiclass
P.S. never ever take anything i say with capslock on seriously. Ever.
@KeneanungApologies for all the cursing. The enchanting stuff made my system crash a few times because it was spamming that stuff. I also find it entertaining to post like that! (Personal preference). Meant to get in touch with you about it anyway, though @Kyrra was already helpful.
Thanks for your response though! Looking forward to multiclass
P.S. never ever take anything i say with capslock on seriously. Ever.
We don't take anything you say with or without caps seriously anyways Aegoth!
Another month another... not-update Real life and work on multiclass continues, so new releases are dependent on other contributions right now.
To encourage contributions, I'm announcing a new program: Bounties. The program allows people to set a bounty for reaching certain milestones (like fixing a bug, adding a feature), which will be paid out to the contributor(s) who deliver it. Some small print applies:
- The person filing the bounty can decide if the milestone is met, however, the project maintainer(s) may decide whether a feature is useful and the implementation fits into the current structure.
- The project maintainer(s) may be called in as mediators.
- Merging of code still happens on the maintainer(s) discretion.
- People may be excluded from this program if the need arises.
So how will this work for now: All bounty connected milestones will have a GitHub issue. Those issues are marked with a special label. People may add their bounties as own comments or via me. If I am adding a bounty comment, it will contain my PGP signature, for those who care.
On those grounds above, I will start to add the first bounty, which will already be an exception to the above: Each release I will name an MVP (most valuable person), who made the most important or useful contribution for this release cycle. In addition to my thanks and the title, this person will also receive a 10 credit prize from me.
Now back to the topic of multiclass: Since the only major issue left is priority handling on class switching (which can be worked around), I decided to start the already announced private beta program on it. That means I encourage everyone who is comfortable with using beta grade software to shoot me an in-game or forum message with the class(es) you'd like to test, an e-mail address I can use to contact you (creating mailing lists is much easier than sending a lot of messages) and any other info you think I might find useful when choosing next invitations. Having multiple classes is NOT a requirement because a lot of code in single class packages must be tested as well. ETA: I will release multiclass once I am comfortable with the amount of tests that went into it. So if no people volunteer, it will probably never get released. I won't hunt people as testers.
Is there an event raised or something set when the system sends a command? I'd like to do something with the sent stuff, but I'm not sure one way or the other if something already exists to interpret all outgoing traffic from the client.
I am retired and log into the forums maybe once every 2 months. It was a good 20 years, live your best lives, friends.
@Jonathin Bear in mind that - as far as I know - there's no way to tell if a command has been denied by another handler for that event. So it would actually be useful if Svof raised an event when it denies a command due to aeon/retardation.
Comments
I've never built a GUI in Mudlet so I have no idea what the actual commands are, so consider this semi-pseudo code for how I'd go about updating an affliction mini console.
The registerAnonymousEventHandler function is just a code way to do the same thing as the event handler section of the script objects in the Mudlet interface, though it also allows you to give the function a different name to the script object.
Results of disembowel testing | Knight limb counter | GMCP AB files
I know it's pulling the name of the affliction from the svo.affl table and then running the following echos as a result of the do, I'm just not sure how it's making sense of it enough to just get the single word since when I run vlua svo.affl there's a bunch of other things that come up along with it.
The pairs function is an iterator over a table. It goes through each key in turn, and returns the key and its corresponding value. The for loop just loops through each of those pairs of return values. In effect, it's saying "For every key (affliction name) of the table svo.affl, give me - in turn - the next key and its corresponding value, and execute this code using the values for the current iteration".
A couple of notes:
1. There's no guarantee of order when using the pairs function. Running in multiple times isn't guaranteed to return the keys in the same order, nor is it guaranteed to return the keys in the order they were assigned in the table. As a result, it's not designed for iterating over the other type of table: ordered lists. There's a similar function - ipairs - to do that.
2. The affname and affdata variables can be called anything you like, provided it's a valid variable name. A lot of people will just use k (key) and v (value) but I prefer to give them names that actually indicate what they are since it makes the code a lot easier to read.
Results of disembowel testing | Knight limb counter | GMCP AB files
Sadly the post will not actually contain an update because I was busy with a mixture of work, family and working on the muliclass implementation and I didn't receive any contributions either.
But on the other hand I can say that multiclass recently started closed beta. I will be fixing the issues that came up until now and then increase the number of testers. Since the multiclass adaption saw a number of changes that will touch single class versions, I will also need people to test those.
If you want take part in that program, please send me a message either in game or on the forums with the class(es) you'd like to test and anything else that could persuade me to choose you before the others!
That's it for today, cheers.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
I just want highlighting. Help
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Edit: Also. Thanks, @Keneanung
Svof
Mudlet Discord join up
Gotta add all the names yourself, though. Might conflict with ndb's highlighting. Unless you just disable ndb all together.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
qwhom:
(svof): Done checking all of wholist!
(svof): 72 ungemmed people are visible:
in uncertain area:
[snipped out names to reduce spam, but basically shows everyone as uncertain area, and from the documentation I thought this would list by area, I have the mapper open, crowdmap on, etc]
in Atop the Eleusian Gatehouse: Isvariel and Laniara (2 people)
in A chilly, vaulted chamber within : Rom (1 person)
in Inside the Class and House Admini: Luph and Rhae (2 people)
qwho Ashtan
(svof): Checking all of wholist in Ashtan...
You have recovered balance on all limbs. (1.06s)
4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
(svof): Done checking all of wholist!
(svof): 74 ungemmed people are visible:
4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
qwhom Ashtan
(svof): Checking all of wholist for m in Ashtan...
You have recovered balance on all limbs. (0.75s)
4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
(svof): Done checking all of wholist!
(svof): 73 ungemmed people are visible:
4987h, 3222m, 21570e, 15000w [ex] cdbkr [XP:91%]
I don't know if this is related but when I do who b (using the mapper script):
Daklore (The Azure Falcon) (9636)
From your knowledge, that room is in ?.
Hurai
Lilacia (East of the forgeroom) (19301)
From your knowledge, that room is in ?.
Always unknown areas - so is this something I am doing wrong with map? (I apologise in advance if this is the wrong thread / wrong way to raise a question).
Edit: Or at least tell me how it works.
It lists all the commands, and once you adjust to it, it's actually pretty awesome.
If it's changed since then, no idea.
If there were any issues and they were communicated in a way a civilized way, I'd be among the first to look into it. But your posts contains barely more than expletives insulting the people who strive to improvea change a complex system that you can use for free. If you don't like it, don't use it.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Thanks for your response though! Looking forward to multiclass
P.S. never ever take anything i say with capslock on seriously. Ever.
To encourage contributions, I'm announcing a new program: Bounties. The program allows people to set a bounty for reaching certain milestones (like fixing a bug, adding a feature), which will be paid out to the contributor(s) who deliver it.
Some small print applies:
On those grounds above, I will start to add the first bounty, which will already be an exception to the above: Each release I will name an MVP (most valuable person), who made the most important or useful contribution for this release cycle. In addition to my thanks and the title, this person will also receive a 10 credit prize from me.
Now back to the topic of multiclass: Since the only major issue left is priority handling on class switching (which can be worked around), I decided to start the already announced private beta program on it. That means I encourage everyone who is comfortable with using beta grade software to shoot me an in-game or forum message with the class(es) you'd like to test, an e-mail address I can use to contact you (creating mailing lists is much easier than sending a lot of messages) and any other info you think I might find useful when choosing next invitations. Having multiple classes is NOT a requirement because a lot of code in single class packages must be tested as well. ETA: I will release multiclass once I am comfortable with the amount of tests that went into it. So if no people volunteer, it will probably never get released. I won't hunt people as testers.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
I can also help with testing multiclass for sylvan/serpent/dragon.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Is there a way that I can add someone so that when they hoist I will not writhe? Similar to the lust list?
Talamond Averial says, "You are the least charming siren ever."
Currently, there is no "hoist list". But I added it to the list of feature requests. See https://github.com/svof/svof/issues/149
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Results of disembowel testing | Knight limb counter | GMCP AB files