promotional bannermobile promotional banner
premium banner

Description

Takes a picture when interesting events occur.

Essentially an Ace3 remake of the PhotoOp addon. However, functionality that was previously builtin to the addon is now implemented as user modifiable Lua scripts.

Scripts are segments of Lua code that use a Script Api to determine when to take pictures.

Default scripts include:

  • Death
  • Duels
  • Gaining a level
  • High crits

Options are accessed through /po or /photoop.

See Default Scripts for a list of builtin scripts.

Creating a new script

  1. Open up the options interface (either /po or navigate through the blizzard potions menu)
  2. Select "User Scripts" > "New"
  3. Enter a unique name, a description and the desired events
  4. Hit the create button (This may generate an error in AceGUI atm)
  5. The script sub panel should open with the newly created script selected. Edit the script to taste and hit the apply button. (Not sure where errors go at this point)

Examples

If you think a script should be included by default (or have fixes), please post to Default Scripts.

I will add requested / submitted scripts here until this short list becomes a long list (at which point we can have a separate page for scripts).

Player death

This script takes a picture when the player's character dies. Additionally it keeps track of whether the player is in a battleground and depending on settings will not take a picture in those zones.

-- $EVENTS PLAYER_DEAD ZONE_CHANGED_NEW_AREA
-- $DESCRIPTION Take a picture when dying
-- $SETTING InBattlegrounds = "boolean"
local event = ...
if "PLAYER_DEAD" == event then
  if nil == self.inBattleground then
    self.inBattleground = 0 < GetBattlefieldInstanceRuntime()
  end
  if not self.inBattleground or settings.InBattlegrounds then
    TakeScreenshot()
  end
elseif "ZONE_CHANGED_NEW_AREA" == event then
  self.inBattleground = 0 < GetBattlefieldInstanceRuntime()
end

A similar script is included as a default script (uses IsInInstance and checks for arenas too).

Achievement

This simply registers for the ACHIEVEMENT_EARNED event and takes a screenshot when that happens.

-- $EVENTS ACHIEVEMENT_EARNED
-- $DESCRIPTION Earned an Achievement
TakeScreenshot()

TODO

  • Databroker interface
  • Countdown to taking the screenshot
  • Add missing global functions