Dancer Archive
Thread: Idea for solving AFK macroing For players and DEVs alike to read
I loath people who use the macro system to gain xp while not at their keyboard. However, I do think the /ui action command is very powerful and I'd hate to see it go. I do not think I have much to worry about as the devs have also shown that they want to keep it to, by trying to find other solutions to the AFK sampling problem. So with that in mind I have an idea that would stop infinitely recursive macros, while still allowing the power of the system to be used.
First a little background. A long time ago in a galaxy far... *ahem* I mean to say, back in my text MUD days, I used to do programming work on a variant of a variant of a varaint of MUD. The server was TinyMUCK 2.2 FuzzBall. In this server there was of course a vast usefullness of commands. One was called "@force". Originally implemented for "Wizards" (The GMs of the game) to cause players to execute commands as if they typed it, it was expanded to allow players to control objects, or even have scripts control the players. To do this, permission checks were implemented, and all was good. However, if something wasn't well done, it was possible for a player to force another player/object to force someone else to do something. There were other issues with @forcing certain priveleged commands, but that is the one I will focus on.
Now, this would normally be easy to fix, except that commands are not executed to completion. The server internally timeslices players, and queues the commands. So when the @force is used, the player doesn't do it right away, they do it next time they get a timeslice. This is very similar to how the SWG client works with macros. When a macro executes, it may be running in the background while you do other things. So a command not part of the macro may come in the middle of commands that are part of the macro.
The change to solve the @force problem was fairly simple, though a bit far reaching in code touched. Basically, a flag was added to indicate if the command being used was the result of a @force. This flag was saved when the current command execution context was saved, and restored when it was restored. So regular commands in between would come up normally. Then when @force was requested, the server would check this flag, and give an error if it was set.
I believe the same type of thing could be applied to the SWG client. Whenever there is a batch of commands executed (As in a macro or alias) a flag would be set. If the batch of commands /pauses, the flag would be saved with the context. If the command tries to execute a new batch of commands (/ui action that triggers a macro or an alias) and the flag is set, it would return an error.
Of course there are downside. It does limit the usefulness of macros. However not much. There is still the ability to create quite long macros. I think no ligitimate uses of macros would truly be hurt much. Furthermore, it doesn't stop 3rd party programs, but little can completely stop it. This just keeps more people honest.
Some possibilities to go with this:
- Limit macro execution time to, say, 30 minutes
- Limit length of allowed /pause to, say, 2 minutes
- Make the server kick off anybody who would be auto-flagged as AFK for, say, 30 minutes (Even if they disable the auto-flagging)
Those are my thoughts.
Tiaga wrote:
I loath people who use the macro system to gain xp while not at their keyboard.
Why?
You talk of "solving" AFK macroing, but to me "solve" implies that there is a problem.
In addition, noone is suggesting getting rid of macros, they're suggesting getting rid of the ability to earn experience while not at the keyboard.
- J
My highest xp for a single flourish is nearly 300xp. I am almost a master dancer. I did maybe a half hour of AFK dancing during the entertainer tree, while playing around with macros. I have done so AFK dancing since attaining novice dancer.
I was not bored. I almost quit a few times, but it was not because of boredom, it was because of abusive players who treat entertainers like healing bots the AFK people make themselves out to be.
And if being an entertainer is so boring, why are you bothering to do it at all? Do you think that reaching master will suddenly make it interesting? Not every class suits everyone's playstyle, if you have to be AFK to do it, it obviously doesn't suit yours. You don't see me going to the brawler's forum and asking for a way to earn xp while AFK because I find going out and killing things boring do you?
I am an entertainer. However, I ask.. Are you? You may say yes, but I'd point out that if all you do is just macro and go AFK, your macros are an entertainer, not you.
I ran a MUSH for a long time so I know how this worked (it's similar in PennMUSH). I think it could work but it may be overly complex.
Why not just limit macro calls to say 60 seconds? After that they just stop.
Wouldn't harm people at-keyboard. They can still write songs and dance numbers, just do them in 60 second chunks and re-execute. Only people AFK would be harmed, which is what you are (correctly, IMO) targeting.
C
Chessack, you may be right about it being overly complex. It really depends on how the client is designed. However, I can infer that it already saves context on commands, so adding additional context isn't hard. Having implemented this myself, I found it not overly complex, and that was with old, kludgy, fourth or fifth hand, crufty spaghetti code.
Some of the alternatives would make good solutions on their own, like limiting macro runtimes. I'd be hesitant to go as low as a minute.. I'm working on a song/dance routine that lasts a few minutes, but 5 or 10 minutes wouldn't be unreasonable for a max macro run. However, I would argue that it is no less complex, as it still requires saving context with the macro run.
I think it's more of lack of interesting things to do to keep you at the keyboard. I hate the nerf bat solutions like the one above. I have heard soloutions like targeted buffs or something a little more interactive.
By nerfing macros you just make a repetitive task even worse. As a master dancer sometimes i will go to out of the way places that never have any entertainers where i will be lucky to have someone come and see me every 15 minutes or longer. I don't need the exp (and i don't really need the cash) but by afk macroing while i am reading a book or watching TV helps those poor saps who would have no entertainer at all.
I say give us something to be at the keyboard, so that reading a book isn't more interesting.
Gohan, I'M a dancer. I'm 5 skills away from master.
I'm also a Master Entertainer. And nearing Knowledge II in the Musician tree, not to mention I've max'd the hairstyling tree in Image Designer.
And it was done without the use of macros, AFK or otherwise.
So DON'T include me in your little world of LAMErs, thanks. I did it all myself, at the keyboard.
I'm offended that you even presume to speak for all Entertainers on this subject. Because you DEFINATELY do not speak for me in defending LAMErs.
And if you're not familiar with the term: Long-term AFK Macro Entertainers.
Have a nice day.
And to whoever came up with the term, thank you. ^.^ Credit to you. ![]()