AI somehow gets "stucked" after casting Kyrie Eleison

Forum closed. All further discussion to be discussed at https://github.com/OpenKore/

Moderators: Moderators, Developers

Message
Author
User avatar
itsrachelfish
Developers
Developers
Posts: 50
Joined: 27 Feb 2012, 12:50
Noob?: No

Re: AI somehow gets "stucked" after casting Kyrie Eleison

#11 Post by itsrachelfish »

This is a serious problem, how am I supposed to finish my healslave plugin? :P
Tired of waiting for answers on the forums?
Want to talk to OpenKore experts?

Hang out on the #OpenKore IRC!

User avatar
SkylorD
Moderators
Moderators
Posts: 1167
Joined: 16 Dec 2011, 02:53
Noob?: No
Location: Brazil
Contact:

Re: AI somehow gets "stucked" after casting Kyrie Eleison

#12 Post by SkylorD »

Thanks for the link. So i guess the problem still not yet resolved. Or should it mean not to use Kyrie Eleison.
do ai clear in macro throws an error.
With this way works :

Code: Select all

automacro AI-Clear {
exclusive 1
priority 1 
call {
$ai = ai
$clear = clear
do $ai $clear
}
}
I don't understand why, but works.
Learn rules

User avatar
itsrachelfish
Developers
Developers
Posts: 50
Joined: 27 Feb 2012, 12:50
Noob?: No

Re: AI somehow gets "stucked" after casting Kyrie Eleison

#13 Post by itsrachelfish »

It's interesting to note this is only caused when using certain skills through the console or a macro. Config blocks like useSelf_skill Kyrie Eleison and partySkill Kyrie Eleison are unaffected. Does the console use as separate handler/AI than these config blocks?

Edit: After the AI becomes stuck, it also refuses to sit. However, Kore still responds to move, north, south, etc.
Tired of waiting for answers on the forums?
Want to talk to OpenKore experts?

Hang out on the #OpenKore IRC!

User avatar
itsrachelfish
Developers
Developers
Posts: 50
Joined: 27 Feb 2012, 12:50
Noob?: No

Re: AI somehow gets "stucked" after casting Kyrie Eleison

#14 Post by itsrachelfish »

Re: harvest
06:34 < harvesttime> inspect what's left in AI queue etc etc
06:34 < harvesttime> is there "skill casted" packet from the server
When starting kore, these tasks immediately appear...

Code: Select all

aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill
Inactive tasks: -
After casting a few skills on players, several Timeout tasks appear. They disappear eventually, I assume after the skill runs out on that user. An observation: They don't stack. Several timeouts are set even when the same skill is cast multiple times on the same player.

Code: Select all

aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill, Timeout, Timeout, Timeout, Timeout
Inactive tasks: -
Doing a bit more digging reveals Kyrie appears to cast fine on yourself, only breaking when casting on other users.

Code: Select all

You are casting Kyrie Eleison on Player Zap! (1) (Delay: 834ms)
	packet/skill_cast
		sourceID => -ü>
		targetID => ƒ??
		x => 0
		y => 0
		skillID => 73
		unknown => 6
		type => 0
		wait => 834
		dispose => 0

Player Zap! (1) uses Kyrie Eleison on herself (Lv: 65535)
	packet/skill_used_no_damage
		skillID => 73
		amount => 65535
		targetID => ƒ??
		sourceID => ƒ??
		success => 1

You are now: EFST_POSTDELAY (Duration: 2s)
You are no longer: EFST_POSTDELAY

aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill, UseSkill, Timeout, Timeout
Inactive tasks: UseSkill
This bug might be caused by Kyrie's source ID being sent as the user it was cast on, rather than who originally cast the skill.

Another skill which messes with Kore is casting holy light on other players. It may be caused because skill_use_failed is never sent, the skill is simply ignored.

Code: Select all

You are casting Holy Light on Player Zap! (1) (Delay: 834ms)
	packet/skill_cast
		sourceID => -ü>
		targetID => ƒ??
		x => 0
		y => 0
		skillID => 156
		unknown => 6
		type => 0
		wait => 834
		dispose => 0

aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill, Timeout, Timeout, Timeout, Timeout,
UseSkill
Inactive tasks: -
Epiclesis also breaks kore, maybe again because kore expects a skill_use packet but never recieves one.

Code: Select all

You are casting Epiclesis on location (55, 55) (Delay: 2543ms)
	packet/skill_cast
		sourceID => -ü>
		targetID =>
		x => 55
		y => 55
		skillID => 2044
		unknown => 6
		type => 0
		wait => 2543
		dispose => 0
		
Inventory Item Removed: Ancilla (2) x 1
Inventory Item Removed: Holy Water (25) x 1
You are now: Epiclesis Delay (Duration: 60s)
	packet/skill_post_delay
		ID => 2044
		time => 60000
		
You are now: EFST_POSTDELAY (Duration: 2s)
You are no longer: EFST_POSTDELAY

aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill, Timeout, UseSkill, Timeout
Inactive tasks: -
Fiolina : heal please
[dist=1] Zap! (4): heal please
You are no longer: Epiclesis Delay
[dist=1] Zap! (4): heal please
aiv
ai_seq (auto) =
Active tasks: RaiseStat, RaiseSkill, Timeout, UseSkill
Inactive tasks: UseSkill, UseSkill, UseSkill
Tired of waiting for answers on the forums?
Want to talk to OpenKore experts?

Hang out on the #OpenKore IRC!

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: AI somehow gets "stucked" after casting Kyrie Eleison

#15 Post by EternalHarvest »

There was a practically endless timeout when waiting for casting to be finished, that's why the skill use task was blocking everything. Fixed in r8018. Now it just warns every time one of such bugged skills is casted (which may be fixed separately).

Locked