station.com Sign In / Change User Join Free Why Join? See the world of SONY
   
Search the Knowledge Base Games Community Store My Account Help
Star Wars Galaxies
Entertainer
Sign In  ·  Help
Jump to Page:   1 · 2  |  Next Page
 
UIltimate Buff Timer!   [ Edited ]
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 1 of 28

Viewed 1564 times


Was doing some hardcore buffing in Theed today to take the business from a bot, and I threw together what I call the ultimate buff timer. I had been using group to tell people it was done, but that didn't work if I wasn't grouped, and confused people if I was doing more than one sometimes.

So, this timer will watch any number of people, in group or not. After 3 minutes it will send them a /tell saying they are done.

Edit: Ultimate buff timer v 2.0
bufftimer /:buff:start;/:buff:pre:setname

:buff:pre:setname /alias :buff:pre:alias /:buff:pre:cmd
:buff:pre:setcmd /alias :buff:pre:cmd
:buff:tell:set /alias :buff:tell:send /tell

:buff:start /pause 0.2;/:buff:pre:setcmd /tell;/pause 0.2;/:buff:tell:start;/:buff:pre:setcmd /:buff:time;/pause 0.2;/:buff:pre:alias

:buff:time /pause 210;/:buff:tell:all;/:buff:tell:set

:buff:tell:all /pause 0.2;/:buff:tell:1;/:buff:tell:2;/pause 2;/:buff:tell:3

:buff:tell:start /:buff:pre:alias Just watch me and sit tight for 3 minutes. I'll send you a tell when the buff is done.
:buff:tell:1 /:buff:tell:send Your buff is done! You can stop watching whenever you are ready to leave.
:buff:tell:2 /:buff:tell:send If you will be getting a buff from a musician, be sure to stop watching me first, or the buffs may not work.
:buff:tell:3 /:buff:tell:send Thank you for supporting live entertainers! We'll still be here when the buffbots are gone.


To use it, type /bufftimer Name. So if you are buffing Luke, you type /bufftimer Luke. If you are doing a musician buff, change watch to listen, and musician to dancer (In the warning about getting another buff.) You can also change the delay by changing 210 (3:30) to whatever you wanted. For example, 480 for 8 minutes.



The original method and notes:

:buff:tell:set /alias :buff:tell:send /tell
:buff:tell:start /ttell Just watch me and sit tight for 3 minutes. I'll send you a tell when the buff is done.
:buff:tell:1 /:buff:tell:send Your buff is done! You can stop watching whenever you are ready to leave.
:buff:tell:2 /:buff:tell:send If you will be getting a buff from a musician, be sure to stop watching me first, or the buffs may not work.
:buff:tell:3 /:buff:tell:send Thank you for supporting live entertainers! We'll still be here when the buffbots are gone.
:buff:tell:all /pause 1;/:buff:tell:1;/:buff:tell:2;/pause 2;/:buff:tell:3
bufftimer /:buff:tell:start;/pause 210;/:buff:tell:all;/:buff:tell:set


To use it, simply target your intended buffee do /bufftimer Name. So if you are buffing Joe, you /target Joe then /bufftimer Joe. Yes, you need to have them targetted and also name them. The target is for the first tell, the name for the rest. If I think of a better way, I'll post it here.

Message Edited by Tiaga on 01-14-2005 12:49 AM

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
08-20-2004 11:17 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Banthabutcher
Jedi
Posts: 2268
Registered: 06-26-2003


Banthabutcher
PA: The Imperial Guard
Server: Naritus

Reply 2 of 28

Viewed 1500 times




Tiaga wrote:
Was doing some hardcore buffing in Theed today to take the business from a bot, and I threw together what I call the ultimate buff timer. I had been using group to tell people it was done, but that didn't work if I wasn't grouped, and confused people if I was doing more than one sometimes.

So, this timer will watch any number of people, in group or not. After 3 minutes it will send them a /tell saying they are done.

:buff:tell:set /alias :buff:tell:send /tell
:buff:tell:start /ttell Just watch me and sit tight for 3 minutes. I'll send you a tell when the buff is done.
:buff:tell:1 /:buff:tell:send Your buff is done! You can stop watching whenever you are ready to leave.
:buff:tell:2 /:buff:tell:send If you will be getting a buff from a musician, be sure to stop watching me first, or the buffs may not work.
:buff:tell:3 /:buff:tell:send Thank you for supporting live entertainers! We'll still be here when the buffbots are gone.
:buff:tell:all /pause 1;/:buff:tell:1;/:buff:tell:2;/pause 2;/:buff:tell:3
bufftimer /:buff:tell:start;/pause 210;/:buff:tell:all;/:buff:tell:set


