WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Released AddOns (https://www.wowinterface.com/forums/forumdisplay.php?f=9)
-   -   Multishot (Screenshot) (https://www.wowinterface.com/forums/showthread.php?t=24290)

dlui 06-01-09 11:10 AM

Multishot (Screenshot)
 
Hello and welcome to Multishot - a tiny addon that automatically takes screenshots of memorable events in your World of Warcraft career. It's a photo diary of everything you come across in Azeroth, Outland, Northend and Pandaria.

This thread contains some technical information about Multishot and hopefully lots of comments, feature requests & bug reports.

Multishot uses LibBossIDs to detect boss kills. On every instanced monster's death Multishot checks its unique Id and takes a screenshot if it's a boss. Additional to that we've created our own database with all rare/rare-elite mobs and some blacklist/whitelist stuff.

Features
  • level-ups and guild level-ups
  • achievements and guild achievements
  • challenge mode medals
  • reputation changes
  • trade window transactions
  • any rare/rare-elite mob kills
  • timeline; take a screenshot every x minutes (configurable)
  • keybind; take a custom screenshot on demand

Anyone who has contributed: I really appreciate your help! Thanks for improving Multishot by adding new features to the source code, reporting & fixing bugs, and so on. Keep it going!

:banana:

Tondef 06-11-09 08:09 AM

Just noticed that the delay doesn't seem to click in for boss kills, but works for the achievements.

phillychuck 06-29-09 11:05 AM

Any chance you can time things like big critical hits or does that happen to fast?

Also a way to set the threshold so it only would go off on big pvp hits?

skarrde 08-05-09 09:45 AM

when I turn off shots for boss kills but leave on achievements it doesn't seem to work. but if I have boss kills on then it takes pics of achievements.

dlui 08-05-09 03:20 PM

Dear Tondef and skarrde,

I couldn't reproduce your problems, worked fine for me. Please update to Multishot 1.4 and post again if anything is not working as intented.

dlui

jojoza 08-10-09 02:47 AM

I had same problem as Skarrde. I changed bit of your code, and it seems problem is solved.

function Multishot:COMBAT_LOG_EVENT_UNFILTERED() in Multishot.lua:

Code:

function Multishot:COMBAT_LOG_EVENT_UNFILTERED()
  inInstance, instanceType = IsInInstance()
  if (instanceType == "party" and (not MultishotConfig.party)) then return end;
  if (instanceType == "raid" and (not MultishotConfig.raid)) then return end;
  if arg2 == "UNIT_DIED" then
    tempID = tonumber("0x" .. string.sub(arg6, 9, 12));
    if BossIDs[tempID] then
      if UnitIsDead("player") then
        self:ScheduleTimer(Screenshot, MultishotConfig.pdelay);
      else
        isDelayed = true;
      end
    end
  end
end


dlui 08-22-09 03:07 PM

Thank you. Please update to Multishot 1.5! :eek:

Bomyne 08-23-09 03:52 AM

Feature request:

Can you make an option so that the addon shows text when I level (Such as in the middle of the screen "Congradulations for reaching level 65" for example) and take a screenshot WHILE that text is being displayed?

Tntdruid 08-23-09 06:19 AM

Quote:

Originally Posted by Bomyne (Post 155278)
Feature request:

Can you make an option so that the addon shows text when I level (Such as in the middle of the screen "Congradulations for reaching level 65" for example) and take a screenshot WHILE that text is being displayed?

http://www.wowinterface.com/download...elUpGrats.html does that :)

Rubius 08-30-09 06:21 PM

Maybe add a feature to take a Screenshot when you are Exalted with a Reputation? :D

Cralor 08-30-09 07:47 PM

Quote:

Originally Posted by Bomyne (Post 155278)
Feature request:

Can you make an option so that the addon shows text when I level (Such as in the middle of the screen "Congradulations for reaching level 65" for example) and take a screenshot WHILE that text is being displayed?

The author just needs to delay the shot by like 1 second I believe.

dlui 09-16-09 09:33 AM

Quote:

Originally Posted by Cralor (Post 156831)
The author just needs to delay the shot by like 1 second I believe.

That's already build in.

I don't know a nice way to take screenshots on reputation level ups, any ideas on how to implement that?

Dridzt 11-05-09 07:16 PM

Quote:

Originally Posted by dlui (Post 159060)
I don't know a nice way to take screenshots on reputation level ups, any ideas on how to implement that?

Sample Code (tested in a mini-addon):
1. In function Multishot:OnEnable() add
Code:

self:RegisterEvent("CHAT_MSG_SYSTEM")
2. Create a capture pattern from the global rep standing change formatstring:
Code:

local FACTION_CAPTURE_PATTERN = string.gsub(FACTION_STANDING_CHANGED,"%%%d?%$?s", "(.+)")
This will make your capture pattern locale independent.

3. In your CHAT_MSG_SYSTEM event handler:
Check arg1 (the first argument of the event is the actual message)
against your capture pattern.
Code:

local newstanding, withfaction = string.match(arg1, FACTION_CAPTURE_PATTERN)
4. If you catch a relevant system message and newstanding is not nil:
Compare it with the global standing labels (this will also work locale independent)
Code:

if newstanding == FACTION_STANDING_LABEL8
or newstanding == FACTION_STANDING_LABEL8_FEMALE
then
-- do our screenshot magic
end

This would only screenshot if you just gained Exalted status.
To check for other rep standings or make it screenshot on any major rep change,
you'd need to check against FACTION_STANDING_LABELx or FACTION_STANDING_LABELx_FEMALE
where x is 1 to 8 and corresponds to Hated, Hostile, Unfriendly, Neutral, Friendly, Honored, Revered, Exalted.

Hope it helps :)

Dridzt 11-05-09 09:26 PM

Making it a bit simpler.

The modified Multishot.lua can be found on this pastey.
The modified config.lua on this one.

Tested and working.

dlui 11-08-09 08:45 AM

Quote:

Originally Posted by Dridzt (Post 164877)
Making it a bit simpler. Tested and working.

Wow - that's cool, thanks! I've updated Multishot with your changes.

Multishot, now with screenshots for reputation levels - thanks to Dridzt!

Kayella 01-06-10 05:55 AM

Since 3.3 I've not been getting any screenshots on boss kills in 10/25 man instances - specifically Icecrown and ToC. It seems to work fine still in Naxxramas and for achievements/rep increases, but I'm not getting anything in the new raid instances. This might be a problem with the library?

Dridzt 01-06-10 08:08 AM

That's correct.

Until dlui posts a repack you can manually update with the latest LibBossID library from here:
http://www.wowace.com/addons/libbossids-1-0/files/

Get the topmost file and extract it inside Multishot folder.

Zidomo 01-15-10 08:30 PM

Problem with Multishot r34 in WoW 3.3 (using with the latest LibBossIDs-1.0 r36 from Dec. 9/09).

Its consistently taking screenshots of certain trash mob deaths in the new Pit of Saron 5-man instance. Specifically: Ymirjar Flamebearers, Ymirjar Flamebearers and/or Ymirjar Wrathbringers.

No, its not connected to any reputation level gains or anything else. Have yet kill the first mob group up the path after the Krick & Ick boss without it taking an unwanted screenshot.

(First posted a month ago on the addon thread. Problem is still occurring with Multishot r36, as is to be expected).

Dridzt 01-15-10 09:02 PM

I have been updating LibBossID diligently and have run the 3 new heroics numerous times.

Going back in my screenshots folder a month+ I can find several killshots of bosses but not even 1 false positive involving that trash.

(I just did a hPoS run again tonight couple hours before posting and Multishot works as expected).

The only screenshots of trash I can find is related to reputation gains.

Any chance you have moved reputations messages to another chatframe,
or you were gaining reputation for factions you have moved to "inactive"?
"Inactive" marked reps will not switch the repbar (if you have an autoswitch addon and rely on that to notice rep gains).

Considering you are the only one reporting this "problem" I'd start looking at conflicts or other explanations because I don't think there's any problem with Multishot.

Dridzt 01-22-10 06:06 PM

A few more IDs for your blacklist that lead to false positives.

Not Multishot's fault, LibBossID has them in to accomodate bossmods
(since it's 'trash' linked to the outcome of raid encounters).

Whatever the reason it leads to Multishot taking some unwanted screenies.
-- Naxxramas
[16803] = true, -- DeathKnight Understudy: Razuvious "adds"
[15930] = true, -- Feugen (Thaddius pre-event)
[15929] = true, -- Stalagg (Thaddius pre-event)
-- Ulduar
[32933] = true, -- Left Arm (Kologarn's arms)
[32934] = true, -- Right Arm (Kologarn's arms)
-- Icecrown Citadel
[37217] = true, -- Precious (Festergut/Rotface "pets")
[37025] = true, -- Stinky (Festergut/Rotface "pets")

Regards.

xtoq 01-23-10 11:57 AM

Rares?
 
Would it be possible to add the ability to take a screenshot when you kill a rare? Paparazzi has this, and I find its about the only thing I can think of that I'd like this to do. Thanks for a great addon and keep up the great work!

Dridzt 01-24-10 06:03 PM

It's definitely possible but there is a bit of deliberation involved.

There's 2 ways of doing this:
- Use a list of rares (by mining wowhead) similarly to how the addon uses a list of bosses (provided by LibBossID)
- Use API to determine if the mob killed was a rare.

There's pros and cons to both methods.
List pretty much ensures you will not miss a rare screenshot (if your list is complete)
but you can end up with screenshots when others (in combatlog distance) kill a rare.

I'm testing a method that doesn't rely in a hardcoded list but it is a bit hard to find rares on demand :)

Anyway I'll probably post some code tomorrow or the next day for both methods and dlui can decide if and which he'd like to use :)

Dridzt 01-25-10 08:33 PM

Changed files (against Multishot r39.1) for:

Method A (rares determined by API)
-----------------------------------
Multishot.lua http://www.pastey.net/131911
Config.lua http://www.pastey.net/131912
This will catch any rare or rare elite that you kill provided it was your target at the time of death.
Pros: no need for a hardcoded list and "auto updates" if new rares are added to the game.
Cons: you can lose a screenshot if somehow the mob is not targetted when it dies.

Method B (rares determined by a list of IDs)
------------------------------------------
A new file added to the addon folder...
Rares.lua http://www.pastey.net/131915
and to Multishot.toc http://www.pastey.net/131916
Multishot.lua http://www.pastey.net/131913
Config.lua http://www.pastey.net/131912 (same as above)
Pros: Will catch any rare killed that's included in the list regardless if it was targetted.
Cons: The included list will need updates if new rares are added / discovered.
It will take screenshots when a rare is killed in combatlog range regardless if it was the player's kill.

dlui 01-26-10 06:28 AM

Great Work. Thanks. :banana:

But which of the two solutions should I add? :confused:

Does UnitClassification("target") work? Isn't the target cleared on killing a mob?

Maybe combining these two methods: if UnitClassification isn't a match let's ask our inbuild db? :o

Dridzt 01-26-10 08:29 AM

UnitClassification works and the target is cleared but after UNIT_DIED fires.
So if you had the mob targetted as it died the screenshot is taken as expected.

I can't think of a way to combine the 2 so that they complement each other.
The list will catch all rare kills included in it.
Trying to qualify it by checking that it was your target as it died (weeding out false positives: other peoples kills in the vicinity)
will effectively be the same as if you didn't use a list at all and only used the classification+target method.
What might make some sense is check classification after checking the list ('or' logic) to catch a rare that isn't included in the list (was recently put in game, or hasn't been encountered/datamined by wowhead or the list of ids included in the addon is incomplete).
I imagine this to be an extremely rare occurrence.

Flipping a coin would be an idea :p

Edit: Maybe go with the more 'catch all' (safer) approach of the list.
A false positive here and there shouldn't be an issue for the majority of users.

dlui 01-31-10 02:04 PM

I've uploaded the second solution. Thanks again! :banana:

Viper423 02-03-10 10:43 PM

Hello! Love the mod. I'm having a problem with it since I updated it to the latest version that was released on 1/31. Every time I kill a boss it takes a screen shot, and I have it disabled because I don't want a screen shot of every boss I kill. Anyway to fix this? I only want the mod to take a screen shot of achievements I get. Thanks!

Dridzt 02-04-10 12:08 AM

I have to take the blame for that one. :o

It is a side-effect of the code added to support rares.

dlui's previous version was only monitoring the combatlog for deaths when the option to take screenshots in party or raid was selected.

As a temporary workaround you can uncheck the rares option and the addon will revert to the previous behavior.

For a proper fix a minor edit is necessary.

Dridzt 02-07-10 12:22 AM

This should fix that glitch and allow both bosskill and rare kill options to work independently.

Multishot.lua (off 39.2)
http://www.pastey.net/132597

Zidomo 03-18-10 04:17 PM

As per my Dec. 17/09 post in the Multishot comments:

Quote:

Originally posted by Zidomo
Problem with Multishot r34 in WoW 3.3 (using with the latest LibBossIDs-1.0 r36 from Dec. 9/09).

Its consistently taking screenshots of certain trash mob deaths in the new Pit of Saron 5-man instance. Specifically: Ymirjar Flamebearers, Ymirjar Flamebearers and/or Ymirjar Wrathbringers.

No, its not connected to any reputation level gains or anything else. Have yet kill the first mob group up the path after the Krick & Ick boss without it taking an unwanted screenshot.

This problem is still occurring on every run of PoS heroic in WoW 3.3.2 live with Multishot r42. Have also seen it occur in other instances/raids.

Dridzt 03-19-10 10:01 AM

User chicknlil25 debugged this.
Answer is in comment section.

Short version:
Addon takes a screenshot when Jaina/Tyranus Roleplay finishes and Ick is killed.

dlui 03-19-10 03:16 PM

This has been fixed in r42a. Thanks for reporting.

:banana:

dlui 06-14-10 01:08 PM

Multishot r44b is out with tons of new features! :banana:

The sad part is I'm almost sure that I messed up something. So if anybody please could have a look at the source code if I made a mistake?

Please report bugs as soon as possible!

robthedude 06-14-10 01:59 PM

Bug Report! :D


Multishot-r44b\Locales\Locale-deDE.lua:2: attempt to index local 'L' (a nil value)

but deDE is German, right? I'm not German, and neither is my client... dunno if that's important :D

dlui 06-14-10 02:21 PM

Thank you. Could it be that you did not restart WoW after updating?

robthedude 06-14-10 03:08 PM

nope, I always log out to install addons... that said, I do have rather a lot, so in all likelyhood, it's not yours that is causing the problem.

Even then, it's not really a problem, it doesn't seem to break anything. I deleted Locale-deDE.lua and removed the reference to it from Locales.xml, which has stopped the bug from showing up :)

