Joined: 29 Mar 2004
Location: Down Under
|Posted: Thu Jun 08, 2006 14:46 pm Post subject: Client HowTo - RoAClient
|This help file will demonstrate some features of using a client, specifically RoAClient. I have been asked on several occasions on how to get my client to look like the one on the website (under About the game). I will try to get your client as close to the picture as possible, with a bit of luck. I am no expert in this field, I'm sure there are a lot of players that have a better understanding. I have gained all my knowledge from the RoAClient help page
Whenever you are to click on a something it will be bold.
Any text that you have to type will be set out like
Lesson 1: Configuring you client
I prefer to use the numpad to move around the world, to do this have num lock on. Then Ctrl+Shift+C, NumPad activate Enable and Echo. Echo is where the command bypasses the input, which basically means you don't have to confirm the command (press enter).
I would also change the (.) fullstop (click on it) to who unidle or something else, this is the same for the (*), also check that 0 is look.
Next click on Miscellaneous I have changed the spam lines to 500, this means you can enter a repeated command 500 times till you get an error.I would probably suggest around 50 for a player. I would also change the CmdSplit char which is also known as the delim character, I have it set as (`), I find I use (*) too much.
There are many options to peruse in RoAClient (General) the only thing I have adjusted here is the Buffer sizes.
Under AutoConnection you can set reconnect time sequence, and in the text box pop your notice no space and we used the CmdSplit that we set up before. This is how I connect to the
mud after every boot, even if I'm not there!
Thats about it, there are other stuff you can do, but I find it just adds to the time the client responds.
Lesson 2: Function Keys
This is the first thing I learnt to use as a player, and the most useful. To edit you function keys Ctrl+F, or click on Fn on you toolbar. If you don't have a toolbar, View click either Toolbar (RoA) or Toolbar (norm). You can set F1-F12 except F10 and you can set it for shift and ctrl. Make sure you check Echo. What do you use this for? example.
so when your in battle you just hit F1 and the text in the box is inputted. Also something like getting on and off a mount you can use the one key, like F2 and to get off Shift+F2.
Lesson 3: Using Pipe
To use pipe in RoAClient just type 'pipe <overall cmd>' eg 'pipe tell misrobo' then hit Alt+M or click ml-send which is found at the lower right hand corner of the client. Paste the text into this box, check Echo and then click Done the text will be pasted strangely on the screen, don't worry though it will appear fine to everyone else. Then press enter in case there is something in the buffer, and then '** enter' (This is another reason to change the CmdSplit).
Lesson 4: Aliases, Nicknames, Hi-Lites & Gags
Aliases is quite easy to setup in the client, Crtl+R to start recording what you want it to do, Shift+Crtl+R to finish your recording. Personally I haven't used this much at all, I find the function keys combined with ingame nicknames are sufficient for my needs.
Nicknames are quite self-explainitory, what every you enter it translates to the what nickname, eg. I often misspell update->updaste, so I have put updaste as a nickname of update.
Hi-Lites are a simple form of triggers which allow you to make certain text "stand out." You can choose which foreground and background colours that specific text will be displayed in. Note the entire line the word is on will be hi-lited, for this reason I find it not that useful as it overides any output the mud sends you.
Gags simply filters the output of the mud and prevents certain text from being displayed, again I don't like this as it could gag something that is being discussed on a channel, unless your really careful.
Lesson 5: Variables & User Variables
This is when the fun starts. First golden rule to remember is that whatever you do you must always press the apply button, unlike in windows the ok button does NOT save your work. The variables are very similar to the ingame variables, $1 == %1 and $* == %* for those who don't know about this read 'help alias' ingame.
A trigger is a filter that reads the output of the mud and then react to it the variable system is the same for aliases, %1 represents one word, eg. would store the name as variable as %1. To prevent the trigger to be fired if someone talks about something on a channel etc you can ground the trigger with ^ eg. Why would you want to store the variable, in this case the name? Well you can use this variable in the reaction box for instance you could have an auto respond if your not there eg. in the reaction box
|tell %1 I'm sorry but I'm not here at the moment, send me a mudmail if urgent. |
Just a note, unlike in aliases the open variable is %0.
User Variables (global variables) are variables which are usable anywhere where the previous variables were only 'local' (for that trigger/alias only). These are defined by @. SO summary local are % and globals are @. There is a bit more flexiblility with globals, you can define them as anything eg.
To refer to this variable its just @hp, like a poor mans alias, yet the usefulness will be displayed later.
|'hp' then select Type as Numeric and type '0' in Value box. |
Lesson 6: Triggers
In Icesus triggers has a bad stigma attached to them as they can be easily manipulated to 'bot' your character, read 'help robots' to see the rules regarding this. We are not going to use triggers to actively respond to situation in the mud, but just a passive observer.
Its time to get back to the the nice pic on the website. You notice that in the main window there is
this is setup in the prompt ingame. Why do we want this? We will use this to keep our status up to date through the use of triggers.
|-- hp(100) sp(100) ep(76) exp(1266) lvl(0%) adv(2%) cash(12388) df(1187) time-Sunrise- |
To set the prompt read 'help prompt' for this particular one its this.
|set prompt -- hp([hp]) sp([sp]) ep([ep]) exp([exp]) lvl([protolvl]) adv([protoadv]) cash([cash]) df([df]) time-[hour]-[nl] |
Next you you setup a trigger to read this output from the mud. I find its best to setup a group, we will call this group status Add group... then Add trig... Firstly check Echo this reaction so it doesn't sit int our input. In this box you need to do this
Ah, just fits with all the available local variables, how nice. Don't forget
|-- hp(%1) sp(%2) ep(%3) exp(%4) lvl(%5) adv(%6) cash(%7) df(%8) time-%9- |
to click Apply Changes! Anyway once done we need to convert the local variables to global variables, to do this we need to use one of the clients commands, $var. The $ symbol denotes a command in RoAClient. We want global variables for hp, sp, ep, exp, lvl, adv, cash, df and time. So you need to Ctrl+U and then click New and set each one as 1, make sure you denote the type as 'numeric' AND Apply Variable Changes except for hour where its a string, set it as sunrise.
Once done go back to the trigger window and to the trigger we were working on, in the reaction box we want to store the local variables to those globals we just setup. If you have not done so make the trigger belong to the status group. Now we use $var like so
|$var hp %1
$var sp %2
$var ep %3
$var exp %4
$var lvl %5
$var adv %6
$var cash %7
%var df %8
$var hour "%9"
Notice that the last one has quotation marks, this denotes that its a string. Now click Apply.
What have we done? We now have a set of global variables (user variables) that are constantly updated with every command we input into the mud via the ingame mud prompt.
Now it's very easy to make a mistake and cause the client to have a fit, to escape from this simply press the Trg with a cross in it, then click Triggers and disable group and then figure out where you've gone wrong. Also negative numbers are not accepted very nicely at all. If you have a continuous problem with negative numbers you'll have to disable that segment of the trig, ie. leave it out in the reaction part. (If anyone finds a better solution I would really like to know).
Lesson 7: Statlets
Now everything we have been doing has been leading up to the visual effect which is the statlet. Press Crtl+S then enter each name representing your global variables that we have. Click New...Then select Type: As HorizBar, a bar should show up on the secondary window on the right hand side of your client. Now you can format the colour for the name. The format text displays text after the bar, here we can have the numerical value to the bar, eg.
In Bar values: put Min: -10 Max 120 as if it goes outside the range it makes a nasty error. Belongs to: is the window it belongs to, it should be default to Primary, you can make your own window. To do this Ctrl+W then New lets call ours Status, the same as the trigger group. Click Options on the window and click Always on top, stretch it out a bit and put it where its convenient. Then go back to the Statlet window and type Status in the Belongs to... field, or you can just keep it in the Primary, up to you.
In the Cur: field under Bar values: put the global variable @hp. Next adjust the position of your statlet to where you want it in your window, to do this you can either input the values or use the Move: buttons. The pixels is how many pixels to move each button input.
Sp and ep is the same as hp, for Exp:, Cash, df, next lvl etc. keep it as HorizText For the next lvl, do this as name then as Format Text: do @lvl% | adv.p: @adv%) For hour uncheck Show name to get it on its own.
How do you get that nice picture in there? Well first of you need the pic, then create a Button statlink (Type: Button) check Button bmp browse for pic then adjust W: & H: This is the same for those groovy lines you see on the website.
Looking pretty good so far, BUT my numbers don't update! This is where the custom command $statrefresh comes into play. Open the trigger window and go to your trigger and pop the command down the bottom. DONE.
Want the status to update more often? Like whilst your regening you don't want to keep inputing in right? Well you can hook into the ingame monitor. Make a trig called
and use variables 2, 4 & 6 to update hp, sp & ep. Remeber to add $statrefresh! These are not the only ways to hook into the game, you can use the routing system described below to create your own system. Have fun!
|HP:[%1] %2% SP:[%3] %4% EP:[%5] %6% |
Lesson 8: Routing
How do you get rid of the annoying prompt? Well the easiest solution is to HiLite it black. The other more elegant option is to get rid of it completely to do this just route it! How to do this? In the trigger window there is a Route to: this can select where the triggered (output) text can be put select the first one RouteWin1 only This will send it to the route win1 and not to your main display, to see your routewin go into View and select RouteWin -> RouteWinA. So now we have a status update without it interrupting your gameplay.