Redbot updated KissAssist with a new update entry:
New version of KissAssist
Read the rest of this update entry...
New version of KissAssist
changelog to come
Read the rest of this update entry...
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.

changelog to come
Major fix in casting and spiffy new debug routines
small fixes
can you share your ini or the actual line for the buff in your ini? (full ini prefarably)I'm having an issue with |class|dru working to cast symbol only on the druid in group. It keeps casting just on the cleric![]()
and you have no other buff entries that does unity of emra? that's why I asked to see the full ini - sometimes (I'm guily) we end up doing double lines heheheBuffs22=UNITY OF EMRA|DUAL|SYMBOL OF EMRA|CLASS|DRU
Used to work fine before but something has changed ...
and you have no other buff entries that does unity of emra? that's why I asked to see the full ini - sometimes (I'm guily) we end up doing double lines hehehe
/delay 10
/goto :PullAgain
/delay 10
When pulling I noticed a problem where sometimes my guy would run up to a mob, then ran back to camp without having aggroed the mob - particularly if the mob is close when nav stops (eg you're almost standing on the mob). I don't have an extraordinarily large ping (~100ms), and the client has a whole core to itself so my frame rate is pretty good. I ended up editing the Pull with cast section to this:
Code:/delay 10 /goto :PullAgain /delay 10
That seemed to fix it. What I would like to suggest is an INI setting, perhaps call it 'PullWaitTime', that has it delay by that amount in the pull section - if anybody else runs into the problem of the puller running up to a mob then running back without aggro, they could then edit that until the problem goes away for them (eg start at 1, then 2, then 3, etc.)
/varset PullDist ${Int[${Macro.Return}]}
/goto :PullAgain
/delay 50 ${Me.XTarget[1].ID}>0
Edit: Ok, I gave it a try - I removed the first /delay, so now I have this (put it in the section of the pull routine that your character uses, eg melee section or casting section):
Code:/varset PullDist ${Int[${Macro.Return}]} /goto :PullAgain /delay 50 ${Me.XTarget[1].ID}>0
Then I ended and reran KA. It worked, he ran up to a mob that normally he would run up to and run back before aggroing, only this time he delayed just long enough to aggro the mob. Once he had aggro he ran back to the group without continuing the delay.
/noparse /varset PullAggroTargetID ${If[${ChainPull}==0,${Me.XTarget[${XTSlot}].ID},${If[${Me.XTarget[${XTSlot}].ID} && (${Me.XTarget[${XTSlot}].ID}==${MyTargetID} || ${Me.XTarget[${XTSlot}].ID}!=${BeginMobID} || ${Me.XTarget[${XTSlot2}].ID}),${MyTargetID},0]}]}
/delay 10 ${PullAggroTargetID}
/delay 50 ${PullAggroTargetID}
This is what *should* do this, it's declared near the top of the file:-
Code:/noparse /varset PullAggroTargetID ${If[${ChainPull}==0,${Me.XTarget[${XTSlot}].ID},${If[${Me.XTarget[${XTSlot}].ID} && (${Me.XTarget[${XTSlot}].ID}==${MyTargetID} || ${Me.XTarget[${XTSlot}].ID}!=${BeginMobID} || ${Me.XTarget[${XTSlot2}].ID}),${MyTargetID},0]}]}
In the various pulling subroutines, they check that variable e.g.
Code:/delay 10 ${PullAggroTargetID}
Which will evaluate the expression, and should be non-null if you have a mob in xtarget.
So theoretically, replacing those instances with
Code:/delay 50 ${PullAggroTargetID}
to increase the delay will have the same effect but retain the ChainPull logic.
Will adding a delay there impact the overall pulling responsiveness of kissassist? I think ctaylor and crew don't really like to use hardcoded delays if they can help it.
There already is one, this makes it larger but it's only called when you cast your spell/do melee or whatever at the point of pulling. It pales in significance compared to the "Looking for Close Range Spawns" CPU craziness you get if your maxradius is more than 500 or so (which I am guessing is using MQ2Nav to calculate distances?)
| Check for being to far from camp lose MyTargetID or path
/if (${Math.Distance[${CampYLoc},${CampXLoc}]}>=${Math.Calc[${MaxRadius}*.95]} || ${PullNavTimer}==0 || !${Spawn[${BeginMobNavID}].ID} || !${Navigation.PathLength[id ${BeginMobNavID}]}) {
/echo We have exceeded max pulling radius or timer or lost path to mob. Returning to camp
/if (${Navigation.Active}) /nav stop
/if (${Math.Distance[${CampYLoc},${CampXLoc}]}>=${Math.Calc[${MaxRadius}*.95]} || ${PullNavTimer}==0 || !${Spawn[${BeginMobNavID}].ID} || !${Navigation.PathLength[id ${BeginMobNavID}]}) {
/if (${Math.Distance[${CampYLoc},${CampXLoc}]}>=${Math.Calc[${MaxRadius}*.95]} || ${PullNavTimer}==0 || !${Spawn[${BeginMobNavID}].ID} || ${Navigation.PathLength[id ${BeginMobNavID}]}<=0) {
If I understand your point properly, increasing this delay won't help with that. Or will it?
Code:| Check for being to far from camp lose MyTargetID or path /if (${Math.Distance[${CampYLoc},${CampXLoc}]}>=${Math.Calc[${MaxRadius}*.95]} || ${PullNavTimer}==0 || !${Spawn[${BeginMobNavID}].ID} || !${Navigation.PathLength[id ${BeginMobNavID}]}) { /echo We have exceeded max pulling radius or timer or lost path to mob. Returning to camp /if (${Navigation.Active}) /nav stop
This is what *should* do this, it's declared near the top of the file:-
Code:/noparse /varset PullAggroTargetID ${If[${ChainPull}==0,${Me.XTarget[${XTSlot}].ID},${If[${Me.XTarget[${XTSlot}].ID} && (${Me.XTarget[${XTSlot}].ID}==${MyTargetID} || ${Me.XTarget[${XTSlot}].ID}!=${BeginMobID} || ${Me.XTarget[${XTSlot2}].ID}),${MyTargetID},0]}]}
In the various pulling subroutines, they check that variable e.g.
Code:/delay 10 ${PullAggroTargetID}
Which will evaluate the expression, and should be non-null if you have a mob in xtarget.
So theoretically, replacing those instances with
Code:/delay 50 ${PullAggroTargetID}
to increase the delay will have the same effect but retain the ChainPull logic.
I edited the /delay 10 to /delay 50 but that didnt help. What I am observing is that on some pulls the puller does not actually target the mob. He Navs to the exact spot the mob is at, but he doesn't actually have him targeted so unless the mob is KoS, no pull action takes place. I watched him run back and forth to the same mob 4 or 5 times until a closer mob spawned that he then targeted. Any ideas what could cause this intermittently like that?
Try the change I mentioned on #332 if you're seeing the message 'We have exceeded max pulling radius or timer or lost path to mob. Returning to camp' when he is returning to camp.
i believe its to set the xtslot that kiss uses to handle mobs, so if you have a raid tank on xtslot 1, your mob on xtslot2 youd put xtslot=2 there, but i am not sure though, maybe @Maskoi and or @ctaylor22 could elaborate.
That is a place holder, for what XTarget entry was the first auto hater in the XTarget list when Kiss was started. When kiss ends kiss attempts to make sure that the XTarget entry, equal to xtslot, is set back to auto hater and then sets xtslot to zero.
If your system crashes or kiss ends abnormally then xtslot will not be zero, so when kiss is started back up it will attempt to reset XTarget[xtslot] back to auto hater.
@ChatWithThisName put this together and this videoActually whilst I'm here, is there somewhere I can read up on making kconditions? I'm referring to the guide here but I see no mention, should I be looking elsewhere?:
https://www.redguides.com/community/threads/kissassist-instructions-settings-info.26002/
ahh okay, to fix that bug some people experienced some time ago?, where their xtarget slot would randomly clear itself and stop being usefull?
Let's say I set afktools in the ini to pause macro when someone is in range. I also have the ini of mq2posse to /quit when someone is in range. What would happen? Will one of them override the other or will it pause first (from kiss) then issue the posse command to quit?
Which one would you actually want to fire?
I'm not entirely sure yet, I'm just trying to get my ini files in order and wondered which would have priority. Ideally I'd like to pause the macro and give an email notification. I can do this in the ini file of mq2posse, I can pause the macro in the ini file of kiss but I don't think I can set it to give an email there.
I suppose the question I should be asking is, if I have kiss running with 0=/mqp 1=/gmail "some text etc" in the ini file of mq2posse, will kiss pause the macro and then I get the email from mq2posse?