dlui 06-14-10 03:42 PM

robthedude: fixed, thank you.

xzbbzx 06-15-10 06:06 AM

Could you add the option to open the character window when taking the screenshot?

I like to take a screenshot of my character at every level, to see how their appearance changes over the levels.

Thx for the addon!

dlui 07-06-10 04:08 PM

Hi xzbbzx. Thanks for the suggestion. I'll think of a way to implement that.

Nitearrow01 07-18-10 07:32 PM

Toggling off UI when taking a auto screen shot
 
would be nice if the addon had a option to toggle off UI when taking a screen shot for clean guild kill screen shots for guild web sites i tend to forget to take screen shot so i love this addon the bad part is you can see all my crap in the screen shots so was wondering if you can add a funtion to toggle off ui when it taks the screen shot

dlui 07-19-10 05:41 PM

dear Nitearrow01,

as far as i know there is no clean way for an addon to hide the ui while in combat.

sorry.

Dridzt 07-19-10 07:21 PM

Quote:

Originally Posted by dlui (Post 198858)
dear Nitearrow01,

as far as i know there is no clean way for an addon to hide the ui while in combat.

sorry.

Try this dlui.
Code:

if MultishotConfig.hideui then
  local oldalpha = UIParent:GetAlpha()
  UIParent:SetAlpha(0)
  Screenshot()
  UIParent:SetAlpha(oldalpha)
