在国内如此的环境下,在运行商如此的服务器下,在WG越封越多的环境下。
究竟有多少人会留下来~CWOW会像MU那样成为WG式的泡菜嘛?
收费后我们就知道了~
PS不知道服务器什么时候开呢,收费计时系统应该早点弄好。然后挂接数据库就可以了。
9C那个慢啊~刚才在论坛看见要10号才开=。=不过一定是谣言~
究竟有多少人会留下来~CWOW会像MU那样成为WG式的泡菜嘛?
收费后我们就知道了~

PS不知道服务器什么时候开呢,收费计时系统应该早点弄好。然后挂接数据库就可以了。
9C那个慢啊~刚才在论坛看见要10号才开=。=不过一定是谣言~
不知道真的假的反正我是没有试验过~有兴趣的可以试一下。
[
2005/06/04 03:38 | by 雨炫 ]

因WOW更新,以下代码可能已经失效。
免除排队等候的插件代码! (只供研究之用)
在魔兽世界的文件夹中创建Interface文件夹! 如果有了以上可以省略!
进入Interface文件夹后,创建GlueXML文件夹!(注意大小写)
打开记事本!复制以下内容~~到记事本中!
然后另存命名为GlueDialog.lua (注意大小写)
在你排队时按下esc 键!
以上程序来源于网络,只是提供学习研究和探讨。并且使用该代码对于是否鉴别为作弊还未知。请勿使用!
免除排队等候的插件代码! (只供研究之用)
在魔兽世界的文件夹中创建Interface文件夹! 如果有了以上可以省略!
进入Interface文件夹后,创建GlueXML文件夹!(注意大小写)
打开记事本!复制以下内容~~到记事本中!
GlueDialogTypes = { };
GlueDialogTypes["SUGGEST_REALM"] = {
text = TEXT(format(SUGGESTED_REALM_TEXT,"UNKNOWN REALM")),
button1 = TEXT(ACCEPT),
button2 = TEXT(VIEW_ALL_REALMS),
OnShow = function()
GlueDialogText:SetText(format(SUGGESTED_REALM_TEXT, RealmWizard.suggestedRealmName));
end,
OnAccept = function()
SetGlueScreen("charselect");
ChangeRealm(RealmWizard.suggestedCategory, RealmWizard.suggestedID);
end,
OnCancel = function()
SetGlueScreen("charselect");
CharacterSelect_ChangeRealm();
end,
}
GlueDialogTypes["DISCONNECTED"] = {
text = TEXT(DISCONNECTED),
button1 = TEXT(OKAY),
button2 = nil,
OnShow = function()
RealmList:Hide();
end,
OnAccept = function()
end,
OnCancel = function()
end,
}
GlueDialogTypes["INVALID_NAME"] = {
text = TEXT(CHAR_CREATE_INVALID_NAME),
button1 = TEXT(OKAY),
button2 = nil,
OnAccept = function()
end,
OnCancel = function()
end,
}
GlueDialogTypes["CANCEL"] = {
text = "",
button1 = TEXT(CANCEL),
button2 = nil,
OnAccept = function()
StatusDialogClick();
end,
OnCancel = function()
end,
}
GlueDialogTypes["OKAY"] = {
text = "",
button1 = TEXT(OKAY),
button2 = nil,
OnAccept = function()
StatusDialogClick();
end,
OnCancel = function()
end,
}
GlueDialogTypes["OKAY_WITH_URL"] = {
text = "",
button1 = TEXT(HELP),
button2 = TEXT(OKAY),
OnAccept = function()
LaunchURL(getglobal(GlueDialog.data));
end,
OnCancel = function()
StatusDialogClick();
end,
}
GlueDialogTypes["CONNECTION_HELP"] = {
text = "",
button1 = TEXT(HELP),
button2 = TEXT(OKAY),
OnAccept = function()
AccountLoginUI:Hide();
ConnectionHelpFrame:Show();
end,
OnCancel = function()
end,
}
function GlueDialog_Show(which, text, data)
-- Pick a free dialog to use
if ( GlueDialog:IsVisible() ) then
if ( GlueDialogTypes[GlueDialog.which].OnHide ) then
GlueDialogTypes[GlueDialog.which].OnHide();
end
end
GlueDialog.data = data;
-- Set the text of the dialog
if ( text ) then
GlueDialogText:SetText(text);
else
GlueDialogText:SetText(GlueDialogTypes[which].text);
end
-- Set the buttons of the dialog
if ( GlueDialogTypes[which].button2 ) then
GlueDialogButton1:ClearAllPoints();
GlueDialogButton1:SetPoint("BOTTOMRIGHT", "GlueDialogBackground", "BOTTOM", -6, 16);
GlueDialogButton2:ClearAllPoints();
GlueDialogButton2:SetPoint("LEFT", "GlueDialogButton1", "RIGHT", 13, 0);
GlueDialogButton2:SetText(GlueDialogTypes[which].button2);
GlueDialogButton2:Show();
else
GlueDialogButton1:ClearAllPoints();
GlueDialogButton1:SetPoint("BOTTOM", "GlueDialogBackground", "BOTTOM", 0, 16);
GlueDialogButton2:Hide();
end
GlueDialogButton1:SetText(GlueDialogTypes[which].button1);
-- Set the miscellaneous variables for the dialog
GlueDialog.which = which;
GlueDialog.data = data;
-- Show or hide the alert icon
if ( GlueDialogTypes[which].showAlert ) then
-- If is the delete item dialog display the error image
GlueDialog:SetWidth(420);
GlueDialogAlertIcon:Show();
else
GlueDialog:SetWidth(320);
GlueDialogAlertIcon:Hide();
end
-- Editbox setup
if ( GlueDialogTypes[which].hasEditBox ) then
GlueDialogEditBox:Show();
if ( GlueDialogTypes[which].maxLetters ) then
GlueDialogEditBox:SetMaxLetters(GlueDialogTypes[which].maxLetters);
end
if ( GlueDialogTypes[which].maxBytes ) then
GlueDialogEditBox:SetMaxBytes(GlueDialogTypes[which].maxBytes);
end
else
GlueDialogEditBox:Hide();
end
-- Finally size and show the dialog
if ( GlueDialogTypes[which].hasEditBox ) then
GlueDialogBackground:SetHeight(16 + GlueDialogText:GetHeight() + 8 + GlueDialogEditBox:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
else
GlueDialogBackground:SetHeight(16 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
end
--GlueDialogBackground:SetHeight(32 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
GlueDialog:Show();
end
function GlueDialog_OnLoad()
this:RegisterEvent("OPEN_STATUS_DIALOG");
this:RegisterEvent("UPDATE_STATUS_DIALOG");
this:RegisterEvent("CLOSE_STATUS_DIALOG");
end
function GlueDialog_OnShow()
local OnShow = GlueDialogTypes[this.which].OnShow;
if ( OnShow ) then
OnShow();
end
end
function GlueDialog_OnEvent()
if ( event == "OPEN_STATUS_DIALOG" ) then
GlueDialog_Show(arg1, arg2, arg3);
elseif ( event == "UPDATE_STATUS_DIALOG" and arg1 and (strlen(arg1) > 0) ) then
GlueDialogText:SetText(arg1);
local buttonText = nil;
if ( arg2 ) then
buttonText = arg2;
elseif ( GlueDialogTypes[GlueDialog.which] ) then
buttonText = GlueDialogTypes[GlueDialog.which].button1;
end
if ( buttonText ) then
GlueDialogButton1:SetText(buttonText);
end
GlueDialogBackground:SetHeight(32 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
elseif ( event == "CLOSE_STATUS_DIALOG" ) then
GlueDialog:Hide();
end
end
function GlueDialog_OnHide()
end
function GlueDialog_OnClick(index)
GlueDialog:Hide();
if ( index == 1 ) then
local OnAccept = GlueDialogTypes[GlueDialog.which].OnAccept;
if ( OnAccept ) then
OnAccept();
end
else
local OnCancel = GlueDialogTypes[GlueDialog.which].OnCancel;
if ( OnCancel ) then
OnCancel();
end
end
end
function GlueDialog_OnKeyDown()
if ( arg1 == "PRINTSCREEN" ) then
Screenshot();
return;
end
local info = GlueDialogTypes[GlueDialog.which];
if ( not info or info.ignoreKeys ) then
return;
end
if ( arg1 == "ESCAPE" ) then
if ( GlueDialogButton2:IsVisible() ) then
GlueDialogButton2:Click();
else
-- GlueDialogButton1:Click();
CharacterCreate_Back();
end
elseif (arg1 == "ENTER" ) then
GlueDialogButton1:Click();
end
end
GlueDialogTypes["SUGGEST_REALM"] = {
text = TEXT(format(SUGGESTED_REALM_TEXT,"UNKNOWN REALM")),
button1 = TEXT(ACCEPT),
button2 = TEXT(VIEW_ALL_REALMS),
OnShow = function()
GlueDialogText:SetText(format(SUGGESTED_REALM_TEXT, RealmWizard.suggestedRealmName));
end,
OnAccept = function()
SetGlueScreen("charselect");
ChangeRealm(RealmWizard.suggestedCategory, RealmWizard.suggestedID);
end,
OnCancel = function()
SetGlueScreen("charselect");
CharacterSelect_ChangeRealm();
end,
}
GlueDialogTypes["DISCONNECTED"] = {
text = TEXT(DISCONNECTED),
button1 = TEXT(OKAY),
button2 = nil,
OnShow = function()
RealmList:Hide();
end,
OnAccept = function()
end,
OnCancel = function()
end,
}
GlueDialogTypes["INVALID_NAME"] = {
text = TEXT(CHAR_CREATE_INVALID_NAME),
button1 = TEXT(OKAY),
button2 = nil,
OnAccept = function()
end,
OnCancel = function()
end,
}
GlueDialogTypes["CANCEL"] = {
text = "",
button1 = TEXT(CANCEL),
button2 = nil,
OnAccept = function()
StatusDialogClick();
end,
OnCancel = function()
end,
}
GlueDialogTypes["OKAY"] = {
text = "",
button1 = TEXT(OKAY),
button2 = nil,
OnAccept = function()
StatusDialogClick();
end,
OnCancel = function()
end,
}
GlueDialogTypes["OKAY_WITH_URL"] = {
text = "",
button1 = TEXT(HELP),
button2 = TEXT(OKAY),
OnAccept = function()
LaunchURL(getglobal(GlueDialog.data));
end,
OnCancel = function()
StatusDialogClick();
end,
}
GlueDialogTypes["CONNECTION_HELP"] = {
text = "",
button1 = TEXT(HELP),
button2 = TEXT(OKAY),
OnAccept = function()
AccountLoginUI:Hide();
ConnectionHelpFrame:Show();
end,
OnCancel = function()
end,
}
function GlueDialog_Show(which, text, data)
-- Pick a free dialog to use
if ( GlueDialog:IsVisible() ) then
if ( GlueDialogTypes[GlueDialog.which].OnHide ) then
GlueDialogTypes[GlueDialog.which].OnHide();
end
end
GlueDialog.data = data;
-- Set the text of the dialog
if ( text ) then
GlueDialogText:SetText(text);
else
GlueDialogText:SetText(GlueDialogTypes[which].text);
end
-- Set the buttons of the dialog
if ( GlueDialogTypes[which].button2 ) then
GlueDialogButton1:ClearAllPoints();
GlueDialogButton1:SetPoint("BOTTOMRIGHT", "GlueDialogBackground", "BOTTOM", -6, 16);
GlueDialogButton2:ClearAllPoints();
GlueDialogButton2:SetPoint("LEFT", "GlueDialogButton1", "RIGHT", 13, 0);
GlueDialogButton2:SetText(GlueDialogTypes[which].button2);
GlueDialogButton2:Show();
else
GlueDialogButton1:ClearAllPoints();
GlueDialogButton1:SetPoint("BOTTOM", "GlueDialogBackground", "BOTTOM", 0, 16);
GlueDialogButton2:Hide();
end
GlueDialogButton1:SetText(GlueDialogTypes[which].button1);
-- Set the miscellaneous variables for the dialog
GlueDialog.which = which;
GlueDialog.data = data;
-- Show or hide the alert icon
if ( GlueDialogTypes[which].showAlert ) then
-- If is the delete item dialog display the error image
GlueDialog:SetWidth(420);
GlueDialogAlertIcon:Show();
else
GlueDialog:SetWidth(320);
GlueDialogAlertIcon:Hide();
end
-- Editbox setup
if ( GlueDialogTypes[which].hasEditBox ) then
GlueDialogEditBox:Show();
if ( GlueDialogTypes[which].maxLetters ) then
GlueDialogEditBox:SetMaxLetters(GlueDialogTypes[which].maxLetters);
end
if ( GlueDialogTypes[which].maxBytes ) then
GlueDialogEditBox:SetMaxBytes(GlueDialogTypes[which].maxBytes);
end
else
GlueDialogEditBox:Hide();
end
-- Finally size and show the dialog
if ( GlueDialogTypes[which].hasEditBox ) then
GlueDialogBackground:SetHeight(16 + GlueDialogText:GetHeight() + 8 + GlueDialogEditBox:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
else
GlueDialogBackground:SetHeight(16 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
end
--GlueDialogBackground:SetHeight(32 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
GlueDialog:Show();
end
function GlueDialog_OnLoad()
this:RegisterEvent("OPEN_STATUS_DIALOG");
this:RegisterEvent("UPDATE_STATUS_DIALOG");
this:RegisterEvent("CLOSE_STATUS_DIALOG");
end
function GlueDialog_OnShow()
local OnShow = GlueDialogTypes[this.which].OnShow;
if ( OnShow ) then
OnShow();
end
end
function GlueDialog_OnEvent()
if ( event == "OPEN_STATUS_DIALOG" ) then
GlueDialog_Show(arg1, arg2, arg3);
elseif ( event == "UPDATE_STATUS_DIALOG" and arg1 and (strlen(arg1) > 0) ) then
GlueDialogText:SetText(arg1);
local buttonText = nil;
if ( arg2 ) then
buttonText = arg2;
elseif ( GlueDialogTypes[GlueDialog.which] ) then
buttonText = GlueDialogTypes[GlueDialog.which].button1;
end
if ( buttonText ) then
GlueDialogButton1:SetText(buttonText);
end
GlueDialogBackground:SetHeight(32 + GlueDialogText:GetHeight() + 8 + GlueDialogButton1:GetHeight() + 16);
elseif ( event == "CLOSE_STATUS_DIALOG" ) then
GlueDialog:Hide();
end
end
function GlueDialog_OnHide()
end
function GlueDialog_OnClick(index)
GlueDialog:Hide();
if ( index == 1 ) then
local OnAccept = GlueDialogTypes[GlueDialog.which].OnAccept;
if ( OnAccept ) then
OnAccept();
end
else
local OnCancel = GlueDialogTypes[GlueDialog.which].OnCancel;
if ( OnCancel ) then
OnCancel();
end
end
end
function GlueDialog_OnKeyDown()
if ( arg1 == "PRINTSCREEN" ) then
Screenshot();
return;
end
local info = GlueDialogTypes[GlueDialog.which];
if ( not info or info.ignoreKeys ) then
return;
end
if ( arg1 == "ESCAPE" ) then
if ( GlueDialogButton2:IsVisible() ) then
GlueDialogButton2:Click();
else
-- GlueDialogButton1:Click();
CharacterCreate_Back();
end
elseif (arg1 == "ENTER" ) then
GlueDialogButton1:Click();
end
end
然后另存命名为GlueDialog.lua (注意大小写)
在你排队时按下esc 键!
以上程序来源于网络,只是提供学习研究和探讨。并且使用该代码对于是否鉴别为作弊还未知。请勿使用!