GilesSmith
New Member
- Joined
- Jun 2, 2012
- Messages
- 1,564
- Reaction score
- 34
Nuok/super - a catch I made debugging stuff for hours today that you might find useful - found when developing my combat plugin I was having a *LOT* of Diablo 3 crashes at first - initially I thought this was simply caused by how quickly it tries to repeat-attack and perhaps DB/D3 just couldn't cope. However after many hours of logging and debugging...
The problem is caused by "UsePower" against specific ACDGuid's (eg the main LMB attack in Belph/Generic). If the monster/target ACDGUID dies in the milliseconds before the "UsePower" is actually sent to Diablo 3 memory - D3 will crash out because it's trying to locate an ACDGUID that no longer exists in memory.
I found that if you replace any "UsePower" that tries to target a specific ACDGUID, with a UsePower aimed at the Vector3 of the monster (with world ID listed, and ACDGUID at -1), it never crashes. Since you're attacking a location, it just means it might try to punch thin air where the monster was if it dies in that brief moment before going onto the next target.
Belphegor will be less vulnerable to this because of the slightly slower attack rate, but vulnerable nonetheless (as will Generic and anything else that targets a specific ID that can "vanish" in D3 memory).
Haven't had a single crash since going purely Vector-based on all UsePower abilities!
The problem is caused by "UsePower" against specific ACDGuid's (eg the main LMB attack in Belph/Generic). If the monster/target ACDGUID dies in the milliseconds before the "UsePower" is actually sent to Diablo 3 memory - D3 will crash out because it's trying to locate an ACDGUID that no longer exists in memory.
I found that if you replace any "UsePower" that tries to target a specific ACDGUID, with a UsePower aimed at the Vector3 of the monster (with world ID listed, and ACDGUID at -1), it never crashes. Since you're attacking a location, it just means it might try to punch thin air where the monster was if it dies in that brief moment before going onto the next target.
Belphegor will be less vulnerable to this because of the slightly slower attack rate, but vulnerable nonetheless (as will Generic and anything else that targets a specific ID that can "vanish" in D3 memory).
Haven't had a single crash since going purely Vector-based on all UsePower abilities!

Last edited: