Dancer Archive

Thread: TH Statement on how Recursive Macros might be handled

QuixoticJedi1
Tue Aug 10, 2004 10:10 am
#1

In case you missed it.


TH Said:


We'll have more info for sure later this week, but for now, I wouldnt worry (this change won't be happening until well after Publish 10). Something along the lines of a time limit or a check for an infinite loop is what we will most likely see.





Quix'Otic

Knight Errant of the

Gypsy Court


Devika
Tue Aug 10, 2004 10:14 am
#2

Thank you Quix'Otic


Sounds like we don't have to try and figure out how to make our flawless choreographed performances work by hand. lol




Devika
.:.Master Tailor / Image Design - Dabbler of the Dance.:.



SmedleyLlama
Tue Aug 10, 2004 1:03 pm
#3






Tiaga wrote:





SmedleyLlama wrote:





Drygo wrote:

That would be wonderful. The time limit thing would make it even more difficult for buffbots, but make it easier for people to use their macros.







From the stand point of Buff Bot elimination, this is really bad news. It means the Buff Bot owner can load 144 ten minute macros (assuming the limit is 10 minutes), put one in each toolbar slot, have each end by calling the next and run unattended for 24 hours. Since it wouldn't be an infinite loop and the macro time was limited, the Buff Bot owner would only have to restart the cycle once every 24 hours. Basically cascading macros rather than recursive.


If he's right and this is how they are doing it, I think it will be a useless gesture.






Time limits don't have to be per macro. It can be overall (An idea mentioned a lot; dumping all macros after a period of inactivity) or even per macro chain.. Such that one macro would inherit the remaining limit of the macro that called it. So in your example, the second macro would have 10 minutes less in it's limit than the first. That means it would pretty much be killed before even getting in a single command if the limit is also 10 minutes.






Possibly.. Although since the game regards each "click" of a toolbar slot to be an action from the player (whether by macro or actual mouse click) I'm not sure that can be done. That's why people do not get booted after being inactive right now, with a macro running. Since they are trying to solve the problem by removing the macros rather than simply booting inactive people, I would think there is a problem with that solution.


I suppose we'll have to wait and see.


Tiaga
Tue Aug 10, 2004 1:17 pm
#4

The server doesn't know anything about toolbar clicks. It just knows commands. That is why macros prevent you from being logged out, not because of the toolbar click. The toolbar click doesn't prevent auto-AFK from triggering either, because the client can differentiate them.

The thing with programming is nearly anything can be done. It's just a matter of effort.

In this case, I've done something very similar in the past, for different reasons. It was in a game where players could write short scripts. One of the things they could do was force a player or object to issue a command. The server didn't distinguish this as coming from a real player or coming from a script. This created a problem if a player managed to find a way to force a priveleged character to do something. The specific case involved forcing the all powerful character to do some things that only that character is supposed to be able to do. The trouble is, other players appointed to help run things had as a power the ability to force anyone to do a command. As such, they could get that player to do anything they wanted.

Since the server didn't distinguish forced commands vs regular commands, it's a lot like the problem here, except here it's client side scripts. The implementation turned out to be very easy, and I was able to add in a check that tracked who really started the command and if it was a forced command. Something similar could be done in the SWG client to track when a command was really started vs when the current macro was started, which may be more recent if it was the result of a macro call.

Of course, without any knowledge of how the client actually works, I can't say for sure the implementation would be as easy, but such a thing is definately possible.



Inside my heart is breaking, my make-up may be flaking
But my smile still stays on
My soul is painted like the wings of butterflies
Fairytales of yesterday will grow but never die
I can fly - my friends
SWG Entertainer.com Fashions by TK

Kyorlana
Tue Aug 10, 2004 1:29 pm
#5

*watches closely with a skeptical eye*

SmedleyLlama
Tue Aug 10, 2004 1:33 pm
#6






Tiaga wrote:
The server doesn't know anything about toolbar clicks. It just knows commands. That is why macros prevent you from being logged out, not because of the toolbar click. The toolbar click doesn't prevent auto-AFK from triggering either, because the client can differentiate them.

The thing with programming is nearly anything can be done. It's just a matter of effort.





Sorry.. Maybe clicks was the wrong word, that's why I put it in quotes. Since each click is actually sending a command to the server, you still get what I'm talking about.


So, youdon'tthink that ,if they could simply base all of this off of an inactivity timer, they wouldn't just boot players that were inactive for any period of time? Rather than going through this firestorm over recursive macros?


Who knows.. Maybe I've just lost my faith in the Devs reallyproviding the effortto do things right.


Tiaga
Tue Aug 10, 2004 3:05 pm
#7

Is there really any difference between disconnecting inactive players and killing the macros of inactive players? The latter merely gives them an extra 15 or so minutes before they are logged out.



