Git Product home page Git Product logo

healbot's Introduction

HealBot

Update: HealBot now depends on libs/lor

NEW: IPC has been added! (see below)

Summary

By default, HealBot will monitor the party that it is in. Commands to monitor or ignore additional players can be found below.

Buffs gained via job abilities are now supported, but have not yet been tested extensively. Composure has been confirmed to work. With the addition of job ability support comes support for prioritization (since, for example, Composure should be used before other buffs are applied).

Detection of whether the local healer is able to act has been improved for when debuffs such as sleep or petrify are active, so that now it should not try to spam spells while unable to act. This is apparent by the text box in the top- left corner of the screen displaying the message 'Player is disabled'.

Bard songs are officially unsupported at this time. YMMV - it cannot handle the fact that there is no notification given when one song overwrites another, or maintaining multiple buffs that have the same name. That being said, if you only want to maintain 2-3 songs without using a dummy song, it may work. I have an idea about how to support BRD songs, so that should be coming soon.

Also coming soon is the ability to cast offensive spells on an assist target's target.


IPC (Inter-Process Communication)

HealBot now supports IPC between multiple instances of Windower running on the same computer when both characters have HealBot loaded! This means that HealBot will now be even better at detecting the buffs/debuffs that are active for characters on the same computer!

Only the healer's HealBot needs to be on - the non-healer just needs to have HealBot loaded to be able to tell the healer's instance about its active buffs and debuffs.

Settings

If you have the shortcuts addon installed, your aliases.xml file from that addon will be loaded, and those aliases will be available for use when specifying buffs.

You can edit/add/remove buff lists that can be invoked with the //hb bufflist listName targetName command in data/buffLists.xml. The order of buffs within the list does not affect the order in which they will be cast. Follow the syntax of existing sets when adding/editing your own.

You can modify the priority with which other players will be attended to by editing data/priorities.xml. Note that detection of players' jobs is not perfect at the moment, so it is better to specify individual players' priorities by name. Lower numbers represent higher priority. Follow the syntax of existing sets when adding/editing your own.

Monster abilities that do not display what debuffs they cause are specified in mabil_debuffs.xml. This list is woefully incomplete, but I plan on vastly expanding it in the near future. If you decide to add any, I would greatly appreciate it if you would share what you have added. If you add something, and it isn't detected, please notify me, and I will attempt to make sure that it can be detected in the future.

Place the healBot folder in .../Windower/addons/

  • To load healBot: //lua load healbot
  • To unload healBot: //hb unload
  • To reload healBot: //hb reload

Command List

Note: Shortcut commands below are highlighted in bold (e.g., f is a shortcut for follow)

Command Action
//hb on Activate
//hb off Deactivate (note: follow will remain active)
//hb refresh Reload settings xmls in the data folder
//hb status Displays whether or not healBot is active in the chat log
//hb mincure # Set the minimum cure tier to # (default is 3)
//hb reset Reset buff & debuff monitors
//hb reset buffs Reset buff monitors
//hb reset debuffs Reset debuff monitors
//hb buff charName spellName Maintain the buff spellName on player charName
//hb buff spellName Maintain the buff spellName on current target
//hb cancelbuff charName spellName Stop maintaining the buff spellName on player charName
//hb cancelbuff spellName Stop maintaining the buff spellName on current target
//hb bufflist listName charName Maintain the buffs in the given list of buffs on player charName
//hb bufflist listName Maintain the buffs in the given list of buffs on current target
//hb follow charName Follow player charName
//hb follow Follow current target
//hb follow off Stop following
//hb follow dist # Set the follow distance to #
//hb ignore charName Ignore player charName so they won't be healed
//hb unignore charName Stop ignoring player charName (note: will not watch a player that would not otherwise be watched)
//hb watch charName Watch player charName so they will be healed
//hb unwatch charName Stop watching player charName (note: will not ignore a player that would be otherwise watched)
//hb ignoretrusts on Ignore Trust NPCs (default)
//hb ignoretrusts off Heal Trust NPCs
Debugging commands Action
//hb moveinfo on Will display current (x,y,z) position and the amount of time spent at that location in the upper left corner.
//hb moveinfo off Hides the moveInfo display
//hb packetinfo on Adds to the chat log packet info about monitored players
//hb packetinfo off Prevents packet info from being added to the chat log

healbot's People

Contributors

lorand-ffxi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

healbot's Issues

Spamming Cure2

The addon spams c2 and c3 on my self when I am full hp. even when i set min cure as well

Own Buffs Not Being Maintained

It is a known issue that buffs intended for the player currently running HealBot are not being maintained properly. I will look into this issue ASAP.

Position of the screen

Hello, could you tell me how to change the position of the screens that keep track because they are over lapping with some stuff i have.

Also how can i use git desktop to keep the files auto updated

Lua Run Time Error 402

Hello,

I'm getting error:

HealBot: Lua runtime error: healbot/HealBot_buffHandling.lua:402: attempt to index field 'buff' (a nil value)

