Mud Client Ideas: Difference between revisions

From Dyrdex.com
Jump to navigation Jump to search
Line 39: Line 39:
You'll want to set up an autofight script. The basis of this should be a simple trigger that decides whether to hit the mob, or heal up to full. Does that, then repeats.
You'll want to set up an autofight script. The basis of this should be a simple trigger that decides whether to hit the mob, or heal up to full. Does that, then repeats.


There are many ways to do this. Here's just one idea:
There are many ways to do this. You could trigger on your hit message, or on an arbitrary command message that you send to the game after every hit and full heal, etc. Basically you just need to fire a trigger every time your wait-state resolves and you are free to do an action.


After EVERY action, be it hitting the mob, or quaffing to full, send an arbitrary command that essentially does nothing, and has minimal lag time, just to print some text to screen.
Build that trigger out to check for everything you can think of:
*healing  (heal to full or heal to a value you can specify on the fly by having an alias set a variable). Account for stomach fullness:
*Stomach fullness and spring drinking (also usage of spells like salinate, or custom spring names)
*truesight/blindness/cure-blindness
*poison/cure-poison
*mana potion quaffing
*blood feeding
*specific mob progs/reactions
*anything else you can think of


For example, a command that actually returns an error, like smoke asdfasdfsdf (returns 'smoke what?'), or 'version' (returns 'Smaug 2.4'), or 'hl' (returns generic usage message).  
Specific runs might require specific fight scripts just for that mob. Get a good base fight script, and then modify as needed for specialized applications.


Set a trigger on the screen text of that arbitrary command to check your hp and decide to hit or heal. Send the mud the hit, or heal, and another of that arbitrary command.
=GUI=


The hit lag resolves, or you quaff all your potions, and then boom that arbitrary text prints to the screen and your trigger fires again. Over and over.
Build out an extremely helpful visual display in your client. The more you can 'see' the better.  
 
Build that hit/heal check out into a massive check that also accounts for:
*Stomach fullness
*truesight/blindness
*poison
*mana usage
*blood usage
*specific mob reactions
*anything else you can think of


Have alerts to show when you are disarmed/blinded/etc or when you are doing certain actions like hitting/healing or anything important happens. Have a way to see your current spells and ticks remaining, and potion counts.


=Equipment Damage Tracking=
=Equipment Damage Tracking=

Revision as of 15:38, 6 June 2022

So you think you're some kinda Power User huh? WTF does that even mean?!?!


Here's things the uber-nerds who play this game all day every day are doing, most of which is based in client-side scripting:


Quick Prep

Bring your own spell bots to runs.

Have an alias to quaff a tank set.

Have an alias to apply any class-specific skills/spells you get.

When its time to prep for a run, get all spells from your bots, quaff a tankset, apply anything else, and then log off. Your guys is 100% ready to rock and offline.

Have an alias to do all this for you, like have 'prep' do dispel all, say all, quaff all, apply all skills. Quit once its all complete.

Quick Reset

A full reset alias is helpful, that can be broken down into this component aliases you can fire individually if necessary as well:

repair - an alias to run you to your preferred repair mob, remove all, repair all, wear all, recall.
refavor - an alias to run to a'enari/vl'aresch to refavor back to praised, and recall. 
restock - an alias to buy you heals/manas and restock tank pots from a donation shelf. 

If you've done a kill on something and people say 'reset', its realllll nice to just type 'recall... reset' and then go get a drink while that all happens.

You can also get even more tricksy and make it recall you, reset you, and return you to wherever you were.

The restocking alias is the one that takes the most scripting. You'll need to establish a variable that keeps your desired stock levels of stuff, then, also set up a trigger that can be enabled when you examine your containers that will catch all the potion names and record how many you have into a 'current stock' variable. Then, the restock alias just uses some math to compare your desired levels to your actual current levels and gets the difference from your potion shelf.

MSDP

Use a modern client that can receive MSDP variables from the mud. You will automatically have variables for your hp, room names, stats, everything. It makes it very easy to script stuff based on all those values.

Autofight

You'll want to set up an autofight script. The basis of this should be a simple trigger that decides whether to hit the mob, or heal up to full. Does that, then repeats.

There are many ways to do this. You could trigger on your hit message, or on an arbitrary command message that you send to the game after every hit and full heal, etc. Basically you just need to fire a trigger every time your wait-state resolves and you are free to do an action.

Build that trigger out to check for everything you can think of:

  • healing (heal to full or heal to a value you can specify on the fly by having an alias set a variable). Account for stomach fullness:
  • Stomach fullness and spring drinking (also usage of spells like salinate, or custom spring names)
  • truesight/blindness/cure-blindness
  • poison/cure-poison
  • mana potion quaffing
  • blood feeding
  • specific mob progs/reactions
  • anything else you can think of

Specific runs might require specific fight scripts just for that mob. Get a good base fight script, and then modify as needed for specialized applications.

GUI

Build out an extremely helpful visual display in your client. The more you can 'see' the better.

Have alerts to show when you are disarmed/blinded/etc or when you are doing certain actions like hitting/healing or anything important happens. Have a way to see your current spells and ticks remaining, and potion counts.

Equipment Damage Tracking

To prevent equipment from scrapping in a fight, you'll want to set up triggers to track hits to your gear and auto-remove gear that is down to 2 or 3 hits remaining.

This can be done by creating a local client-side variable(s) that stores your eq names, keywords, and AC values. Then, a trigger on the 'gets damaged' message can be used to regex whatever got hit against your locally stored information and adjust the AC variable. Include an #IF check to consult that AC value and if < 3 remove the item.

Here's an example snippet of my 'eqlist' variable that includes all wear slots, here is what one individual wear slot looks like:

#var eqlist {
    {waist}
    {
        {ac} {10}
        {acMax} {10}
        {dam} {0}
        {key} {Girth}
        {name} {the Ice Girth}
        {survey} {superb}
    }
}

So then a trigger for {* get's damaged!!} does something like: foreach item in the 'eqlist' var regex that item name against the * that got hit, upon match, reduce the items AC by 1, and if AC is now < 3 remove the item by its key word.