else
  Screenshot()
end


dlui 07-20-10 06:41 PM

Wow! Thats cool! I'll try to implement it.

Thanks! You are great.

Dridzt 07-21-10 06:47 AM

Tested changes:

dlui 07-21-10 03:58 PM

Dridzt, you seriously are a real mastermind!

I've uploaded your changes.

Fantastic!

Thanks again! You are great!

:banana:

Dridzt 07-21-10 04:54 PM

Don't be too fast to thank me :p

Running with it there are some "side-effects" :o

The way the setting works now is like a global switch, but some screenshots are not served well from hiding the UI.
For example trade/achievement shots as the achievement/trade frame is also hidden.

I guess it should be made a little "smarter" so it only hides the UI for killshots.

Since you're passing the originating event to the screenshot function a way to make it more intuitive
would probably be to check that it's coming from PLAYER_REGEN_ENABLED and not another event.
eg.
Code:

if MultishotConfig.uihide and (string.find(strDebug, "PLAYER_REGEN_ENABLED") or string.find(strDebug, "UNIT_DIED") or string.find(strDebug, "PARTY_KILL")) then
It's good as proof of concept anyway, since it does simulate Alt+z
without running against protected status or causing taint.

EricT 07-21-10 08:14 PM

Loving the mod. Just a question and a request:

