WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Lua/XML Help (https://www.wowinterface.com/forums/forumdisplay.php?f=16)
-   -   How to make a Printscreen on level Up (https://www.wowinterface.com/forums/showthread.php?t=57058)

Catastophe 03-14-19 12:19 PM

How to make a Printscreen on level Up
 
Hi,

I want to keep a diary of my WoW run and thought it would be funny to have a printscreen everytime I level up.

I try to make an (very simple) addon for this but the Screenshot is giving me some headache.

Can anyone tell me what I have done wrong or point me in the right direction?

When I use
Code:

local Congrats_EventFrame = CreateFrame("Frame")
Congrats_EventFrame:RegisterEvent("PLAYER_LEVEL_UP")
Congrats_EventFrame:SetScript("OnEvent",
    function(self, event, ...)
            local arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 = ...
                print(Congratulations on reaching level ' ..arg1.. ', ' .. UnitName("Player").. '! You gained ' ..arg2.. ' HP and ' ..arg3.. ' MP!')
        end)

It works.

So I thought about adding the printscreen function like this:
Code:

local Congrats_EventFrame = CreateFrame("Frame")
Congrats_EventFrame:RegisterEvent("PLAYER_LEVEL_UP")
Congrats_EventFrame:SetScript("OnEvent",
    function(self, event, ...)
            local arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 = ...
                print(Congratulations on reaching level ' ..arg1.. ', ' .. UnitName("Player").. '! You gained ' ..arg2.. ' HP and ' ..arg3.. ' MP!')
        end)

Congrats_EventFrame:SetScript("OnEvent",
    function(self, event, ...)
            local Screenshot
        end)

But that doesn't work.

So if someone could point me in the right direction that would be great :)

Kanegasi 03-14-19 12:52 PM

This...

Lua Code:
  1. local Screenshot

...does nothing. It declares a local variable named "Screenshot" within that function, that's it.

You also can only do one SetScript of each kind for each frame object. The second time you declare the "OnEvent" will replace the first one. You're also missing a quote right before Congratulations, I'm surprised you didn't get an error for that.

This will do what you want:

Lua Code:
  1. local Congrats_EventFrame = CreateFrame("Frame")
  2. Congrats_EventFrame:RegisterEvent("PLAYER_LEVEL_UP")
  3. Congrats_EventFrame:SetScript("OnEvent", function(self, event, arg1, arg2, arg3)
  4.     if event=="PLAYER_LEVEL_UP" then
  5.         print("Congratulations on reaching level "..arg1..", "..UnitName("Player").."! You gained "..arg2.." HP and "..arg3.." MP!")
  6.         Screenshot()
  7.     end
  8. end)


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

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