To use it, simply target your intended buffee do /bufftimer Name. So if you are buffing Joe, you /target Joe then /bufftimer Joe. Yes, you need to have them targetted and also name them. The target is for the first tell, the name for the rest. If I think of a better way, I'll post it here.

If people want I'll post an explanation of how it works later. My brains hurts too much right now though.

Message Edited by Tiaga on 08-20-2004 11:29 PM



All I can say is...
 
Wow!
 
This is awsome! You're the best, Tiaga.
 
The best part? It only works if you're ATK
 
I think there's a typo in the second line (extra t). Might want to fix it for us lazy people who like to copy-paste stuff.
 
Oh, and happy 4000th post. It's a good one.

Kodo' Bonodawieedo
Master Musician and First Class Soldier!
"Every time someone gives a post one star GarVa kills a kitten."
+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|O|D|I|A|N| |P|O|W|E|R|!|

+-+-+-+-+-+-+-+-+-+-+-+-+-+

08-20-2004 11:35 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!   [ Edited ]
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 3 of 28

Viewed 1497 times


Nope, the extra t is intentional. /ttell sends a tell to your current target. That's why the targetting is required in addition to the name.

Message Edited by Tiaga on 08-21-2004 12:20 AM

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
08-21-2004 12:01 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!   [ Edited ]
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 4 of 28

Viewed 1484 times


New and improved! Simplified usage too.

Rewrote it so you only need to name the person being buffed, not target them. Just a bit of a warning.. Using the new alias is SPAM! The old one isn't too bad, just a few lines when you start and a few lines at the end. The new one will fill up your main chat window. So if you use it, I suggest you put the channels you care about (tells, spatial, group, etc) in a tab outside the main chat window.

I also added syntax hilights, to make it easier to read for those who want to try and figure out what it does. A brief key of the hilights:

Alias definition name
Built-in command
Alias execution
Number
Indirectly called built-in command*
Indirectly called alias*
Message sent in /tell

* Indirectly called aliases and commands are passed as an argument to another alias which then defines a /alias to call them. They are not called directly at that point, but later when the defined alias is used.

Message Edited by Tiaga on 08-21-2004 06:15 AM

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
08-21-2004 06:12 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Schardour
Jedi
Posts: 5873
Registered: 06-28-2003


Schardour
PA: Twin Sun Corsairs and Phoenix Legends
Server: Chilastra

Reply 5 of 28

Viewed 1480 times


Is it system message spam?
 
If so, that's turned off in Spatial for alot of people anyway.  What gets pushed through now that you've changed it? 


T
IL KISMETA

lTlSlCl
A life spent making mistakes is not only more honorable,
but more useful than a life spent doing nothing.
XzXzXzXzX
Also...Tayel [PLD]
08-21-2004 06:16 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!   [ Edited ]
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 6 of 28

Viewed 1472 times


No, it's alias spam messages. It doesn't have a category, it goes to the main char window no matter what tab you have selected. There is no way to get rid of it except to move tabs off the main chat window. It's the same type of message you get saying a command doesn't exist.

Message Edited by Tiaga on 08-21-2004 06:48 AM

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
08-21-2004 06:34 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!   [ Edited ]
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 7 of 28

Viewed 1373 times


Alright, an explanation of how this all works for the curious. This is very technical, and at this point, if you do not at least have a passing knowledge in programming, I'd recommend just skipping the explanation.

bufftimer /:buff:start;/:buffre:setname

This is the alias you actually use to start it. It has a simple name, /bufftimer. Assuming you are buffing Luke, you would use /bufftimer Luke. Since aliases are treated as issuing the commands in place of what you typed, that /bufftimer Luke becomes /:buff:start;/:buffre:setname Luke. This is important to remember and is used later.

All the other aliases are named with a :buff: in front. This helps with aliases not meant to be used directly to avoid ambiguity with commands. The aliases with :buffre: before them are used to send the initial instructions. The aliases with :buff:tell: are used to send a tell to the intended person.

:buffre:setname /alias :buffre:alias /:buffre:cmd
:buffre:setcmd /alias :buffre:cmd

The first aliase used by /bufftimer is /:buff:start. It then uses /:buffre:setname. I'm covering the second first for reasons that will be made clear soon. If you recall, the second command from /bufftimer Luke is /:buffre:setname Luke. That translates to /alias :buffre:alias /:buffre:cmd Luke. That is, it defines an alias /:buffre:alias which does /:buffre:cmd Luke. The alias /:buffre:cmd is defined by using /:buffre:setcmd, which works in much the same way. It defines an alias to be whatever the rest of the command is.