1)Which JPEG quality setting matches the default screenshot one?

2)Would it be possible to add an option to take a screenshot after a certain time delay from boss fight start? I'm just trying to get some nice action shots of my UI and killshots don't really work well for that. Of course remembering to take a screenshot manually during fight is also beyond my capabilities.

dlui 07-22-10 12:02 PM

Dear Dridzt, yes, I thought about that after uploading, too. I will upload the line you proposed. Nice idea, thank you. What only would I do without your help!

And EricT, GetCVar("screenshotQuality") is 3 for me so that should be the default quality?

Yes, infight screenshots would be possible. Idea: taking a screenshot of every 20% boss hp loss? How would you like that?

Jarroll 10-29-10 06:38 PM

Is there any chance you could add a random timer screenshot? Something to take a screenshot every 30 minutes or so?

The addon called AutoScreenShot (http://www.wowinterface.com/download...creenshot.html) use to do it. There is a minor issue with the use of code that isn't used anymore (this.something). Sadly I don't know enough about xml to make the needed changes.

I love Multishot and use it. I also loved the above mod as well but am unable to fix it. It seems like it would be a good fit as an option in Multishot though and could be simple to add given the previous work that has been done already.

Zidomo 10-29-10 08:44 PM

Quote:

Originally Posted by Jarroll (Post 215114)
Is there any chance you could add a random timer screenshot? Something to take a screenshot every 30 minutes or so?

ScrapBook will do what you want. The only reason I linked that: please don't add that feature to MultiShot.

Jarroll 10-29-10 10:21 PM

Quote:

Originally Posted by Zidomo (Post 215140)
ScrapBook will do what you want. The only reason I linked that: please don't add that feature to MultiShot.

Thanks for the link to that. It looks like it will do exactly what I am looking for assuming I can hide the watermaro. I had been searching for mode using the word screenshot and screenshot and kept coming up with nothing relevant.

Out of curiosity, why wouldn't you want this as an option in multoshot?

Kittenykat 12-11-10 08:44 AM

Trade Bug
 
I ran across a nasty bug that's made me disable multishot until we can resolve it. D:

For some reason every time I try to trade with someone, after a moment multishot closes the window and takes a screencap. The same thing happens if I manage to keep it open long enough to press the 'trade' button on the bottom, it immediately closes the trade without swapping anything so it can take a picture. D:

What's going on? T_T

dlui 12-11-10 08:53 AM

Thanks for the report Kittenykat. This has been fixed.

Kittenykat 12-11-10 11:16 AM

oy.. yeah I figured it out, hopefully you did too ¬_¬;;

So yeah, if you go and leave the 'take pictures of trade windows' on like it is by default, when you click 'close ui windows' at the bottom it kinda creates this conflict. xD

I feel silly now. :o

dlui 12-11-10 11:34 AM

Yes, exactly, but don't worry, it's fixed now no matter what options have bin enabled/disabled. Thanks for the report! ;)

dlui 12-25-12 07:00 PM

Big thanks to Dridzt for keeping the addon updated!

:banana:

Jiggles1875 06-03-15 09:46 PM

Add an option to screenshot Battleground / Arena losses as well.


Who's to say losing a AB by 1 point doing 20m damage and 30kb's isn't screenshot worthy? :D

Namdrof 08-31-19 09:59 AM

WoW Classic
 
Anyone figured out how to make this work in WoW Classic yet?


All times are GMT -6. The time now is 03:00 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI