I'm certainly not Puddleby's best dancer, I can't even claim the honor of being the worst. I'm just here to tell what I know, and hope that exiles like you, more graceful than I, can learn from my simple basic steps and go on to become masters of the stage, blinding us with your twinkling toes, or at least entertaining us with your clever gaffes.
Writing dances that actually keep the beat is very difficult, so don't worry about it too much. /action grins   Although maybe you'll be the one to discover the perfect Clan Lord dance syncronization technique! (If you do, maybe you could whisper it in my ear.)
The first step to learning how to dance is learning how to write a simple macro. Macros are stored in macro files kept in the the 'Macros' folder contained in the 'Clan Lord' application directory. There should be one macro file named after each of your characters, and one labeled 'Default'. When you start a game of Clan Lord the macro file for the character your playing is loaded. There is also a menu command to re-load this file, so you can work on your macros and test them while you are playing.
If you want to know all the details on Clan Lord's macro language you should read DeltaTao's official macro instructions. I'll only be talking about the small fraction necessary for writing a simple dance.
So, on to the basics of character control using macros. Lets start with a very simple character control macro:
"/sit" { "/pose sit\r" }
/pose sit
is the command to change your pose to the 'sit' pose (there is also a 'seated' pose). The \r
is a return character that has to be at the end of every text command (commands in double quotes) in your macro, just like you press return after typing a command into the Clan Lord client.
If you add this macro to your macro file, and reload your macros (in the option menu of the client), every time you type /sit
followed by return into the Clan Lord client your character will sit down. Not very interesting, since you could have just typed /pose sit
and accomplished the same thing. But! We can add more commands to the macro to have our character execute a whole sequence of poses. Here is a macro that will make your character turn around in a circle:
"/turn" { "/pose stand s \r" "/pose stand se \r" "/pose stand e \r" "/pose stand ne \r" "/pose stand n \r" "/pose stand nw \r" "/pose stand w \r" "/pose stand sw \r" "/pose stand s \r" }
You can see that the stand pose takes a direction, and that we are turning around in a circle by changing our position to the 8 points of a compass one by one. So the direction you turn in (clockwise or counter clockwise) and where you face to start the turn depend on what order you list the directions for the stand pose. The attack pose also takes directions, so you can also spin holding out your weapon. You can turn twice as fast by only using the cardinal directions (North, East, South and West) or only the off-cardinal directions. To turn more slowly you can either repeat the poses in your sequence or use the pause
command described later.
To see a list of all the poses that you can use in your dance type /help pose
into the CL client; a list of poses will appear in the info pane. The current complete list is:
/pose stand/pose attack /pose sit /pose seated /pose kneel /pose lie /pose bow /pose leanright /pose leanleft /pose thoughtful /pose celebrate /pose akimbo /pose bless /pose angry /pose salute /pose cry /pose surprised
The pause
command allows you to pause your macro for a number of frames. You can use this to hold a pose for longer than one frame in your dance.
"/slowdance" { "/pose leanleft \r" pause 3 "/pose leanright \r" pause 3 "/pose stand s \r" }
This macro will make your character lean to the left for one frame, pause for three frames, lean to the right for one frame, pause for three frames, then end standing facing south.
The /move
command alows you to make your character walk in different directions.
"/walk" { "/move n walk \r" pause 2 "/move s walk \r" pause 2 "/move stop \r" }
This macro will cause you to walk north for a few frames,walk south for a few frames, and then coast to a stop. The sytax for the /move
command is: /move
where the directions available are the same as for the stand and attack poses, (n,ne,e,se,s,sw,w,nw) and the speed is either walk
or run
. A short macro to run in a circle would look like:
"/run-in-circle" { "/move n run \r" pause 1 "/move ne run \r" pause 1 "/move e run \r" pause 1 "/move se run \r" pause 1 "/move s run \r" pause 1 "/move sw run \r" pause 1 "/move w run \r" pause 1 "/move nw run \r" pause 1 "/move stop \r" }
I'm not sure how to stop abruptly. Also if you don't put a pause after a movement command that's not the last in a macro it won't execute.
Currently Clan Lord runs at 4 frames per second 'off peak' and it used to be 3 frames per second at 'prime time' which is 6-9pm Pacific time, now it is something like 3.25 frames per second at 'prime time' I'm not sure of the exact number. Conveniently at the default music tempo of 120 one quarter note (or a note of time value 2 in CLTH) takes about one frame off peak. It's not exact though, so expect your dance to drift relative to the music. It's even harder to get your dance to start at the right time, there is some lag in a macro starting, and besides that, even if it seems to you that your dance is perfectly synced up with the music, not everyone hears the music at the same time. When clanning with friends I've heard a bards piece start up to a second later on one client vs another. So the short of it is, don't worry too much about getting your dance perfectly synchronized with the music - it's practically impossible.
So there you are. Hope this helps and all that,
----SWC Poesy