The reason an alias is used to set the new alias instead of /alias is so it can be done in the middle of a command. If you did something like /alias next /bye;/wave, you would get an alias next that did /bye;/wave. If insted you had an alias called setnext that was /alias next, then if you did /setnext /bye;/wave, you would alias /next to /bye, then /wave immediately. The setname alias isn't required to be an alias, the /alias command could be used directly in that case.

:buff:start /:buffre:setcmd /tell;/pause 0.2;/:buff:tell:start;/:buffre:setcmd /:buff:time;/pause 0.2;/:buffre:alias

This starts by setting the command to be used by /:buff:alias. It sets it to /tell. That means, /:buff:alias is now /tell Luke. That is how the name is used as a tell target. The pause is because the name hasn't been set yet. Since a pause in an alias doesn't pause the command it is using, that means it goes on to set the name, then 0.2 seconds later uses /:buff:tell:start to give the instructions. Next it again sets the command used by /:buff:alias, this time to /:buff:time. The result is that /:buffre:alias becomes /:buff:time Luke. This is important that the name is put there. That allows the timer to be used on multiple people at the same time. If instead it just did /:buffre:alias after a pause, it would send it to whoever the timer was started on most recently, which isn't terribly useful.

:buff:time /pause 210;/:buff:tell:all;/:buff:tell:set

This is the meat of the timer. It starts with a pause. I use 210 seconds for 3:30 minutes. After the timer is up, it does /:buff:tell:all and /:buff:tell:set. Since this is used as /:buff:time Luke, the last command becomes /:buff:tell:set Luke.

:buff:tell:set /alias :buff:tell:send /tell

Exactly like before. This time, /tell is the only command to be used, so it is used directly instead of another alias to define the command. Since this is used as /:buff:tell:set Luke, it becomes /alias :buff:tell:send /tell Luke.

:buff:tell:all /pause 0.2;/:buff:tell:1;/:buff:tell:2;/pause 2;/:buff:tell:3

This starts with a /pause for the same reason :buff:start has a /pause. The /tell target hasn't been changed yet, so it needs the calling commands to finish first. It then sends the instructions for ending things, as well as anti-buffbot propoganda.

:buff:tell:start /:buffre:alias Just watch me and sit tight for 3 minutes. I'll send you a tell when the buff is done.
:buff:tell:1 /:buff:tell:send Your buff is done! You can stop watching whenever you are ready to leave.
:buff:tell:2 /:buff:tell:send If you will be getting a buff from a musician, be sure to stop watching me first, or the buffs may not work.
:buff:tell:3 /:buff:tell:send Thank you for supporting live entertainers! We'll still be here when the buffbots are gone.

None of these need to be aliases. They just are for readibility sake. The various /tells to send.

In truth, a lot of those don't need to be aliases. Only :buff:start, :buff:time, :buff:tell:all and :buffre:setcmd need to be aliases, and of course bufftimer. So if you don't care about readability you could rewrite this in less aliases (So less alias spam when you use it) in the following way.

bufftimer /:buff:start;/alias :buffre:alias /:buffre:cmd
:buffre:setcmd /alias :buffre:cmd
:buff:start /:buffre:setcmd /tell;/pause 0.2;/:buffre:alias Just watch me and sit tight for 3 minutes. I'll send you a tell when the buff is done.;/:buffre:setcmd /:buff:time;/pause 0.2;/:buffre:alias
:buff:time /pause 210;/:buff:tell:all;/alias :buff:tell:send /tell
:buff:tell:all /pause 0.2;/:buff:tell:send Your buff is done! You can stop watching whenever you are ready to leave.;/:buff:tell:send If you will be getting a buff from a musician, be sure to stop watching me first, or the buffs may not work.;/pause 2;/:buff:tell:send Thank you for supporting live entertainers! We'll still be here when the buffbots are gone.

Less aliases, but perhaps a little harder to follow.

Message Edited by Tiaga on 08-23-2004 03:07 PM

Message Edited by Tiaga on 08-23-2004 03:10 PM

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
08-23-2004 03:04 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Aleyo
Blue Glowie
Posts: 1583
Registered: 09-23-2003


Aleyo

Reply 8 of 28

Viewed 1375 times


Hmm, I find the pause behavior interesting from a programming perspective.
My instinct would be that the /cmd1;/cmd2 would execute all of cmd1 before cmd2 (with the toplevel execution context controlling the calling of cmd1 and cmd2).
In pseudocode:
function main {
cmd1; // must finish before cmd2 can start
cmd2;
}
Whereas if cmd1 pauses, main can then move on to cmd2. Does cmd1 have to pause for cmd2 to execute (if you know)? For example, if cmd1 were an infinite loop with no pauses, would cmd2 just happen to execute sometime?
All in all, very impressive work, Tiaga.


