Цитата Сообщение от DreamlØlz Посмотреть сообщение
а к примеру табы и тд? Ну спс сейчас чекну.
ЗЫ с еткконф сталкивался раньше =)

ЗЫЫ тут даже не в асе дело , думаю эта проблема будет со всеми либсами , что бы "двигаешь ползунок и размер меняется" это должно выглядеть примерно так -функция обновляющая размер- функция ползунка- в функцию ползунка добовляешь функцию обновления при onDragStart" ... есть ли в ouf функции которые обновляют фреймы?

oUF:RegisterStyle('DreamUI', CreateUnitLayout) вот так у меня выглядит функция ... т.е при движении ползунка должна выполняться она , что бы менялся размер при движении ползунка.Но есть несколько но , во первых если ее выполнять она будет спамить кучу мусора и в итоге игра повиснет , во вторых Haste это дело скорее всего придвидел и наверное будет некое условие if DreamUI then end или чоа типа такова или вообще будет выдавать ошибку. Нужна функция для обновления фреймов (в этом и проблема , с ouf я не сталкивался...) , а сделать конфиг это дело 10 минут .


Кароче нужна функция которая будет обновлять все oUF.Objects

Вот на примере mainmenubar
PHP код:
local _G=_G
local DB 
= {}
local frame CreateFrame("Frame")
size CreateFrame("Slider""size"UIParent"OptionsSliderTemplate")
size:SetWidth(400)
size:SetHeight(30)
size:SetOrientation("HORIZONTAL")
size:SetPoint("CENTER")
size:SetMinMaxValues(0.1,3)
size:SetValueStep(0.01)
local function update()
for 
_,frame in next, {MainMenuBarMultiBarBottomLeftMultiBarBottomRightMultiBarLeftMultiBarRight } do frame:SetScale(resizerDB.valueend
end
size
:SetScript("OnValueChanged", function() 
resizerDB.value size:GetValue()
print(
"Тык /scale ,что бы показать фрейму")
print(
"Масштаб панелей = "..size:GetValue())
update()
end)

local hide true 
local 
function hide()
    if(
hidethen  
      size
:Hide() 
   else  
      
size:Show()
   
end
   hide 
not hide
end

_G
.SlashCmdList['SCALE'] = hide
_G
.SLASH_SCALE1 '/scale'

frame.ADDON_LOADED = function(self
   if(
_G.resizerDBthen  
      DB 
_G.resizerDB
      value 
resizerDB.value
        size
:SetValue(value)
      for 
_,frame in next, {MainMenuBarMultiBarBottomLeftMultiBarBottomRightMultiBarLeftMultiBarRight } do frame:SetScale(resizerDB.valueend
   
else 
      
_G.resizerDB DB 
  end
end
hide
()
frame:SetScript("OnEvent",function(self,event,...) self[event](self,event,...) end)
frame:RegisterEvent("ADDON_LOADED"
if not <имя лейаута> then end
далее прописываешь дефолт его, если же будет в игре, ну а потом уже библиотеки, вроде local tekcheck = LibStub("tekKonfig-Checkbox")
local tekbutton = LibStub("tekKonfig-Button")
local tekslider = LibStub("tekKonfig-Slider")
local tekdropdown = LibStub("tekKonfig-Dropdown")

ну и далее используя библиотеки пишешь все, вот например одна из функций, которые потом используются уже в настройках
PHP код:
local function texfunc(frame)
    
local texturedropdowntexturedropdowntexttexturedropdowncontainer tekdropdown.new(frame"Texture""TOPRIGHT"frame00)
    
texturedropdowntext:SetText(oUF_Freebgrid.db.texture or FreebgridDefaults.texture)
    
texturedropdown.tiptext "Change the unit's texture."

    
local function OnClick(self)
        
UIDropDownMenu_SetSelectedValue(texturedropdownself.value)
        
texturedropdowntext:SetText(self.value)
        
oUF_Freebgrid:SetTex(self.value)
    
end
    UIDropDownMenu_Initialize
(texturedropdown, function()
        
local selectedinfo UIDropDownMenu_GetSelectedValue(texturedropdown) or oUF_Freebgrid.db.textureUIDropDownMenu_CreateInfo()

        for 
name in pairs(oUF_Freebgrid.textures) do
            
info.text name
            info
.value name
            info
.func OnClick
            info
.checked name == selected
            UIDropDownMenu_AddButton
(info)
        
end
    end
)
end 
ну и далее уже делаешь настройки, используя прописанные ранее функции
как-то так, насколько я понял, ибо я сам не очень хорошо разбираюсь
да, тут не нужно прописывать то, что ты прописывал в асе3, ибо здесь обновление ползунка и т.д сразу предусмотрено, точнее в конкретной библиотеке, тебе нужно лишь прописать имя нужной тебе опции, напр. ползунка, с библиотеке, т.е
PHP код:
    local scalesliderscaleslidertextscalecontainer tekslider.new(framestring.format("Scale: %.2f"oUF_Freebgrid.db.scale or FreebgridDefaults.scale), 0.52"TOPLEFT"lockpos"BOTTOMLEFT"0, -GAP)
    
scaleslider.tiptext "Set the units scale."
    
scaleslider:SetValue(oUF_Freebgrid.db.scale or FreebgridDefaults.scale)
    
scaleslider:SetValueStep(.05)
    
scaleslider:SetScript("OnValueChanged", function(self)
        
oUF_Freebgrid.db.scale self:GetValue()
        
scaleslidertext:SetText(string.format("Scale: %.2f"oUF_Freebgrid.db.scale or FreebgridDefaults.scale))
    
end
Вроде как-то так.