Adam Ashenfelter wrote: > I usualy use the gtk client, but if the common client can be updated it would > be better in the long run. > > As far as scipting languages are concerned, I think perl/python are overkill > for the client side. Some simple if, else, while, for statements would be > nice. The 'if' statement should be able to check success. > > if (apply health potion) > else > cast heal > endif Well, it depends on what you mean by success. If you mean success in that we find a matching object and send it to the server or process, that is easy. If you mean success in that the server said it succeeded, what is much more difficult due to the time delay involved (this applies more to casting spells, where you might fumble it for example - there will definately be some lag between the client sending the command and the server getting the chance to execute it. > > > Probably the best way to automate the client that would be easy for everybody > to use would be a trigger mechanism. So I can add a trigger that runs the > above script whenever my hitpoints fall below a certain point. The interface > would be similar to setting up shortcut keys. Or it may be more flexible for the script to run every tick, and the script itself has its conditions and what to do. I say this in that if we start having C code in the client that is the condition for running the script, it starts to make more sense to just have likely actions of what to do when that happens, also in C code. One could for example have something like a 'hp < 20%' check in C code, but the client then has the list of objects/spells to cast (in order of preference) when that happens. Eg, have a little interface where you drag the potions/spells/whatever to for order to apply. When all of the first one run it, everything else moves up. But then I start having other concerns - under such a mechanism, players might start to ask 'well, I had this script set to apply healing potions, and I still had healing potions, yet I still died due to lack of hp'. And of course the real reason that happened is lag or whatever else, but try to start explaining that to players since it woudl appear like a built in feature which should do what you want to do. Anyways, if you had a script that was called every tick, and it had some number of preset known variables (hp, sp, grace, etc) then you could start doing things like: if (hp < 20) { do healing stuff } if (sp < 20) { do sp regen stuff} if (grace < 20) {do grace regen stuff } and so in, without having to insert hooks for all that into the client itself - the script itself becomes its own hook so to speak. This also has an interesting idea in that you can then have commands to run a special script instead of the normal one, eg, a 'prayer' regen script: if (grace > maxgrace) exit 1 else { do praying; exit 0} If the client sees the exit 1, it then stops running that script and then goes back to running the default script or something > > > As for other improvements to the client, a command history would be nice. So > up and down arrow in the command window would cycle back and forth through > history. That already exists for the gtk client. > > Another nice feature to have (I'm not sure this is possible in the client) > would be a more mud like command language. For instance take 'apply', and > create more specific commands (eat, drink, enter/go,wear, wield,read,etc). > They do the same exact thing as apply, but can only target certain item > types. For example, a corpse is on the exit, I could use 'go' on the exit, > and I apply the exit instead of the corpse. Currently, when I'm in a hurry > to leave a room, I sometimes eat a corpse. Also some of the skills should > have a command (ie,disarm,hide,pick,steal, meditate, etc). Well, that later case is really just binding keys to them. I suppose command aliases coudl also be done also, but not sure how bug adeal that really is (as said, I'd expect players to just bind keys to them). That said, apply of 'meta' types coudl be done, eg, 'apply food' vs 'apply floor', etc. The client could key in on the client types or something on what it thinks is food (eg, it wouldn't be perfect, as that booze could be poisonous or something). _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel