Go to Page... |
|
Thread Tools | Display Modes |
10-23-14, 12:48 AM | #1 |
Need Help Creating an "Install" Splash for my UI
Hey all, I was looking to make my UI a bit more user friendly and create a separate addon that will simply load a splash screen the first time a character logs in and needs to set up my UI.
Currently I am using a string that incorporates the addon "Reflux" to load all addons in a single profile. I have been trying, with no luck, in creating my own addon. And I am at a total loss atm. The folder so far consists of the following files: CerberuxUI > Core > Settings.lua Media > Install > INSTALL.tga and Logo.tga CerberuxUI.toc Core.lua These are the codes I currently have in each file: Could someone please take a look and see where I might have gone wrong? Settings.lua Code:
local CerberuxUI = LibStub("AceAddon-3.0"):GetAddon("CerberuxUI") local db, dbc, dbg local CerberuxUICharacter_defaults = { initialized = false, needchatmoved = true, } local IWTextures = { Logo = [[Interface\AddOns\CerberuxUI\Media\Install\Logo.tga]], } local IWF = {} ---- Misc functions CerberuxUI.deepCopyHash = function(t) local nt = {} for k, v in pairs(t) do if type(v) == "table" then nt[k] = CerberuxUI.deepCopyHash(v) else nt[k] = v end end return nt end -- Set default Chat frame position (called from Core.lua "PLAYER_ENTERING_WORLD") function CerberuxUI:SetChatPosition() if CerberuxUICharacter.needchatmoved then ChatFrame1:ClearAllPoints() ChatFrame1:SetPoint("BOTTOMLEFT", "UIParent", "BOTTOMLEFT", 6, 32) ChatFrame1:SetFrameLevel(15) ChatFrame1:SetHeight(170) ChatFrame1:SetWidth(380) ChatFrame1:SetUserPlaced(true) FCF_SavePositionAndDimensions(ChatFrame1) CerberuxUICharacter.needchatmoved = false end end -- CVars local function SetDefaultCVars() -- Sound SetCVar("Sound_EnableErrorSpeech", 0) -- Nameplates SetCVar("bloatTest", 0) SetCVar("bloatnameplates", 0) SetCVar("bloatthreat", 0) -- Screenshots SetCVar("screenshotFormat", "jpg") -- JPG format SetCVar("screenshotQuality", "10") -- Highest quality -- Help SetCVar("showGameTips", 0) -- Turn off Loading Screen Tips SetCVar("showTutorials", 0) -- Turn off Tutorials SetCVar("UberTooltips", 1) -- Turn on Enhanced Tooltips SetCVar("scriptErrors", 1) -- Turn on Display Lua Errors -- Controls SetCVar("deselectOnClick", 1) -- Turn off Sticky Targeting (inverted) -- Combat SetCVar("displaySpellActivationOverlays", 1) -- Turn on Spell Alerts -- Display SetCVar("emphasizeMySpellEffects", 0) -- Turn off Emphasize My Spell Effects SetCVar("SpellTooltip_DisplayAvgValues", 0) -- Turn off Display Points As Average -- Social SetCVar("chatStyle", "classic") -- Chat Style = "Classic" SetCVar("conversationMode", "inline") -- Conversation Mode = "In-line" -- Quality of Life SetCVar("guildShowOffline", 0) -- Hide Offline Guild Members SetCVar("profanityFilter", 0) -- Turn off Profanity Filter end -- Initial Settings local function InitialSettings() ---- Chat -- Lock chat frames for i = 1,10 do local cf = _G["ChatFrame"..i] if cf then FCF_SetLocked(cf, 1) end end -- Set all chat channels to color player names by class for k, v in pairs(CHAT_CONFIG_CHAT_LEFT) do ToggleChatColorNamesByClassGroup(true, v.type) end for iCh = 1, 15 do ToggleChatColorNamesByClassGroup(true, "CHANNEL"..iCh) end -- Make Chat windows transparent SetChatWindowAlpha(1, 0) SetChatWindowAlpha(2, 0) -- Initial Settings done CerberuxUICharacter.initialized = true end ---- Primary Installation ---- Stage 1 function CerberuxUI_RunStage1() dbc.installation.stage = -1 if dbg.tags.firsttime then dbg.tags.firsttime = false end -- Make Chat windows transparent (again) SetChatWindowAlpha(1, 0) SetChatWindowAlpha(2, 0) end -- Reflux local RefluxArg = string.format("%s %s", "switch", "Cerberux") SlashCmdList.REFLUX(RefluxArg) -- This will cause a UI reload end local function CreateIWTextureFrame(texture, width, height, position, color) local frame = CreateFrame("Frame", nil, IWF) frame:SetParent(IWF) frame:SetPoint(unpack(position)) frame:SetFrameStrata("DIALOG") frame:SetFrameLevel(IWF:GetFrameLevel() + 1) frame:SetWidth(width) frame:SetHeight(height) frame.bg = frame:CreateTexture() frame.bg:SetAllPoints(frame) frame.bg:SetTexture(texture) frame.bg:SetVertexColor(unpack(color)) return frame end local function CreateInstallWindow() -- Background IWF = CreateFrame("Frame", nil, UIParent) IWF:SetParent(UIParent) IWF:SetAllPoints(UIParent) IWF:SetFrameStrata("DIALOG") IWF:SetFrameLevel(0) IWF:SetBackdrop({ bgFile = "interface\\addons\\CerberuxUI\\Media\\Install\\INSTALL.tga", }) IWF:SetBackdropColor(0, 0, 0, 0.9) -- Button IWF.install = CreateFrame("Button", "CerberuxUI_Install", IWF, "SecureActionButtonTemplate") IWF.install:SetPoint("CENTER", IWF, "CENTER", 40, 40) IWF.install:SetWidth(512) IWF.install:SetHeight(256) IWF.install:SetNormalFontObject(NumberFontNormal) IWF.install:SetText("") IWF.install:RegisterForClicks("LeftButtonUp") IWF.install:SetScript("OnClick", function() CerberuxUI_RunStage1() end) -- Logo IWF.logo = CreateIWTextureFrame(IWTextures.Logo, 256, 64, {"CENTER", IWF, "CENTER", 0, 60}, {1, 1, 1, 1}) end local function InstallationStage1() ---- Create Installation Window CreateInstallWindow() ---- First Time if dbg.tags.firsttime then -- CVars SetDefaultCVars() end ---- Initial Character Settings if not CerberuxUICharacter.initialized then if StaticPopup1 then StaticPopup1:Hide() end InitialSettings() end DEFAULT_CHATFRAME_ALPHA = 0 end ---- Process local function PrimaryInstallation() if dbc.installation.stage > -1 then InstallationStage1() end end ---- Install Procedure function CerberuxUI:InstallProcedure() db = self.db.profile dbc = self.db.char dbg = self.db.global -- Set Char defaults if not(CerberuxUICharacter) then CerberuxUICharacter = CerberuxUICharacter_defaults end -- Primary Stages if dbc.installation.stage > -1 then PrimaryInstallation() end end Code:
## Interface: 60000 ## Title: |cffF58CBAC|cff0070DEL|cff69CCF0A|cffC41F3BS|cff00FF96S|r |cffABD473C|cffFFFFFFO|cffFFF569L|cff9482C9O|cffC79C6ER|cffFF7D0AS|r |cff00FF00by|r |cff00FF00Cerberux|r ## Author: Cerberux ## Notes: CerberuxUI core functionality ## SavedVariables: CerberuxUIDB ## SavedVariablesPerCharacter: CerberuxUICharacter ## OptionalDeps: Ace3, LibSharedMedia-3.0, AceGUI-3.0-SharedMediaWidgets ## RequiredDeps: Reflux # Ace3 Libs\Embeds.xml Core.lua Core.xml Code:
local CerberuxUI = LibStub("AceAddon-3.0"):NewAddon("CerberuxUI", "AceConsole-3.0", "AceEvent-3.0") local db, dbg -- Default Options local defaults = { global = { tags = { firsttime = false, }, }, char = { installation = { stage = 0, }, }, } function CerberuxUI:UPDATE_PENDING_MAIL() self:UnregisterEvent("UPDATE_PENDING_MAIL") CancelEmote() -- Cancel Map Holding animation end function CerberuxUI:PLAYER_LOGIN() -- Check if Installation/Patch is necessary self:InstallProcedure() end function CerberuxUI:ADDON_LOADED(event, addon) if addon ~= "CerberuxUI" then return end -- Open before login to stop taint ToggleFrame(SpellBookFrame) PetJournal_LoadUI() -- Remove Interface Options cancel button because it = taint InterfaceOptionsFrameCancel:Hide() InterfaceOptionsFrameOkay:SetAllPoints(InterfaceOptionsFrameCancel) -- Make clicking cancel the same as clicking okay InterfaceOptionsFrameCancel:SetScript("OnClick", function() InterfaceOptionsFrameOkay:Click() end) end function CerberuxUI:OnInitialize() -- Initialize settings, options, slash commands self.db = LibStub("AceDB-3.0"):New("CerberuxUIDB", defaults, "CerberuxUI") dbc = self.db.char dbg = self.db.global -- Vars self.realm = GetRealmName() self.class = select(2, UnitClass("player")) self.name = UnitName("player") self.key = string.format("%s - %s", self.name, self.realm) -- Register events self:RegisterEvent("ADDON_LOADED") self:RegisterEvent("PLAYER_LOGIN") self:RegisterEvent("UPDATE_PENDING_MAIL") -- Chat Commands self:RegisterChatCommand("rl", function() ReloadUI() end) -- Synch user's settings if dbg.tags.firsttime then SetCVar("synchronizeSettings", 1) SetCVar("synchronizeConfig", 1) SetCVar("synchronizeBindings", 1) SetCVar("synchronizeMacros", 1) end -- Done print("CerberuxUI loaded.") end Last edited by Cerberux19 : 10-23-14 at 02:32 AM. |
|
WoWInterface » Developer Discussions » General Authoring Discussion » Need Help Creating an "Install" Splash for my UI |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Switch to Linear Mode |
Switch to Hybrid Mode |
Threaded Mode |
|
|