I used this addon for a couple of hours and I couldn't find any out of 8 rares I was chasing, could not believe they are not there. Unfortunately, the nameplate detection has very limited range and requires you to fly very low and slow, your field of vision is so small you miss everything.
As a solution to this, I wrote a tiny addon that spams a bunch of TargetUnit() commands a few times per second and believe it or not I found all 8 rares over the same areas where I failed before.
The idea is that you can not programmably target units, so when the unit is actually present the execution of TargetUnit() will produce an error on your screen and that's how your detect it. The range in this case is huge comparing to the nameplates so it works much much better.
The way it works, you can call TargetUnit("Rare") in your script anytime you want.
If "Rare" doesn't exist in your vicinity - nothing will happen.
However, if "Rare" does exist then this call will fail because you are not allowed to target units w/o hardware event and you will get a standard error frame popping up telling you that.
And that's how you detect a rare - by causing you script to fail.
To make it more practical you might want to add a reload UI button and add a check if your target is alive so not to trigger that fail again over the corpse but strictly it terms of detection it's the fastest and highest range way to do it.
Torhal - Love NPCScan. Trying to get mine fixed. Is it only on the Curse/Twitch site or are there others (WM) that I can update an uncorrupted version.
By corrupted I was referring to the comments I've read about Curse corrupting the file. I was wondering if other sources, such as wowmatrix was not doing the same. However, I tried downloading it with the same results.
The file is build on WowAce (CurseForge), which is where the binary data is being corrupted. The issue tracker link I posted will tell you how to work around it for now.
Been using NPCScan Overlay as a stand-alone for ages, just to have the rare paths on my map or minimap. Unfortunately, it's throwing a Lua error in 8.0, and I cannot find any discussion pages for the Overlay anymore, otherwise I would have posted this concern there. Thanks in advance for your help.
Date: 2018-07-19 21:52:36 ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\_NPCScan.Overlay\Overlay.lua line 701: attempt to call field 'SetMapByID' (a nil value) Debug: _NPCScan.Overlay\Overlay.lua:701: ?() ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145: ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145 [string "safecall Dispatcher[2]"]:4: [string "safecall Dispatcher[2]"]:4 [C]: ? [string "safecall Dispatcher[2]"]:13: ?() ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:90: Fire() Ace3\AceEvent-3.0\AceEvent-3.0.lua:120: Ace3\AceEvent-3.0\AceEvent-3.0.lua:119 Locals: None AddOns: NPCScanOverlay, v7.3.0.1
Overlay needs a complete rewrite. Not only due to the binary encoding issues with CurseForge, but with WoW 8.0 Blizzard has completely replaced the map system. I have no ETA right now, since I have several other projects that require my attention. At the moment, I'm in the process of rewriting Archy for the same reason.
From my short usage of this mod, it seems to go for an all-in / opt-out selection method for mobs to be notified about, but I'd love it if I could reverse this so it's an opt-in selection method. Have a button to untick everything, then I could select the particular mobs from various zones I'd like to be alerted about.
Closest I can find is disabling continents/zones, but if there's one mob or a small number of mobs I want from a continent I'm specifically after I then have to disable all zones that don't apply, then go in to the zones that do have that one or multiple mobs and disable each and every mob that isn't what I'm after.
My reasoning for wanting this is that most of the time here's half a dozen rare pets I'm interested in taming across all continents at any one time, and half a dozen rare spawns I'm interested in fighting at any one time. I'd like to be alerted for those and only those, not every other. Unless I've missed something when setting up the mod to alert me properly, it's quite a frustrating job to get it applicable to my desires. That said, I still love it. Definitely worth the effort. :)
I added some lines to CanAddToScanList in Scanner.lua so that rares keep getting spotted if they drop toys or mounts that the character doesn't have yet, or pets (even if they have 3), even if their related achievements are completed.
if detection.rares and not isQuestCompleted then
if npc.mounts then
for i = 1, #npc.mounts do
local _, _, _, _, _, _, _, _, _, hideOnChar, isCollected = _G.C_MountJournal.GetMountInfoByID(_G.C_MountJournal.GetMountFromSpell(npc.mounts[i].spellID))
if not hideOnChar and not isCollected then
return true
end
end
end
if npc.pets then
return true
end
if npc.toys then
for i = 1, #npc.toys do
if not _G.PlayerHasToy(npc.toys[i].itemID) then
return true
end
end
end
end
I put these lines just before the check for isTameable (to get alerts on tameble rares that drop pets even with the tameables detection disabled), so I had to move the isQuestCompleted declaration to be just before the new lines.
That was actually the plan, but I want to have a centralized point that affects both the list addition and the tooltip display, as well as a place to turn those off the preferences. I haven't had the time yet, though, since I'm currently on vacation visiting family and need to rewrite _NPCScan.Overlay and Archy - those are taking precedence.
I got NPCScan Overlay working. At least to a point. There are old bugs still there. Like the minimap display going bonkers after a while and mousing over rare names on the worldmap not flashing the correct path graphics sometimes. But it is working.
I really just winged most of it so I can't promise it's coded that great but it's doing the job for me. Honestly, I really don't know what I'm doing with a lot of this stuff. The tooltips work over the battlefield map but not the world map. But if you disable the battlefield map (shift+M), they start working on the world map, I really can't figure that one out....
I manually updated pathdata.lua to the new uiMapID's. Being able to add new rares would be great but I think it requires a maths degree to work out how to add new path data for a mob. It looks like the original author used a custom written addon to add new path data and I can't find that anywhere. Decoding the current data really goes over my head....
It doesn't display a location ring when a rare is found but I think that is due to NPCscan being rewritten?
Anyway, happy to share if anyone needs it if someone can give me an idea on where to upload it to. I don't think I can do it on here without creating a new project?
Anyway, happy to share if anyone needs it if someone can give me an idea on where to upload it to.
You can't upload your fixes. _NPCSCan.Overlay is copyright All Rights Reserved. You can fix your copy, but you cannot upload it publicly. Torhal is one busy dude, but he'll get it working. Officially.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Thank you!
A bit of a feedback:
I used this addon for a couple of hours and I couldn't find any out of 8 rares I was chasing, could not believe they are not there. Unfortunately, the nameplate detection has very limited range and requires you to fly very low and slow, your field of vision is so small you miss everything.
As a solution to this, I wrote a tiny addon that spams a bunch of TargetUnit() commands a few times per second and believe it or not I found all 8 rares over the same areas where I failed before.
The idea is that you can not programmably target units, so when the unit is actually present the execution of TargetUnit() will produce an error on your screen and that's how your detect it. The range in this case is huge comparing to the nameplates so it works much much better.
This is a thing in NPCScan, as well. Look at the Keybindings/AddOns/NPCScan section.
These seem to be keybindings meaning you need to press a button, it's not what I'm talking about.
Targeting a unit has always required a hardware event. I'm not sure how you're not needing to do this.
Not exactly.
The way it works, you can call TargetUnit("Rare") in your script anytime you want.
If "Rare" doesn't exist in your vicinity - nothing will happen.
However, if "Rare" does exist then this call will fail because you are not allowed to target units w/o hardware event and you will get a standard error frame popping up telling you that.
And that's how you detect a rare - by causing you script to fail.
To make it more practical you might want to add a reload UI button and add a check if your target is alive so not to trigger that fail again over the corpse but strictly it terms of detection it's the fastest and highest range way to do it.
Torhal - Love NPCScan. Trying to get mine fixed. Is it only on the Curse/Twitch site or are there others (WM) that I can update an uncorrupted version.
In reply to
:By corrupted I was referring to the comments I've read about Curse corrupting the file. I was wondering if other sources, such as wowmatrix was not doing the same. However, I tried downloading it with the same results.
I just came back to the game and any time I try installing it says one of my addons is out of date even though it was updated a few days ago.
In reply to
:Hi!
Been using NPCScan Overlay as a stand-alone for ages, just to have the rare paths on my map or minimap. Unfortunately, it's throwing a Lua error in 8.0, and I cannot find any discussion pages for the Overlay anymore, otherwise I would have posted this concern there. Thanks in advance for your help.
Date: 2018-07-19 21:52:36
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\_NPCScan.Overlay\Overlay.lua line 701:
attempt to call field 'SetMapByID' (a nil value)
Debug:
_NPCScan.Overlay\Overlay.lua:701: ?()
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145:
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:145
[string "safecall Dispatcher[2]"]:4:
[string "safecall Dispatcher[2]"]:4
[C]: ?
[string "safecall Dispatcher[2]"]:13: ?()
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:90: Fire()
Ace3\AceEvent-3.0\AceEvent-3.0.lua:120:
Ace3\AceEvent-3.0\AceEvent-3.0.lua:119
Locals:
None
AddOns:
NPCScanOverlay, v7.3.0.1
(Truncated)
Overlay needs a complete rewrite. Not only due to the binary encoding issues with CurseForge, but with WoW 8.0 Blizzard has completely replaced the map system. I have no ETA right now, since I have several other projects that require my attention. At the moment, I'm in the process of rewriting Archy for the same reason.
In reply to Torhal:
In reply to Torhal:
From my short usage of this mod, it seems to go for an all-in / opt-out selection method for mobs to be notified about, but I'd love it if I could reverse this so it's an opt-in selection method. Have a button to untick everything, then I could select the particular mobs from various zones I'd like to be alerted about.
Closest I can find is disabling continents/zones, but if there's one mob or a small number of mobs I want from a continent I'm specifically after I then have to disable all zones that don't apply, then go in to the zones that do have that one or multiple mobs and disable each and every mob that isn't what I'm after.
My reasoning for wanting this is that most of the time here's half a dozen rare pets I'm interested in taming across all continents at any one time, and half a dozen rare spawns I'm interested in fighting at any one time. I'd like to be alerted for those and only those, not every other. Unless I've missed something when setting up the mod to alert me properly, it's quite a frustrating job to get it applicable to my desires. That said, I still love it. Definitely worth the effort. :)
I added some lines to CanAddToScanList in Scanner.lua so that rares keep getting spotted if they drop toys or mounts that the character doesn't have yet, or pets (even if they have 3), even if their related achievements are completed.
I put these lines just before the check for isTameable (to get alerts on tameble rares that drop pets even with the tameables detection disabled), so I had to move the isQuestCompleted declaration to be just before the new lines.
That was actually the plan, but I want to have a centralized point that affects both the list addition and the tooltip display, as well as a place to turn those off the preferences. I haven't had the time yet, though, since I'm currently on vacation visiting family and need to rewrite _NPCScan.Overlay and Archy - those are taking precedence.
I got NPCScan Overlay working. At least to a point. There are old bugs still there. Like the minimap display going bonkers after a while and mousing over rare names on the worldmap not flashing the correct path graphics sometimes. But it is working.
I really just winged most of it so I can't promise it's coded that great but it's doing the job for me. Honestly, I really don't know what I'm doing with a lot of this stuff. The tooltips work over the battlefield map but not the world map. But if you disable the battlefield map (shift+M), they start working on the world map, I really can't figure that one out....
I manually updated pathdata.lua to the new uiMapID's. Being able to add new rares would be great but I think it requires a maths degree to work out how to add new path data for a mob. It looks like the original author used a custom written addon to add new path data and I can't find that anywhere. Decoding the current data really goes over my head....
It doesn't display a location ring when a rare is found but I think that is due to NPCscan being rewritten?
Anyway, happy to share if anyone needs it if someone can give me an idea on where to upload it to. I don't think I can do it on here without creating a new project?