This happen everytime i cast a geo-spell.
I just downloaded HB and lorlib today so i guess its up to date.
Please help!!

SCH

does this support sch and /sch?
last time i tried this (previous version) it freaked out if i told it to maintain lights arts and addendum white. It also couldnt find aldoquim, even tried regain as a buff.
im just curious if this newer version supports sch at all, thanks.

Issue with debuffs

Trying to use debuffs while assisting, and it targets the monster but keeps saying "cannot attack that target"

Not Healing While Moving

If possible, I would like to know how to disable the movement checks, so that HB will cure/buff while running. For people using a "no_interrupt" lua, this can be very useful and prevent a lot of issues during combat. Thank you!

Issue with spamming & no buffs

I'm brand new to Healbot and to some of the new features of the game as I just returned, so maybe it's just me... But I have some questions/issues:

How do you stop watching a target? Had an issues where target wasn't available and bot kept spamming cure vi over and over. Also, do you have to watch targets for it to keep them alive or is "watching" just a way to prioritize.

Can the bot cast buffs? Only thing I can get it to do is cast cures.

Is there a job or jobs that work best for it? I currently only have whm but assume SCH and geo would be good.

Thanks for the help!

LUA RUNTIME

Getting error:

Lua runtime error: healbot/HealBot_utils.lua:327: attempt to index field 'advutils' (a nil value)

please help!

Error when loading HealBot : bad argument to setfenv

Hi,

I'm new to using HealBot. So maybe I did install HealBot incorrectly.
I did get the HealBot and libs/lor files in Windower\addons (in directories named HealBot and libs/lor)

When using the command //lua load healbot
I get this message :
lua runtime error
in lor_settings.lua at line 105 :
bad argument #1 to setfenv (number expected, got nil)

Any idea on what's the matter ?

NB : FFXI had a recent update, may it broke something ?

Thanks in advance
cBlastMan

Spell not registered in log causes HB to pause until animation finishes (8s+)

This problem has been an issue for me since using HB from the start but I've just lived with it as I believe it's a problem with the game rather than HB itself. However I wonder if anyone has any advice on how to fix it.

Sometimes HB will cast a spell (typically haste or a cure) and the spell completes, but the log only shows the "Cure III - " part at the start, with the "589 HP Cure III - " bit missing at the end of the spell. The healers character is left with a spell animation which runs for much more time than a normal spell (like when a trust didn't finish a spell before your mob dies and it just continues the animation and sound for like 10 seconds).

During this zombie spell animation phase HB won't cast any spells it has stacked up on the list and waits for ages for the animation to naturally end. If I manually cast a spell it works and can usually get HB to continue on as usual, but the very next spell might break in the same way.

My feeling is something about the precast gearswap, or just the high fastcast (usually at 80% cap) causes the game to miss the spell confirmation in the log, and causes the long spell animation bug. I'm not sure if it's the log or the animation that HB is watching in order to trigger the next spell on the list, but either way it unfortunately makes HB unreliable, and usually gets me killed.

I'm using GS, battlemod, dressup (in the hope avoiding the blink could help, but doesn't) and some other regular add-ons.

Does everyone else have this issue? If not, any suggestions on how to avoid it?

MP Management

Add option to rest or convert when MP is low. Further: add check for certain buffs before converting.

Lua runtime error

i seem to randomly get the error spam of Lua runtime error: healbot/HB_Actions.lua:57: attempt to index field 'action' (a nil value). i can then reload HB and things are ok but it often comes back over time, i initialy thought it was after i had zoned into different areas but i have had it over a period of time in the same zone. could you possibly help me understand what its about

Bug in the enfeebling logic

HB stop casting debuffs on Unity NMs if they are killed before the debuff runs out, then subsequently popped again.

To reproduce, in a dualbox setup/with another person in pt:
//hb assist OtherCharacter
//hb debuff use dia2

Have OtherCharacter pop an attack Unity NM, wait for HB to cast Dia, then make sure to kill it while Dia is still in effect, then repop it immediately (multiple times if necessary). HB won't cast Dia on any subsequent pops. I suspect it's waiting for the "Dia effect wears off.", which never comes because the mob dies too soon, but I haven't delved in the code deep enough to know if it's the case.

Spamming Cure after waking from zzz

Everything runs fine until either i or the bot manages to get put to sleep.
As soon as that happens, the bot casts/queues cure to wake Me/Itself up and then won't stop spamming Cure on Me/Itself until i reset the client entirely

Error Loading Healbot - File does not exist

So just to start off, I'm not a programmer or anywhere near it. I'm very interested in this HealBot. I have downloaded and ripped the files into the correct folder, however, do I need to turn something on in the windower program (front page)? Every time I try to load healbot, it tells me file does not exist.

I hope someone can help. This program sounds incredible, and it would be a miracle for me if it worked. Thank you so much Lorand for putting this together.

Offensive Casting

I plan on adding the ability to cast offensive spells, such as Dia, to a specifiable assist target. I am also considering the option of having whitelist/blacklist modes for mobs to use this on, and for the ability to track when something like Paralyze wears off so that it can be recast.