Inside my heart is breaking, my make-up may be flaking
But my smile still stays on
My soul is painted like the wings of butterflies
Fairytales of yesterday will grow but never die
I can fly - my friends
SWG Entertainer.com Fashions by TK

SmedleyLlama
Tue Aug 10, 2004 3:13 pm
#8






Tiaga wrote:
Is there really any difference between disconnecting inactive players and killing the macros of inactive players? The latter merely gives them an extra 15 or so minutes before they are logged out.






No and that's my point.


Why bother with the fuss from the players opposed to the idea, and design a new system to track macro length and infinite loops, when the system already exists to boot an inactive player offline. Unless that system has a flaw caused by the macro system. A flaw that would have to be fixed before they could track the length of multiple macros, and that would render the need to doso unnecessary.



EDIT - Typo fix

Message Edited by SmedleyLlama on 08-10-2004 06:14 PM

Tiaga
Tue Aug 10, 2004 3:32 pm
#9

The existing system is server-side. Trouble is, to the server there is no difference between a command from the player and a command from a macro. Even if there is, what about someone that uses a lot of one liner macros? Those will all be commands from macros, yet they would be pretty much straight from the player. So you'd need to track times anyway.

Whatever is done should be purely client side. It COULD be done server side, but that would increase bandwidth usage. While it's true "the client is in the hands of the enemy" and so can not be trusted... If someone is going to try and find a way around it, they are going to use 3rd party programs, not hack the client to disable the timer.



Inside my heart is breaking, my make-up may be flaking
But my smile still stays on
My soul is painted like the wings of butterflies
Fairytales of yesterday will grow but never die
I can fly - my friends
SWG Entertainer.com Fashions by TK

Drygo
Wed Aug 11, 2004 12:31 am
#10

That would be wonderful. The time limitthing would make it even more difficult for buffbots, but make it easier for people to use their macros.



- I support hawtpants
SmedleyLlama
Wed Aug 11, 2004 12:48 am
#11






Drygo wrote:

That would be wonderful. The time limitthing would make it even more difficult for buffbots, but make it easier for people to use their macros.







From the stand point of Buff Bot elimination, this is really bad news. It means the Buff Bot owner can load 144 ten minute macros (assuming the limit is 10 minutes), put one in each toolbar slot, have each end by calling the next and run unattended for 24 hours. Since it wouldn't be an infinite loop and the macro time was limited, the Buff Bot owner would only have to restart the cycle once every 24 hours. Basically cascading macros rather than recursive.


If he's right and this is how they are doing it, I think it will be a useless gesture.


QuixoticJedi1
Wed Aug 11, 2004 12:55 am
#12






SmedleyLlama wrote:





From the stand point of Buff Bot elimination, this is really bad news. It means the Buff Bot owner can load 144 ten minute macros (assuming the limit is 10 minutes), put one in each toolbar slot, have each end by calling the next and run unattended for 24 hours. Since it wouldn't be an infinite loop and the macro time was limited, the Buff Bot owner would only have to restart the cycle once every 24 hours. Basically cascading macros rather than recursive.


If he's right and this is how they are doing it, I think it will be a useless gesture.







He didn't say that there was definately going to be a time limit - he said a time limit is one possibility or a check for recursive macros. I have faith that they are planning on implementing something that prevents one from repetitively calling macros - recursive, cascading, etc.



Quix'Otic

Knight Errant of the

Gypsy Court


Tiaga
Wed Aug 11, 2004 12:58 am
#13



SmedleyLlama wrote:


Drygo wrote:
That would be wonderful. The time limit thing would make it even more difficult for buffbots, but make it easier for people to use their macros.



From the stand point of Buff Bot elimination, this is really bad news. It means the Buff Bot owner can load 144 ten minute macros (assuming the limit is 10 minutes), put one in each toolbar slot, have each end by calling the next and run unattended for 24 hours. Since it wouldn't be an infinite loop and the macro time was limited, the Buff Bot owner would only have to restart the cycle once every 24 hours. Basically cascading macros rather than recursive.

If he's right and this is how they are doing it, I think it will be a useless gesture.




Time limits don't have to be per macro. It can be overall (An idea mentioned a lot; dumping all macros after a period of inactivity) or even per macro chain.. Such that one macro would inherit the remaining limit of the macro that called it. So in your example, the second macro would have 10 minutes less in it's limit than the first. That means it would pretty much be killed before even getting in a single command if the limit is also 10 minutes.



Inside my heart is breaking, my make-up may be flaking
But my smile still stays on
My soul is painted like the wings of butterflies
Fairytales of yesterday will grow but never die
I can fly - my friends
SWG Entertainer.com Fashions by TK

Page 1 of 1
Previous Next