Since blizzard has now disabled Terms of use and many other things linking to there old domain Worldofwarcraft .comI would like to add one of my own..I have changed gluestrings but nothing pops up.
FADE_IN_TIME = 2;DEFAULT_TOOLTIP_COLOR = {0.8, 0.8, 0.8, 0.09, 0.09, 0.09};MAX_PIN_LENGTH = 10;SERVER_RULES = "If you disobey any of the following rules, your account may be either suspended or banned depending on the severity of the offense.nnt1.) Don't be a dick.nt2.) Common SensennnnCredits:ntZikmo - Decorated a number of buildings and exterior locations to a high degree of detail before goonydawg joined.ntgoonydawg - Took charge of decorating the vast majority of buildings in Western Lordaeron after Zikmo left and before Sheep/MountainLion joined.ntJoakim - Helped further the lore and hammer out a great many details and ideas for future zones before going inactive.ntCellie - Kept the development chat alive with conversation a number of times before going inactive.ntStian Skuland - Worked heavily on an online mapping system for the server and improved the registration page.nttemptation_town - Gave a number of great ideas for future features on the server.";function AccountLogin_OnLoad(self) TOSFrame.noticeType = "EULA"; self:RegisterEvent("SHOW_SERVER_ALERT"); self:RegisterEvent("SHOW_SURVEY_NOTIFICATION"); self:RegisterEvent("CLIENT_ACCOUNT_MISMATCH"); self:RegisterEvent("CLIENT_TRIAL"); self:RegisterEvent("SCANDLL_ERROR"); self:RegisterEvent("SCANDLL_FINISHED"); local versionType, buildType, version, internalVersion, date = GetBuildInfo(); AccountLoginVersion:SetFormattedText(VERSION_TEMPLATE, versionType, version, internalVersion, buildType, date); -- Color edit box backdrops local backdropColor = DEFAULT_TOOLTIP_COLOR; AccountLoginAccountEdit:SetBackdropBorderColor(backdropColor[1], backdropColor[2], backdropColor[3]); AccountLoginAccountEdit:SetBackdropColor(backdropColor[4], backdropColor[5], backdropColor[6]); AccountLoginPasswordEdit:SetBackdropBorderColor(backdropColor[1], backdropColor[2], backdropColor[3]); AccountLoginPasswordEdit:SetBackdropColor(backdropColor[4], backdropColor[5], backdropColor[6]); TokenEnterDialogBackgroundEdit:SetBackdropBorderColor(backdropColor[1], backdropColor[2], backdropColor[3]); TokenEnterDialogBackgroundEdit:SetBackdropColor(backdropColor[4], backdropColor[5], backdropColor[6]); self:SetCamera(0); self:SetSequence(0); if (IsStreamingTrial()) then AccountLoginCinematicsButton:Disable(); AccountLogin:SetModel("Interface\Glues\Models\UI_MainMenu\UI_MainMenu.mdx"); else AccountLogin:SetModel("Interface\Glues\Models\UI_MainMenu_Northrend\UI_MainMenu_Northrend.mdx"); endendfunction AccountLogin_OnShow(self) self:SetSequence(0); PlayGlueMusic(CurrentGlueMusic); PlayGlueAmbience(GlueAmbienceTracks["DARKPORTAL"], 4.0); -- Try to show the EULA or the TOS AccountLogin_ShowUserAgreements(); local serverName = GetServerName(); if(serverName) then AccountLoginRealmName:SetText(serverName); else AccountLoginRealmName:Hide() end local accountName = GetSavedAccountName(); AccountLoginAccountEdit:SetText(accountName); AccountLoginPasswordEdit:SetText(""); AccountLogin_SetupAccountListDDL(); if ( accountName == "" ) then AccountLogin_FocusAccountName(); else AccountLogin_FocusPassword(); end ACCOUNT_MSG_NUM_AVAILABLE = 0; ACCOUNT_MSG_PRIORITY = 0; ACCOUNT_MSG_HEADERS_LOADED = false; ACCOUNT_MSG_BODY_LOADED = false; ACCOUNT_MSG_CURRENT_INDEX = nil;endfunction AccountLogin_OnHide(self) --Stop the sounds from the login screen (like the dragon roaring etc) StopAllSFX( 1.0 ); if ( not AccountLoginSaveAccountName:GetChecked() ) then SetSavedAccountList(""); endendfunction AccountLogin_FocusPassword() AccountLoginPasswordEdit:SetFocus();endfunction AccountLogin_FocusAccountName() AccountLoginAccountEdit:SetFocus();endfunction AccountLogin_OnKeyDown(key) if ( key == "ESCAPE" ) then if ( ConnectionHelpFrame:IsShown() ) then ConnectionHelpFrame:Hide(); AccountLoginUI:Show(); elseif ( SurveyNotificationFrame:IsShown() ) then -- do nothing else AccountLogin_Exit(); end elseif ( key == "ENTER" ) then if ( not TOSAccepted() ) then return; elseif ( TOSFrame:IsShown() or ConnectionHelpFrame:IsShown() ) then return; elseif ( SurveyNotificationFrame:IsShown() ) then AccountLogin_SurveyNotificationDone(1); end AccountLogin_Login(); elseif ( key == "PRINTSCREEN" ) then Screenshot(); endendfunction AccountLogin_OnEvent(event, arg1, arg2, arg3) if ( event == "SHOW_SERVER_ALERT" ) then ServerAlertText:SetText(arg1); ServerAlertFrame:Show(); elseif ( event == "SHOW_SURVEY_NOTIFICATION" ) then AccountLogin_ShowSurveyNotification(); elseif ( event == "CLIENT_ACCOUNT_MISMATCH" ) then local accountExpansionLevel = arg1; local installationExpansionLevel = arg2; if ( accountExpansionLevel == 1 ) then GlueDialog_Show("CLIENT_ACCOUNT_MISMATCH", CLIENT_ACCOUNT_MISMATCH_BC); else GlueDialog_Show("CLIENT_ACCOUNT_MISMATCH", CLIENT_ACCOUNT_MISMATCH_LK); end elseif ( event == "CLIENT_TRIAL" ) then GlueDialog_Show("CLIENT_TRIAL"); elseif ( event == "SCANDLL_ERROR" ) then GlueDialog:Hide(); ScanDLLContinueAnyway(); AccountLoginUI:Show(); elseif ( event == "SCANDLL_FINISHED" ) then if ( arg1 == "OK" ) then GlueDialog:Hide(); AccountLoginUI:Show(); else AccountLogin.hackURL = _G["SCANDLL_URL_"..arg1]; AccountLogin.hackName = arg2; AccountLogin.hackType = arg1; local formatString = _G["SCANDLL_MESSAGE_"..arg1]; if ( arg3 == 1 ) then formatString = _G["SCANDLL_MESSAGE_HACKNOCONTINUE"]; end local msg = format(formatString, AccountLogin.hackName, AccountLogin.hackURL); if ( arg3 == 1 ) then GlueDialog_Show("SCANDLL_HACKFOUND_NOCONTINUE", msg); else GlueDialog_Show("SCANDLL_HACKFOUND", msg); end PlaySoundFile("Sound\Creature\MobileAlertBot\MobileAlertBotIntruderAlert01.wav"); end endendfunction AccountLogin_Login() PlaySound("gsLogin"); DefaultServerLogin(AccountLoginAccountEdit:GetText(), AccountLoginPasswordEdit:GetText()); AccountLoginPasswordEdit:SetText(""); if ( AccountLoginSaveAccountName:GetChecked() ) then SetSavedAccountName(AccountLoginAccountEdit:GetText()); else SetSavedAccountName(""); endendfunction AccountLogin_TOS() if ( not GlueDialog:IsShown() ) then PlaySound("gsLoginNewAccount"); AccountLoginUI:Hide(); TOSFrame:Show(); TOSScrollFrame:Show(); TOSScrollFrameScrollBar:SetValue(0); TOSFrameTitle:SetText(TOS_FRAME_TITLE); TOSText:SetText(SERVER_RULES); TOSText:Show(); endendfunction AccountLogin_ManageAccount() PlaySound("gsLoginNewAccount"); LaunchURL(AUTH_NO_TIME_URL);endfunction AccountLogin_LaunchCommunitySite() PlaySound("gsLoginNewAccount"); LaunchURL(COMMUNITY_URL);endfunction AccountLogin_Credits() CreditsFrame.creditsType = 3; PlaySound("gsTitleCredits"); SetGlueScreen("credits");endfunction AccountLogin_Cinematics() if ( not GlueDialog:IsShown() ) then PlaySound("gsLoginNewAccount"); if ( GetClientExpansionLevel() == 3 ) then GlueDialog_Show("CINEMATICS_3"); elseif ( GetClientExpansionLevel() == 2 ) then GlueDialog_Show("CINEMATICS_2"); else MovieFrame.version = 1; SetGlueScreen("movie"); end endendfunction AccountLogin_Options() PlaySound("gsTitleOptions");endfunction AccountLogin_Exit()-- PlaySound("gsTitleQuit"); QuitGame();endfunction AccountLogin_ShowSurveyNotification() GlueDialog:Hide(); AccountLoginUI:Hide(); SurveyNotificationAccept:Enable(); SurveyNotificationDecline:Enable(); SurveyNotificationFrame:Show();endfunction AccountLogin_SurveyNotificationDone(accepted) SurveyNotificationFrame:Hide(); SurveyNotificationAccept:Disable(); SurveyNotificationDecline:Disable(); SurveyNotificationDone(accepted); AccountLoginUI:Show();endfunction AccountLogin_ShowUserAgreements() TOSScrollFrame:Hide(); EULAScrollFrame:Hide(); TerminationScrollFrame:Hide(); ScanningScrollFrame:Hide(); ContestScrollFrame:Hide(); TOSText:Hide(); EULAText:Hide(); TerminationText:Hide(); ScanningText:Hide(); if ( not EULAAccepted() ) then if ( ShowEULANotice() ) then TOSNotice:SetText(EULA_NOTICE); TOSNotice:Show(); end AccountLoginUI:Hide(); TOSFrame.noticeType = "EULA"; TOSFrameTitle:SetText(EULA_FRAME_TITLE); TOSFrameHeader:SetWidth(TOSFrameTitle:GetWidth()); EULAScrollFrame:Show(); EULAText:Show(); TOSFrame:Show(); elseif ( not TOSAccepted() ) then if ( ShowTOSNotice() ) then TOSNotice:SetText(TOS_NOTICE); TOSNotice:Show(); end AccountLoginUI:Hide(); TOSFrame.noticeType = "TOS"; TOSFrameTitle:SetText(TOS_FRAME_TITLE); TOSFrameHeader:SetWidth(TOSFrameTitle:GetWidth()); TOSScrollFrame:Show(); TOSText:SetText(SERVER_RULES); TOSText:Show(); TOSFrame:Show(); elseif ( not TerminationWithoutNoticeAccepted() and SHOW_TERMINATION_WITHOUT_NOTICE_AGREEMENT ) then if ( ShowTerminationWithoutNoticeNotice() ) then TOSNotice:SetText(TERMINATION_WITHOUT_NOTICE_NOTICE); TOSNotice:Show(); end AccountLoginUI:Hide(); TOSFrame.noticeType = "TERMINATION"; TOSFrameTitle:SetText(TERMINATION_WITHOUT_NOTICE_FRAME_TITLE); TOSFrameHeader:SetWidth(TOSFrameTitle:GetWidth()); TerminationScrollFrame:Show(); TerminationText:Show(); TOSFrame:Show(); elseif ( not ScanningAccepted() and SHOW_SCANNING_AGREEMENT ) then if ( ShowScanningNotice() ) then TOSNotice:SetText(SCANNING_NOTICE); TOSNotice:Show(); end AccountLoginUI:Hide(); TOSFrame.noticeType = "SCAN"; TOSFrameTitle:SetText(SCAN_FRAME_TITLE); TOSFrameHeader:SetWidth(TOSFrameTitle:GetWidth()); ScanningScrollFrame:Show(); ScanningText:Show(); TOSFrame:Show(); elseif ( not ContestAccepted() and SHOW_CONTEST_AGREEMENT ) then if ( ShowContestNotice() ) then TOSNotice:SetText(CONTEST_NOTICE); TOSNotice:Show(); end AccountLoginUI:Hide(); TOSFrame.noticeType = "CONTEST"; TOSFrameTitle:SetText(CONTEST_FRAME_TITLE); TOSFrameHeader:SetWidth(TOSFrameTitle:GetWidth()); ContestScrollFrame:Show(); ContestText:Show(); TOSFrame:Show(); elseif ( not IsScanDLLFinished() ) then AccountLoginUI:Hide(); TOSFrame:Hide(); local dllURL = ""; if ( IsWindowsClient() ) then dllURL = SCANDLL_URL_WIN32_SCAN_DLL; end ScanDLLStart(SCANDLL_URL_LAUNCHER_TXT, dllURL); else AccountLoginUI:Show(); TOSFrame:Hide(); endendfunction AccountLogin_UpdateAcceptButton(scrollFrame, isAcceptedFunc, noticeType) local scrollbar = _G[scrollFrame:GetName().."ScrollBar"]; local min, max = scrollbar:GetMinMaxValues(); -- HACK: scrollbars do not handle max properly -- DO NOT CHANGE - without speaking to Mikros/Barris/Thompson if (scrollbar:GetValue() >= max - 20) then TOSAccept:Enable(); else if ( not isAcceptedFunc() and TOSFrame.noticeType == noticeType ) then TOSAccept:Disable(); end endend function ChangedOptionsDialog_OnShow(self) if ( not ShowChangedOptionWarnings() ) then self:Hide(); return; end local options = ChangedOptionsDialog_BuildWarningsString(GetChangedOptionWarnings()); if ( options == "" ) then self:Hide(); return; end -- set text ChangedOptionsDialogText:SetText(options); -- resize the background to fit the text local textHeight = ChangedOptionsDialogText:GetHeight(); local titleHeight = ChangedOptionsDialogTitle:GetHeight(); local buttonHeight = ChangedOptionsDialogOkayButton:GetHeight(); ChangedOptionsDialogBackground:SetHeight(26 + titleHeight + 16 + textHeight + 8 + buttonHeight + 16); self:Raise();endfunction ChangedOptionsDialog_OnKeyDown(self,key) if ( key == "PRINTSCREEN" ) then Screenshot(); return; end if ( key == "ESCAPE" or key == "ENTER" ) then ChangedOptionsDialogOkayButton:Click(); endendfunction ChangedOptionsDialog_BuildWarningsString(...) local options = ""; for i=1, select("#", ...) do if ( i == 1 ) then options = select(1, ...); else options = options.."nn"..select(i, ...); end end return options;end-- Virtual keypad functionsfunction VirtualKeypadFrame_OnEvent(event, ...) if ( event == "PLAYER_ENTER_PIN" ) then for i=1, 10 do _G["VirtualKeypadButton"..i]:SetText(select(i,...)); end end -- Randomize location to prevent hacking (yeah right) local xPadding = 5; local yPadding = 10; local xPos = random(xPadding, GlueParent:GetWidth()-VirtualKeypadFrame:GetWidth()-xPadding); local yPos = random(yPadding, GlueParent:GetHeight()-VirtualKeypadFrame:GetHeight()-yPadding); VirtualKeypadFrame:SetPoint("TOPLEFT", GlueParent, "TOPLEFT", xPos, -yPos); VirtualKeypadFrame:Show(); VirtualKeypad_UpdateButtons();endfunction VirtualKeypadButton_OnClick(self) local text = VirtualKeypadText:GetText(); if ( not text ) then text = ""; end VirtualKeypadText:SetText(text.."*"); VirtualKeypadFrame.PIN = VirtualKeypadFrame.PIN..self:GetID(); VirtualKeypad_UpdateButtons();endfunction VirtualKeypadOkayButton_OnClick() local PIN = VirtualKeypadFrame.PIN; local numNumbers = strlen(PIN); local pinNumber = {}; for i=1, MAX_PIN_LENGTH do if ( i <= numNumbers ) then pinNumber[i] = strsub(PIN,i,i); else pinNumber[i] = nil; end end PINEntered(pinNumber[1] , pinNumber[2], pinNumber[3], pinNumber[4], pinNumber[5], pinNumber[6], pinNumber[7], pinNumber[8], pinNumber[9], pinNumber[10]); VirtualKeypadFrame:Hide();endfunction VirtualKeypad_UpdateButtons() local numNumbers = strlen(VirtualKeypadFrame.PIN); if ( numNumbers >= 4 and numNumbers <= MAX_PIN_LENGTH ) then VirtualKeypadOkayButton:Enable(); else VirtualKeypadOkayButton:Disable(); end if ( numNumbers == 0 ) then VirtualKeypadBackButton:Disable(); else VirtualKeypadBackButton:Enable(); end if ( numNumbers >= MAX_PIN_LENGTH ) then for i=1, MAX_PIN_LENGTH do _G["VirtualKeypadButton"..i]:Disable(); end else for i=1, MAX_PIN_LENGTH do _G["VirtualKeypadButton"..i]:Enable(); end endendTOKEN_SEED = "idobdfillpkiimdgkclhnlibgnepalcbpccdkhloipdoeebccnoeedefgmljndai".. "epicgamehpoifjbggbcihfanenmhkemffilglaebddmbakkhblpencadlaiepoga".. "ecpjojaijcefflabhilmmpgjiecbhamoceponkbjiogaodhnagencenlaeljhbna".. "ciglpffdnfgaaidccjjgbgiihhnbbjcbanhfdjadljkhmfknfnmpjblnelbfnnjf".. "dpakjehajomgjahhljnmnhnpadfkbopppiicnkkkhblkbibgajfmemhhimpjgcoe".. "mbkpilkleedkmpnckkcdbhnoanhpjeneinehgknalgglcbdcjdcppbjhgkahamgk".. "gijkofghdhopbkjjghmndfdpiadcdigefikbgccfhgkkbmkollbhlkbdobhaofbh".. "adbiepfnpiibfkcpflpkjpfmmhbopkcbcblaadaoodnoodgfhjpedmpballngmoo".. "bbmkgghdgmhdngbfpmikijmdjgddkeahhidkofihemfmolbcojpiapfkogbdenfc".. "cmahmfhlclfkeijbndcllbnffbjbbkfgdboiffhpkfgjckliookjlonenifdbenn".. "epeicoloceldnilhlkameoeceiobfnpeccaihhgjdgagjhmeljacpfljlhgnlhkj".. "dbihegomcbifklmmhmbaodnaehnbkikcjkloebkhmkhejakcdklndeiinidlgdhc".. "ddfbafimcpddekndmbcfemcpfihngpkoccjniboomialmgejaalnfogjofbfgbdk".. "poibhankhndpgeldkkdjgbknnahfdbcjhkmaciajeadkfmjcgaipjcilhhlagjcp".. "lnbeodabfpofdabnhckmnbjnofopfhglgiociaehalfcclkmjmobmjdbillmompm".. "jfgppnfgfancjglolkhoejogfjljnknoeiniiiimcifhlpiefmkkmhonbnppdndl".. "hmgpgcniinbaanciifdggklbgoanaihndbjpnannabbmfjkdjfkhimpccelcpjed".. "kgmpmpfnbmleiejkgbbknnnhambkmomlbjbhpkegehdfacdnbdfcmfagadbcaemg".. "ddhpjoacekfnakamgafmkodcplnhbhblcllikeglfnedlmkcoiegldlhikoncmca".. "bloiejelafbjjgmhapobofongodoojelpnkgfjdgpfckjglfbgaipbdpmbpjlcje".. "jcpgagffnmappkacgacmokedaicjklinmemijkojchoojjandkcdmjigjeldpepl".. "ihpenljefeechdndbdjkcipajcajghnhjackcjnoofebnmhimajekangghkfgcjm".. "hndedmcpmdilipgljglplhppcogaidkfaeibkedaihckjodddfblfonfnnljgcbi".. "hmnojjolaljebgiegnmjcficnkjchoakajkdhnchbljhonghjffebdobdcahpdjp".. "bmhpmnamkgpfjfbfgghjnabakoilmlbkhjoiegldbcdlijakkmehoemokdeafgjl".. "khmdjmbkdckdlidapcigbomjikehjddpblijhdgooegdfeinhaiponemlnffcnif".. "bkbnihminfmkfhbdneaaegofpacckahbgnmobgehalklcfkncogkanff";-- TOKEN SYSTEMfunction TokenEntryOkayButton_OnLoad(self) self:RegisterEvent("PLAYER_ENTER_TOKEN");endfunction TokenEntryOkayButton_OnEvent(self, event) if (event == "PLAYER_ENTER_TOKEN") then self:Show(); endendfunction TokenEntryOkayButton_OnShow() TokenEnterDialogBackgroundEdit:SetText(""); TokenEnterDialogBackgroundEdit:SetFocus();endfunction TokenEntryOkayButton_OnKeyDown(self, key) if ( key == "ENTER" ) then TokenEntry_Okay(self); elseif ( key == "ESCAPE" ) then TokenEntry_Cancel(self); endendfunction TokenEntry_Okay(self) TokenEntered(TokenEnterDialogBackgroundEdit:GetText()); TokenEnterDialog:Hide();endfunction TokenEntry_Cancel(self) TokenEnterDialog:Hide(); CancelLogin();end-- WOW Account selectionfunction WoWAccountSelect_OnLoad(self) self:RegisterEvent("GAME_ACCOUNTS_UPDATED"); self:RegisterEvent("OPEN_STATUS_DIALOG"); WoWAccountSelectDialogBackgroundContainerScrollFrame.offset = 0 CURRENT_SELECTED_WOW_ACCOUNT = 1;endfunction WoWAccountSelect_OnShow (self) AccountLoginAccountEdit:SetFocus(); AccountLoginAccountEdit:ClearFocus(); CURRENT_SELECTED_WOW_ACCOUNT = 1; WoWAccountSelect_Update();endfunction WoWAccountSelectButton_OnClick(self) CURRENT_SELECTED_WOW_ACCOUNT = self:GetID(); WoWAccountSelect_Update();endfunction WoWAccountSelectButton_OnDoubleClick(self) WoWAccountSelect_SelectAccount(self:GetID());endfunction WoWAccountSelect_OnEvent(self, event) if ( event == "GAME_ACCOUNTS_UPDATED" ) then local str, selectedIndex, selectedName = "" for i = 1, GetNumGameAccounts() do local name = GetGameAccountInfo(i); if ( name == GlueDropDownMenu_GetText(AccountLoginDropDown) ) then selectedName = name; selectedIndex = i; end str = str .. name .. "|"; end if ( str == strreplace(GetSavedAccountList(), "!", "") and selectedIndex ) then WoWAccountSelect_SelectAccount(selectedIndex); return; else self:Show(); end else self:Hide(); endendfunction WoWAccountSelect_SelectAccount(index) if ( AccountLoginSaveAccountName:GetChecked() ) then WowAccountSelect_UpdateSavedAccountNames(index); else SetSavedAccountList(""); end WoWAccountSelectDialog:Hide(); SetGameAccount(index);endfunction WowAccountSelect_UpdateSavedAccountNames(selectedIndex) local count = GetNumGameAccounts(); local str = "" for i = 1, count do local name = GetGameAccountInfo(i); if ( i == selectedIndex ) then str = str .. "!" .. name .. "|"; else str = str .. name .. "|"; end end SetSavedAccountList(str);endACCOUNTNAME_BUTTON_HEIGHT = 20;function WoWAccountSelect_OnVerticalScroll (self, offset) local scrollbar = _G[self:GetName().."ScrollBar"]; scrollbar:SetValue(offset); WoWAccountSelectDialogBackgroundContainerScrollFrame.offset = floor((offset / ACCOUNTNAME_BUTTON_HEIGHT) + 0.5); WoWAccountSelect_Update();endMAX_ACCOUNTS_DISPLAYED = 8;function WoWAccountSelect_Update() local count = GetNumGameAccounts(); local offset = WoWAccountSelectDialogBackgroundContainerScrollFrame.offset; for index=1, MAX_ACCOUNTS_DISPLAYED do local button = _G["WoWAccountSelectDialogBackgroundContainerButton" .. index]; local name, regionID = GetGameAccountInfo(index + offset); button:SetButtonState("NORMAL"); button.BG_Highlight:Hide(); if ( name ) then button:SetID(index + offset); button:SetText(name); button.regionID = regionID; button:Show(); if ( index == CURRENT_SELECTED_WOW_ACCOUNT) then button.BG_Highlight:Show(); end else button:Hide(); end end GlueScrollFrame_Update(WoWAccountSelectDialogBackgroundContainerScrollFrame, count, MAX_ACCOUNTS_DISPLAYED, ACCOUNTNAME_BUTTON_HEIGHT);endfunction WoWAccountSelect_AccountButton_OnClick(self, button) CURRENT_SELECTED_WOW_ACCOUNT = self:GetID(); WoWAccountSelect_Accept();endfunction WoWAccountSelect_OnKeyDown(self, key) if ( key == "ESCAPE" ) then WoWAccountSelect_OnCancel(self); elseif ( key == "UP" ) then CURRENT_SELECTED_WOW_ACCOUNT = max(1, CURRENT_SELECTED_WOW_ACCOUNT - 1); WoWAccountSelect_Update() elseif ( key == "DOWN" ) then CURRENT_SELECTED_WOW_ACCOUNT = min(GetNumGameAccounts(), CURRENT_SELECTED_WOW_ACCOUNT + 1); WoWAccountSelect_Update() elseif ( key == "ENTER" ) then WoWAccountSelect_SelectAccount(CURRENT_SELECTED_WOW_ACCOUNT); elseif ( key == "PRINTSCREEN" ) then Screenshot(); endendfunction WoWAccountSelect_OnCancel (self) self:Hide(); GlueDialog:Hide(); CancelLogin();endfunction WoWAccountSelect_Accept() WoWAccountSelect_SelectAccount(CURRENT_SELECTED_WOW_ACCOUNT);endfunction AccountLoginDropDown_OnClick(self) GlueDropDownMenu_SetSelectedValue(AccountLoginDropDown, self.value);endfunction AccountLoginDropDown_Initialize() local selectedValue = GlueDropDownMenu_GetSelectedValue(AccountLoginDropDown); local info; for i = 1, #AccountList do AccountList[i].checked = (AccountList[i].text == selectedValue); GlueDropDownMenu_AddButton(AccountList[i]); endendAccountList = {};function AccountLogin_SetupAccountListDDL() if ( GetSavedAccountName() ~= "" and GetSavedAccountList() ~= "" ) then AccountLoginPasswordEdit:SetPoint("BOTTOM", 0, 255); AccountLoginDropDown:Show(); else AccountLoginPasswordEdit:SetPoint("BOTTOM", 0, 275); AccountLoginDropDown:Hide(); return; end AccountList = {}; local i = 1; for str in string.gmatch(GetSavedAccountList(), "([%w!]+)|?") do local selected = false; if ( strsub(str, 1, 1) == "!" ) then selected = true; str = strsub(str, 2, #str); GlueDropDownMenu_SetSelectedName(AccountLoginDropDown, str); GlueDropDownMenu_SetText(str, AccountLoginDropDown); end AccountList[i] = { ["text"] = str, ["value"] = str, ["selected"] = selected, func = AccountLoginDropDown_OnClick }; i = i + 1; endend