Raise

Add ability to raise tracked members if nothing more important needs to be cast.

Healbot not maintaining buffs on party members

Like the title said.
I'm sorry I'm completely new to lua and I looked into the code, but couldn't find what i was looking for.
I found Buffhandling, but its all very weird to me.
It does hold buffs on current target, but if i want to keep a buff up on another party member it does not recast when the buff runs out of time. However it does rebuff when it is dispelled by a monster.

Am I overlooking a function somewhere?

Again, sorry if it's a dumb question

Bard Songs

Healbot can't seem to properly determine if a bard buff is up, (I actually ran into this problem myself when trying to keep bard buffs up automatically on gearswap) so it will constantly spam whatever bard buffs are listed on your buff list.

Sorry just noticed you had an older post that mentioned that bard buffs weren't being tracked.

Not Healing

I apologize from the start because my knowledge is limited, I have sought additional help from people who know more but the end result being "It works perfectly except when it comes to healing."

Dispeling

I noticed in the priorities.lua there was a function for dispel and the priorities to dispel each effects (line 44-83). I cant find any command to setup the auto dispel. was this something for a future update? I currently use react and oh no you don't, but this seams like it would be a lot easier.

Saving Datas

Is there a way to save datas on a xml file to be able to reload it, and not having to type it everytime ?
Example : if i set //hb db dia , am i able to save this somewhere, and to recall it if i have to reload HB ?

Unexpected error near

I downloaded the latest files for HealBot and Lor. When I try to load HealBot I get a message that says HealBot: Lua runtime error: libs/lor/lor_utils.lua': .../Windower//addons/libs/lor/lor_utils:1: unexpected symbol near ' and I think it is a question mark symbol.
runtimeerror

Cure and Assist

Sorry to bother, the addon works on most levels, with the exception of Curing not working (although characters are low lvl with only Tier 2 Cure and mincure set to 1). Follow and buffs and all else works well. Thanks for writing this script. @lorand-ffxi

Sleep

Sleep detection and removal is not currently active.

Bug in human scheduling process

There is a bug in the human scheduling process that inefficiently balances work and play. Can you look into a more cost effective subroutine so that you can get back to updating HealBot?

Healbot

how can i get healbot to do status removal spells IE posiona,paralyna and so on, or is it automaticly done when hb is on

thank you

Follow through zone

Follow stops at the zone. Is there a way to make it follow through into the next zone? Currently I have to alt tab and move all of the other chars manually to get through.

invalid target for multiple buff's

I figure the ishue im haveing is due to recent update to game. Curently when trying to set buff's to maintain some will work multipe will give a 'target' is an invalid target for said buff. have not been able to fix this myself or even find the ishue. i understand this is an older addon and not as maintained as it used to might be but if some one has been able to get it working again or if someone has something else i can use that would be great.

curent list of buff's i know dont work
-aquaveil
-protect - ra
-shell - ra
-refresh 1 and 2
-afflatus solace

BRD

Need to implement the ability to track & maintain BRD buffs reliably.

Multiple debuffs

Is it possible to make the debuffs more like the hots? Like ok, we got a priority order, but configure a max number of debuffs to show at once, prioritize the debuff to color the frame if available and show the next N-1 debuffs as icons.

Runtime Error: healbot_queues.lua:168 :attempt to index local 'nbuff' (a nil value)

Was using Healbot on PLD with the following buffs being maintained on self:

crusade, phalanx, reprisal

Was working fine for about half the fight then started spamming:
lua runtime error: healbot_queues.lua:168 : attempt to index local 'nbuff' (a nil value)

Also just wanted to say always been a huge fan of this addon, glad you're finding some time to give it some love!

Bufflist not working with Protectra V and Shellra V

Adding protectra v or shellra v to bufflist.xml is not working for me. I've tried a number of different combinations and can't get it to fire. Basically on whm I want both to be up at all times. when invoking the self section defined in the attachment I get "unable to match the buff name to an actual buff: Shellra", etc.

I'm guessing I'm doing something wrong. Will this only work with single target version? If so how would i maintain something like barsleepra on party?

Also, do I have to manually assign each party member a bufflist or should that be picked up automatically based on their main job when //hb on? Currently the only way I've been able to get it to maintain a bufflist is to manually type //hb buff melee MeleePlayerName

I'd also like to say I love this program. It makes playing a job I loathe tolerable!

priorities.xml.txt
settings.xml.txt
buffLists.xml.txt

Does anyone have a fix for bio/dia auras?

Aura debuffs that require erase to clear (dia / bio etc) cause healbot to constantly spam erase on the WHM player. In theory for poison you should be able to add poisona to the ignore list, but I'm not sure that even works.

I've tried putting -1 in the priorities for these debuffs but I think Aura's may have a different ID so are not picked up like normal debuffs.

It's really a shame this get's in the way of HB working smoothly on things like Dyna bosses and Ambu with auras. Can anyone come up with a solution?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.