-
-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Randomly not looting #556
Comments
Gooday! Thanks for reaching out for help. To avoid settling in with premature conclusion, I've been trying to ingest the provided log. If i seeing correctly you are in a somewhat highly contested area, where one or more other players trying to tag murlocks. Out of the logged 15 possible kills only 9 has been detected as loot. (comparing the Out of the 9 detected kills, frankly everyone seems to be successful (searching for Can you check that, you don't have any Lua errors in game ?
I'm aware that the kill detection has its limitations due, have to compress a GUID value down to 24bit, and because of that, there's a case when multiple mobs sharing the same unique value. The compressor currently considers the Basically parsing a value like this function DataToColor:uniqueGuid(npcId, spawn)
local spawnEpochOffset = band(tonumber(sub(spawn, 5), 16), 0x7fffff)
local spawnIndex = band(tonumber(sub(spawn, 1, 5), 16), 0xffff8)
local dd = date("*t", spawnEpochOffset)
return (
dd.day +
dd.hour +
dd.min +
dd.sec +
npcId +
spawnIndex
) % 0x1000000
end That i can take a look to reduce collision generation (two killed mob share the same generated number). Are you aware of any high server latency / lagg ?
function DataToColor:OnLeftCombat()
DataToColor.eligibleKillCredit = {}
end Are you playing the game with a steady FPS count ?
This is non related to the looting issue, for me it seems from the log that casting Can you tell something about that, have you noticed anything ? |
I've tried to come up with different ways to generate unique values for npcId spawnUID for the Creature however all of them has at least one collision in a 50 sample set. I've made a patch which shows my current progress, if you wish to contribute or think about the problem this should give a good base to start thinking about it. On the other hand if you have an another approach to this problem you are more then welcome to share it here. The test_gen_unique_from_guid.patch adds a
Then in-game you can type There's a few requirement for the solution
|
Hello. Thanks for all the info. It's a bit beyond me. The main issue is probably caused by server lag or instability. The mob takes too long to become lootable? Anyways it seems to work well enough and I always appreciate any time or effort you put into this project. |
As most of the bot features, it can only await for so long to compete an action. There's a meaningful wait time for every corresponding action. After the mob dies, the player has a maximum of 10s time window to loot the mob, after that time it marked as non reachable, and its going to be ignored. |
Okay. Well, it must be something else. As it does not take 10s to loot. It's running away almost as soon as it dies. So it must be something to clue it that it has died. |
If you could send me more logs, i might have a better understanding about your situation. |
Will do. |
Also having this issue. Playing on ~90 ping and seems to fail pretty frequently. Playing a hunter. Perhaps it has something to do with pet getting kills ? Here's a failed loot log: [13:31:51:996 I] [NpcNameFinder] type = None | mode = Fuzzy |
Seems like the same issue as before, after the Do you have other players around, kills mobs on respawn, with high intensity ? |
It's pretty low intensity I'd say. Few people here and there but my route is pretty low density. Edit: just saw it fail with like one other mob on my screen and not a player in sight around me. Same log sequence |
After doing some testing on my end, i can only reliably reproduce the mentioned issue of |
Meanwhile i did some further testing, however, after all, the level up during a kill method does not seems to be reliable at all. I guess it was just pure luck at the first place. I've been trying to wrap my head around what kind of edge case might happen, but i only have a few theories. When you as a player either do damage to or take damage from a given target, it checks if the target is UnitIsTapDenied. If not, then it adds to the Meanwhile listening to global events like UNIT_DIED which includes everything in the players proximity. When the given unit dies, it looks up if it exists in the I was unable to spot an edge case in that logic, personally.
It might have to do something about AoE abilities such as However in the past i've seen such instance when i was just using single target damaging abilities and the
In case only your pet is doing the damage on the NPC, and you as a player have not done any auto attack/ability on the target to cause damage, you won't get credit for the kill. |
First day of trying this out on a priest and I've had the same problem from the get go; character is immediately going after a new target some 60% of the time. Everything else has been near flawless. I'll get a clean log shortly and share. |
Following is a run of killing 4 monsters. The first 3 were ordinary kills that followed the sequence. None of these paused to loot or attempted to loot. The 4th mob was fudged and didn't follow the sequence for one reason or another (still perfecting it) but it did stop to loot. Only observation I can make is that the first 3 monsters were all in relative close proximity whilst the 4th was isolated. [08:09:27:677 I] [Jump ] Non Actionbar Spacebar -> Spacebar |
Hello please upload the unredacted log file. In order to see the full picture of the events. Key info are logged during the startup |
Here's a full out. Believe there was an error I corrected in the .json somewhere. The relevant combat test is done at the end where I believe 7 or 8 mobs were killed. All but the second to last mob were looted. Hope this helps. [08:23:25:449 I] [Program ] en 15/02/2024 08:23:25 +00:00 |
After looking at the logs, i can see that most of the casting like Can you tell me more about your setup?
|
I play with frame rate visible and achieve consistent 160+ fps. Max background is 30, target fps 60 and max foreground fps disabled. Happy to perform additional tests to try to isolate it. |
If you keep alt-tabbing(switching to other applications) frequently i recommend to target the same framerate during background and foreground fps. |
I set all the FPS settings to target 75 FPS, have set the game window to a 'medium' distance of camera zoom and made sure that the client always has access to the mouse (no alt tabbing) and the problem has resolved. Anyone still having this problem should trial and error the above. |
With the #572 fix, the loot should be more reliable. I've also added more verbose logging, so now its going to show up how many kills have been collected in the session. Let me know if you still encounter the issue, it can still happen, but not that frequently. Thank you for your patience. |
I will give it a shot thanks |
i can confirm
i can confirm that this has fixed my issue with him not looting properly. i just set the "fixed" foreground FPS to 120, and he started to loot everything. |
On the other hand recently ive made a discovery that while vsync is enabledy could cause major latency issues. The backend unable to read all of the frames. And the player movement becomes really zig zag ish. As it seems keep correcting itself while turning left to right. |
It is recommended in the README to turn off Vsync. So i did that, should be fine. I have followed "Getting it working" |
And i also have troubles with bot being stuck after looting WHILE IN COMBAT with 2 mobs. Scenario: Is it my setup wrong? |
Hello,
sure go ahead if you want to contribute you are more then welcome. Regarding what FPS works the best. Well, the Backend is capable of handling any kind of FPS. However there are some limitation regarding how often the DXGI can capture frames, if i recall correctly its about 10ms according to the official documentation, however i'm unable to find the related docs at the moment. Other than that i recommend to choose a FPS which is below what you machine can handle, and set a FRAME limiter. I think you can use the in-game frame limiter. However personally, in general, i don't trust in-game Frame limiters. For me what worked the best is "Guru3D RTSS Rivatuner Statistics Server" it provides the smoothest frame time. I've tested the bot with the minimum FPS 8 and up to 90. Between these values are fine, but of course it depends on what your hardware can handle.
I think i ran into similar situation when the first mob was skinnable, sadly the I was kind enough to answer your question here, if you encounter any kind of issue, please open a new issue, since this one is already closed and we are going off topic here. |
Description
While killing the bot will sometimes loot and sometimes not loot. There doesn't seem to be any rime or reason. It just kills the mob and then moves on
Addon Version
1.7.50
World of Warcraft Client
Season of Mastery
Reproduction Steps
The bot will kill and then not loot randomly
Last Good Version
No response
Screenshots
No response
Logs
out20231228.log
The text was updated successfully, but these errors were encountered: