LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Я только с огорода, усталь, но всё что выше сократить можно так

function btn:configure(id,posex,posey,sizex,sizey,zzid,message)
    self[id] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate");
    self[id]:SetPoint("CENTER",posex, posey)
    self[id]:SetSize(sizex, sizey)
    self[id]:SetText(message)
    self[id]:Hide();
    self[id]:SetScript("OnClick",function(self, button)
           SendChatMessage(zzzid, "GUILD", nil, 1) end)
end

local btn = {};
-- вместо цикла явная индексация, так как у тебя один фиг ifы
-- видимо я так понял имеет значение порядок создания кнопок
btn:configure(1,0,400,300,30,"#zzs","Взять квест");
btn:configure(2,0,370,300,30,"#zzr","Сдать квест");
btn:configure(3,0,340,300,30,"#zzz","Взять бонусный квест вне лимита");
btn:configure(4,0,310,300,30,"#zzy","Сдать бонусный квест вне лимита");
btn:configure(5,0,280,300,30,"#zzt","Узнать свой гилдлвл");

Индексируй с 1ницы, а то будешь удивляться потом, в lua циклы,ключи числовые начинаются с 1, а не с 0. Можно и с 0 работать конечно, просто нужно держать в голове это. Может где ошибся в коде.

Исправление LINUX-ORG-RU, :

Я только с огорода, усталь, но всё что выше сократить можно так

function btn:configure(id,posex,posey,sizex,sizey,zzid,message)
    self[id] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate");
    self[id]:SetPoint("CENTER",posex, posey)
    self[id]:SetSize(sizex, sizey)
    self[id]:SetText(message)
    self[id]:Hide();
    self[id]:SetScript("OnClick",function(self, button)
           SendChatMessage(zzzid, "GUILD", nil, 1) end)
end

local btn = {};
-- вместо цикла явная индексация, так как у тебя один фиг ifы
-- видимо я так понял имеет значение порядок создания кнопок
btn:configure(1,0,400,300,30,"#zzs","Взять квест");
btn:configure(2,0,370,300,30,"#zzr","Сдать квест");
btn:configure(3,0,340,300,30,"#zzz","Взять бонусный квест вне лимита");
btn:configure(4,0,310,300,30,"#zzy","Сдать бонусный квест вне лимита");
btn:configure(5,0,280,300,30,"#zzt","Узнать свой гилдлвл");

Индексируй с 1ницы, а то будешь удивляться потом, в lua циклы,ключи числовые начинаются с 1, а не с 0. Можно и с 0 работать конечно, просто нужно держать в голове это. Может где ошибся.

Исправление LINUX-ORG-RU, :

Я только с огорода, усталь, но всё что выше сократить можно так

function btn:configure(id,posex,posey,sizex,sizey,zzid,message)
    self[id] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate");
    self[id]:SetPoint("CENTER",posex, posey)
    self[id]:SetSize(sizex, sizey)
    self[id]:SetText(message)
    self[id]:Hide();
    self[id]:SetScript("OnClick",function(self, button)
           SendChatMessage(zzzid, "GUILD", nil, 1) end)
end

local btn = {};
-- вместо цикла явная индексация, так как у тебя один фиг ifы
-- видимо я так понял имеет значение порядок создания кнопок
btn:configure(1,0,400,300,30,"#zzs","Взять квест");
btn:configure(2,0,370,300,30,"#zzr","Сдать квест");
btn:configure(3,0,340,300,30,"#zzz","Взять бонусный квест вне лимита");
btn:configure(4,0,310,300,30,"#zzy","Сдать бонусный квест вне лимита");
btn:configure(5,0,280,300,30,"#zzt","Узнать свой гилдлвл");

Может где ошибся.

Исходная версия LINUX-ORG-RU, :

Я только с огорода, усталь, но всё что выше сократить можно так

function btn:configure(id,posex,posey,sizex,sizey,zzid,message)
    self[id] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate");
    self[id]:SetPoint("CENTER",posex, posey)
    self[id]:SetSize(sizex, sizey)
    self[id]:SetText(message)
    self[id]:Hide();
    self[id]:SetScript("OnClick",function(self, button)
           SendChatMessage(zzzid, "GUILD", nil, 1) end)
end

local btn = {};
-- вместо цикла явная индексация, так как у тебя один фиг ifы
btn:configure(1,0,400,300,30,"#zzs","Взять квест");
btn:configure(2,0,370,300,30,"#zzr","Сдать квест");
btn:configure(3,0,340,300,30,"#zzz","Взять бонусный квест вне лимита");
btn:configure(4,0,310,300,30,"#zzy","Сдать бонусный квест вне лимита");
btn:configure(5,0,280,300,30,"#zzt","Узнать свой гилдлвл");

Может где ошибся.