Scipionus Mentus
Master Musician, Master Entertainer, Master Dancer - Tempest
-I support ATK people and playstyles.

"Only a Sith deals in absolutes."
08-23-2004 03:22 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 9 of 28

Viewed 1364 times


I'm not 100% sure about how things work, but my feeling is this is what happens if you had byealias defined to "/wave;/pause 10;/bye" and did /byealias;/shout I'm going now.

/byealias
  /wave
  /pause 10 (Rest of alias becomes a queued command)
/shout I'm going now
(10 seconds pass)
  /bye

If it is a single threaded script engine, I can easily see it being done that way. There are other possibilities, but they all look about the same as far as execution profile. There is a /pause in there that I put in only because I wasn't 100% sure how things would execute. I'm also not sure if the system would fall apart if the client was under heavy load.

In a normal programming language, yes you would expect something to complete before "returning". This isn't a programming language though. It's a scripting language, and was never meant to be a programming language. To get it to do some of the things I have it do requires jumping through quite a few hoops.

It is possible to do what you are thinking of, but you have to jump through a hoop. You would have to define byealias as "/wave;/pause 10;/bye;/" then do the command "/byealias shout I'm going now.". The alias then gets expanded into "/wave;/pause 10;/bye;/ shout I'm going now.". The difference is that the shout becomes part of the alias command chain then, not the main command chain, so it is queued with the rest of the commands with the /pause.

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
08-23-2004 03:48 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
DarksideCalls
Jedi
Posts: 965
Registered: 12-18-2003


DarksideCalls
PA: Federation-X
Server: Ahazi

Reply 10 of 28

Viewed 1343 times


Dekoi Tassidar - Elder Jedi

Fats' Tassidar - Medic
08-24-2004 04:46 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
ThePurpleFish
SWG Lieutenant
Posts: 142
Registered: 09-10-2003


ThePurpleFish

Reply 11 of 28

Viewed 1281 times


This looks very interesting - I do have one question....where do you put this???
 
I know how to write a macro - but no idea how to do an alias. Sorry if it is a simple process I am just missing.  I have seen em talked about everywhere but amoung entertainers is where I feel safe asking about em
 
Ky'a - Master Dancer, Master Entertainer, and <___>this close to Master Musician
08-25-2004 05:07 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Tiaga
Blue Glowie
Posts: 5746
Registered: 07-29-2003


Tiaga

Reply 12 of 28

Viewed 1276 times


Save it as aliases.txt in your SWG folder.

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
08-25-2004 06:49 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Isabow
SWG Chief Petty Officer
Posts: 106
Registered: 10-01-2003


Isabow

Reply 13 of 28

Viewed 1249 times


Tiaga,
 
Pardon my n00b-ness.  Do I write this in notepad and save it to my SWG folder?  How will this input into the game so I can use it?  Will I get a new icon ingame or will I have to put in a "start" command to get it rolling?
 
 

Toshee

All warfare is based on deception. Hence, when able to attack, we must seem unable; when using our forces, we must seem inactive; when we are near, we must make the enemy believe we are far away; when far away, we must make him believe we are near. - Sun Tzu - The Art of War
08-25-2004 07:41 PM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Ravanne_Esi
Jedi
Posts: 520
Registered: 11-04-2003


Ravanne_Esi

Reply 14 of 28

Viewed 1225 times




Isabow wrote:
Tiaga,
 
Pardon my n00b-ness.  Do I write this in notepad and save it to my SWG folder?  How will this input into the game so I can use it?  Will I get a new icon ingame or will I have to put in a "start" command to get it rolling?
 
 



Copy the text and paste it into notepad, save it to your SWG folder in c:\Program Files\StarWarsGalaxies as bufftimer.txt

In the game to use it just type /load bufftimer.txt and you should get a message that it was loaded.  To use just type /bufftimer <name>

 

This is a great little tool, thanks ever so much Tiaga.

/Hug Tiaga

 

 

Ravanne Esi
Master Dancer, Master Entertainer, Master Musician
Ragin' Rancor Enterprises
New Hope, Naboo
-
08-26-2004 06:03 AM  

Report Abuse to a Moderator
 
Re: UIltimate Buff Timer!
Options    Options  
Isabow
SWG Chief Petty Officer
Posts: 106
Registered: 10-01-2003


Isabow

Reply 15 of 28

Viewed 1203 times


Thank you ever so much!

Toshee

All warfare is based on deception. Hence, when able to attack, we must seem unable; when using our forces, we must seem inactive; when we are near, we must make the enemy believe we are far away; when far away, we must make him believe we are near. - Sun Tzu - The Art of War
08-26-2004 05:24 PM  

Report Abuse to a Moderator
Jump to Page:   1 · 2  |  Next Page