Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Ищу добровольца который умеет писать аддоны на lua

Упомянутые в теме пользователи:

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 12 из 17
  1. #1
    Активист
    Регистрация
    03.11.2012
    Сообщений
    72
    Поблагодарил(а)
    3
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0

    Ищу добровольца который умеет писать аддоны на lua

    Проблема такая, нужно запилить аддон, дело минутное для тех кто умеет, а вот и сам аддон:

    local f = CreateFrame("Frame")
    f:RegisterEvent("PLAYER_ENTERING_WORLD")
    f:SetScript("OnEvent", function(f)
    SetCVar("mouseSpeed", .25)
    f:UnregisterAllEvents()
    end)

    Всё остальное не интересует...
    Пробовал вникать, ничего не получилось... Как-то сложно всё....

  2. #2
    Старожил Аватар для Всем по т2 пацаны
    Регистрация
    26.12.2012
    Сообщений
    100
    Поблагодарил(а)
    6
    Получено благодарностей: 49 (сообщений: 30).
    Репутация: 49
    1.качаеш notepad++
    2.Создаеш файл с разрешением .toc (создаеш новый файл 12345.toc) это оболочка твоего аддона
    3.
    делаеш как тут , последняя строчка это твой аддон его создаеш с разрешением .lua (создаеш новый файл 12345.lua)
    4. должно получится так , и вписываеш туда

    local f = CreateFrame("Frame")
    f:RegisterEvent("PLAYER_ENTERING_WORLD")
    f:SetScript("OnEvent", function(f)
    SetCVar("mouseSpeed", .25)
    f:UnregisterAllEvents()
    end)

    ну или http://rghost.ru/43441753
    Последний раз редактировалось Всем по т2 пацаны; 31.01.2013 в 16:27.

  3. 3 пользователей сказали cпасибо Всем по т2 пацаны за это полезное сообщение:

    BadStyle (01.02.2013),zer0tul (11.02.2013),Адмирал (14.02.2013)

  4. #3
    Активист
    Регистрация
    03.11.2012
    Сообщений
    72
    Поблагодарил(а)
    3
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0
    О БОЖЕ, как всё сложно! :(

  5. #4
    Активист
    Регистрация
    03.11.2012
    Сообщений
    72
    Поблагодарил(а)
    3
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0
    Блин, да я всё читаю от начала до конца.... Правда.... Но как-то сложно всё.... И как вписывать всё?

  6. #5
    Абориген Аватар для BadStyle
    Регистрация
    05.01.2012
    Адрес
    Ferumcity
    Сообщений
    1,086
    Поблагодарил(а)
    421
    Получено благодарностей: 457 (сообщений: 297).
    Репутация: 444
    Цитата Сообщение от Excalibur Посмотреть сообщение
    Блин, да я всё читаю от начала до конца.... Правда.... Но как-то сложно всё.... И как вписывать всё?
    Господи, создаешь 2 файла один 123.toc второй 123.lua
    Фаил с разрешением .toc фаил загрузки аддона
    .lua сам аддон

    В файле .toc вписываешь
    Код:
    ## Interface: 30300
    ## Title: Название
    ## Author: Свой ник
    ## Notes: Примечание
    
    
    Название файла.lua
    Пример
    Код:
    ## Interface: 30300
    ## Title: Test
    ## Author: Tester
    ## Notes: Test
    
    
    Test.lua
    В файле .lua Который назван Test.lua
    Код:
    local f = CreateFrame("Frame")
    f:RegisterEvent("PLAYER_ENTERING_WORLD")
    f:SetScript("OnEvent", function(f)
    SetCVar("mouseSpeed", .25)
    f:UnregisterAllEvents()
    end)
    - - - Updated - - -

    Кстати нужно добавить одну кнопочку сюда
    Последний раз редактировалось BadStyle; 01.02.2013 в 16:14.
    Цитата Сообщение от Сфера Посмотреть сообщение
    будет сделано, мой генерал !
    Цитата Сообщение от Rainbow Owl Посмотреть сообщение
    самый лучший на свете Сергей!

  7. 1 пользователь сказал cпасибо BadStyle за это полезное сообщение:

    zer0tul (11.02.2013)

  8. #6
    Абориген Аватар для BadStyle
    Регистрация
    05.01.2012
    Адрес
    Ferumcity
    Сообщений
    1,086
    Поблагодарил(а)
    421
    Получено благодарностей: 457 (сообщений: 297).
    Репутация: 444
    Цитата Сообщение от Всем по т2 пацаны Посмотреть сообщение
    сделай одолжение , можеш сюда не заходить такие как ты пиз... мне не хочется помогать
    Цитата Сообщение от Сфера Посмотреть сообщение
    будет сделано, мой генерал !
    Цитата Сообщение от Rainbow Owl Посмотреть сообщение
    самый лучший на свете Сергей!

  9. #7
    Активист
    Регистрация
    03.11.2012
    Сообщений
    72
    Поблагодарил(а)
    3
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0
    Для тебя сделать это 1 минута, а ты заливаешь меня инфой... К тому же я просил сделать , а не обьяснять!

  10. #8
    Гуру
    Регистрация
    05.01.2012
    Адрес
    Львов
    Сообщений
    268
    Поблагодарил(а)
    408
    Получено благодарностей: 58 (сообщений: 56).
    Репутация: 83

    Собственно вот такой вопрос. Есть oUF_Coldkil в нем есть свой лут фрейм(в самой папке oUF_Coldkil также есть папки: чат\юнитфреймс\текстуры\фо тс\мапс и ЛУТС откуда и взял ниже коды)Других аддонов или папок которые могли бы быть связаны с лут фреймом ненашел.Так вот вопрос - можна ли с этих 2 кодов слепить свой аддон?Сам ОУФ непонравился, только лутфрейм

    Код лута

    --get the addon namespace
    local addon, ns = ...

    --get the config values
    local cfg = ns.cfg

    if not cfg.plugins.lootframe then return end

    local L = {
    fish = "Fishy loot",
    empty = "Empty slot",
    }

    local addon = CreateFrame("Button", "Butsu")
    local title = addon:CreateFontString(nil, "OVERLAY")
    local _TEXTURE = cfg.texflat
    local blankTex = cfg.texblank
    local font = cfg.font
    local fs = cfg.fontsize

    local SetTemplate = function(f)
    f:SetBackdrop({
    bgFile = _TEXTURE,
    edgeFile = blankTex,
    edgeSize = 1,
    })
    f:SetBackdropColor(.2,.2,.2,.6)
    f:SetBackdropBorderColor(0,0,0)
    end

    local iconSize = 30
    local frameScale = 1

    local sq, ss, sn

    local OnEnter = function(self)
    local slot = self:GetID()
    GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
    GameTooltip:SetLootItem(slot)
    CursorUpdate(self)

    LootFrame.selectedSlot = self:GetID()
    self.drop:Show()
    self.drop:SetVertexColor(1, 1, 0)
    end

    local OnLeave = function(self)
    if(self.quality > 1) then
    local color = ITEM_QUALITY_COLORS[self.quality]
    self.drop:SetVertexColor(color.r, color.g, color.b)
    else
    self.drop:Hide()
    end

    GameTooltip:Hide()
    ResetCursor()
    end

    local OnClick = function(self)
    if(IsModifiedClick()) then
    HandleModifiedItemClick(GetLootSlotLink(self:GetID()))
    else
    StaticPopup_Hide"CONFIRM_LOOT_DISTRIBUTION"
    ss = self:GetID()
    sq = self.quality
    sn = self.name:GetText()
    LootSlot(ss)
    end
    end

    local OnUpdate = function(self)
    if(GameTooltip:IsOwned(self)) then
    GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
    GameTooltip:SetLootItem(self:GetID())
    CursorOnUpdate(self)
    end
    end

    local createSlot = function(id)
    local iconsize = iconSize-2
    local frame = CreateFrame("Button", 'ButsuSlot'..id, addon)
    frame:SetPoint("LEFT", 4, 0)
    frame:SetPoint("RIGHT", -4, 0)
    frame:SetHeight(iconsize)
    frame:SetID(id)
    SetTemplate(frame)

    frame:RegisterForClicks("LeftButtonUp", "RightButtonUp")

    frame:SetScript("OnEnter", OnEnter)
    frame:SetScript("OnLeave", OnLeave)
    frame:SetScript("OnClick", OnClick)
    frame:SetScript("OnUpdate", OnUpdate)

    local iconFrame = CreateFrame("Frame", nil, frame)
    iconFrame:SetHeight(iconsize)
    iconFrame:SetWidth(iconsize)
    iconFrame:ClearAllPoints()
    iconFrame:SetPoint("RIGHT", frame)

    local icon = iconFrame:CreateTexture(nil, "ARTWORK")
    icon:SetAlpha(.8)
    icon:SetTexCoord(.07, .93, .07, .93)
    icon:SetPoint("TOPLEFT", 2, -2)
    icon:SetPoint("BOTTOMRIGHT", -2, 2)

    frame.icon = icon

    local count = iconFrame:CreateFontString(nil, "OVERLAY")
    count:ClearAllPoints()
    count:SetJustifyH"RIGHT"
    count:SetPoint("BOTTOMRIGHT", iconFrame, -1, 2)
    count:SetFont(font, fs, "OUTLINE, MONOCHROME")
    count:SetShadowOffset(0, 0)
    count:SetShadowColor(0, 0, 0, 1)
    count:SetText(1)
    frame.count = count

    local name = frame:CreateFontString(nil, "OVERLAY")
    name:SetJustifyH"LEFT"
    name:ClearAllPoints()
    name:SetPoint("TOPLEFT", frame, 4, 0)
    name:SetPoint("BOTTOMRIGHT", icon, "BOTTOMLEFT")
    name:SetNonSpaceWrap(true)
    name:SetFont(font, fs, "OUTLINE, MONOCHROME")
    name:SetShadowOffset(0, 0)
    name:SetShadowColor(0, 0, 0, 1)
    frame.name = name

    local drop = frame:CreateTexture(nil, "ARTWORK")
    drop:SetTexture"Interface\\QuestFrame\\UI-QuestLogTitleHighlight"

    drop:SetPoint("LEFT", icon, "RIGHT", -2, 0)
    drop:SetPoint("RIGHT", frame)
    drop:SetAllPoints(frame)
    drop:SetAlpha(.3)
    frame.drop = drop

    addon.slots[id] = frame
    return frame
    end

    local anchorSlots = function(self)
    local iconsize = iconSize
    local shownSlots = 0
    for i=1, #self.slots do
    local frame = self.slots[i]
    if(frame:IsShown()) then
    shownSlots = shownSlots + 1

    -- We don't have to worry about the previous slots as they're already hidden.
    frame:SetPoint("TOP", addon, 4, (-8 + iconsize) - (shownSlots * iconsize))
    end
    end

    self:SetHeight(math.max(shownSlots * iconsize + 16, 20))
    end

    title:SetFont(font, fs, "OUTLINE, MONOCHROME")
    title:SetPoint("BOTTOMLEFT", addon, "TOPLEFT", 4, 4)

    addon:SetScript("OnMouseDown", function(self) if(IsAltKeyDown()) then self:StartMoving() end end)
    addon:SetScript("OnMouseUp", function(self) self:StopMovingOrSizing() end)
    addon:SetScript("OnHide", function(self)
    StaticPopup_Hide"CONFIRM_LOOT_DISTRIBUTION"
    CloseLoot()
    end)
    addon:SetMovable(true)
    addon:RegisterForClicks"anyup"

    addon:SetParent(UIParent)
    addon:SetPoint("TOPLEFT", 0, -104)
    addon:SetWidth(256)
    addon:SetHeight(64)

    addon:SetClampedToScreen(true)
    addon:SetClampRectInsets(0, 0, 14, 0)
    addon:SetHitRectInsets(0, 0, -14, 0)
    addon:SetFrameStrata"HIGH"
    addon:SetToplevel(true)

    addon.slots = {}
    addon.LOOT_OPENED = function(self, event, autoloot)
    self:Show()

    if(not self:IsShown()) then
    CloseLoot(not autoLoot)
    end

    local items = GetNumLootItems()

    if(IsFishingLoot()) then
    title:SetText(L.fish)
    elseif(not UnitIsFriend("player", "target") and UnitIsDead"target") then
    title:SetText(UnitName"target")
    else
    title:SetText(LOOT)
    end

    -- Blizzard uses strings here
    if(GetCVar("lootUnderMouse") == "1") then
    local x, y = GetCursorPosition()
    x = x / self:GetEffectiveScale()
    y = y / self:GetEffectiveScale()

    self:ClearAllPoints()
    self:SetPoint("TOPLEFT", nil, "BOTTOMLEFT", x - 40, y + 20)
    self:GetCenter()
    self:Raise()
    else
    self:ClearAllPoints()
    self:SetUserPlaced(false)
    self:SetPoint("TOPLEFT", 0, -104)
    end

    local m, w, t = 0, 0, title:GetStringWidth()
    if(items > 0) then
    for i=1, items do
    local slot = addon.slots[i] or createSlot(i)
    local texture, item, quantity, quality, locked = GetLootSlotInfo(i)
    local color = ITEM_QUALITY_COLORS[quality]

    if texture then
    local color = ITEM_QUALITY_COLORS[quality]

    if texture and texture:find('INV_Misc_Coin') then
    item = item:gsub("\n", ", ")
    end

    if(quantity > 1) then
    slot.count:SetText(quantity)
    slot.count:Show()
    else
    slot.count:Hide()
    end

    if(quality > 1) then
    slot.drop:SetVertexColor(color.r, color.g, color.b)
    slot.drop:Show()
    else
    slot.drop:Hide()
    end

    slot.quality = quality
    slot.name:SetText(item)
    slot.name:SetTextColor(color.r, color.g, color.b)
    slot.icon:SetTexture(texture)

    m = math.max(m, quality)
    w = math.max(w, slot.name:GetStringWidth())

    slot:Enable()
    slot:Show()
    end
    end
    else
    local slot = addon.slots[1] or createSlot(1)
    local color = ITEM_QUALITY_COLORS[0]

    slot.name:SetText(L.empty)
    slot.name:SetTextColor(color.r, color.g, color.b)
    slot.icon:SetTexture[[Interface\Icons\INV_Misc_Herb_AncientLichen]]

    items = 1
    w = math.max(w, slot.name:GetStringWidth())

    slot.count:Hide()
    slot.drop:Hide()
    slotisable()
    slot:Show()
    end
    anchorSlots(self)

    w = w + 60
    t = t + 5

    local color = ITEM_QUALITY_COLORS[m]
    self:SetBackdropBorderColor(color.r, color.g, color.b, .8)
    self:SetWidth(math.max(w, t))
    end

    addon.LOOT_SLOT_CLEARED = function(self, event, slot)
    if(not self:IsShown()) then return end

    addon.slots[slot]:Hide()
    anchorSlots(self)
    end

    addon.LOOT_CLOSED = function(self)
    StaticPopup_Hide"LOOT_BIND"
    self:Hide()

    for _, v in pairs(self.slots) do
    v:Hide()
    end
    end

    addon.OPEN_MASTER_LOOT_LIST = function(self)
    ToggleDropDownMenu(1, nil, GroupLootDropDown, addon.slots[ss], 0, 0)
    end

    addon.UPDATE_MASTER_LOOT_LIST = function(self)
    UIDropDownMenu_Refresh(GroupLootDropDown)
    end

    addon.ADDON_LOADED = function(self, event, addon)
    if(addon == "Butsu") then
    --db = setmetatable({}, {__index = defaults})

    self:SetScale(frameScale)

    -- clean up.
    self[event] = nil
    self:UnregisterEvent(event)
    end
    end

    addon:SetScript("OnEvent", function(self, event, ...)
    self[event](self, event, ...)
    end)

    addon:RegisterEvent"LOOT_OPENED"
    addon:RegisterEvent"LOOT_SLOT_CLEARED"
    addon:RegisterEvent"LOOT_CLOSED"
    addon:RegisterEvent"OPEN_MASTER_LOOT_LIST"
    addon:RegisterEvent"UPDATE_MASTER_LOOT_LIST"
    addon:RegisterEvent"ADDON_LOADED"
    addon:Hide()

    -- Fuzz
    LootFrame:UnregisterAllEvents()
    table.insert(UISpecialFrames, "Butsu")
    [свернуть]


    РоллФрейм

    --[[
    this is an edited version of teksloot
    all credits of this mod goes to tekhub
    --]]

    --get the addon namespace
    local addon, ns = ...

    --get the config values
    local cfg = ns.cfg

    if not cfg.plugins.rollframe then return end

    local font = cfg.font
    local fs = cfg.fontsize

    local backdrop = {
    bgFile = cfg.texflat, tile = true, tileSize = 0,
    edgeFile = cfg.texblank, edgeSize = 1,
    insets = {left = -1, right = -1, top = -1, bottom = -1},
    }

    local function ClickRoll(frame)
    RollOnLoot(frame.parent.rollid, frame.rolltype)
    end


    local function HideTip() GameTooltip:Hide() end
    local function HideTip2() GameTooltip:Hide(); ResetCursor() end


    local rolltypes = {"need", "greed", "disenchant", [0] = "pass"}
    local function SetTip(frame)
    GameTooltip:SetOwner(frame, "ANCHOR_RIGHT")
    GameTooltip:SetText(frame.tiptext)
    if frame:IsEnabled() == 0 then GameTooltip:AddLine("|cffff3333Cannot roll") end
    for name,roll in pairs(frame.parent.rolls) do if roll == rolltypes[frame.rolltype] then GameTooltip:AddLine(name, 1, 1, 1) end end
    GameTooltip:Show()
    end


    local function SetItemTip(frame)
    if not frame.link then return end
    GameTooltip:SetOwner(frame, "ANCHOR_TOPLEFT")
    GameTooltip:SetHyperlink(frame.link)
    if IsShiftKeyDown() then GameTooltip_ShowCompareItem() end
    if IsModifiedClick("DRESSUP") then ShowInspectCursor() else ResetCursor() end
    end


    local function ItemOnUpdate(self)
    if IsShiftKeyDown() then GameTooltip_ShowCompareItem() end
    CursorOnUpdate(self)
    end


    local function LootClick(frame)
    if IsControlKeyDown() then DressUpItemLink(frame.link)
    elseif IsShiftKeyDown() then ChatEdit_InsertLink(frame.link) end
    end


    local cancelled_rolls = {}
    local function OnEvent(frame, event, rollid)
    cancelled_rolls[rollid] = true
    if frame.rollid ~= rollid then return end

    frame.rollid = nil
    frame.time = nil
    frame:Hide()
    end


    local function StatusUpdate(frame)
    local t = GetLootRollTimeLeft(frame.parent.rollid)
    local perc = t / frame.parent.time
    frame.spark:SetPoint("CENTER", frame, "LEFT", perc * frame:GetWidth(), 0)
    frame:SetValue(t)
    end


    local function CreateRollButton(parent, ntex, ptex, htex, rolltype, tiptext, ...)
    local f = CreateFrame("Button", nil, parent)
    f:SetPoint(...)
    f:SetWidth(28)
    f:SetHeight(28)
    f:SetNormalTexture(ntex)
    if ptex then f:SetPushedTexture(ptex) end
    f:SetHighlightTexture(htex)
    f.rolltype = rolltype
    f.parent = parent
    f.tiptext = tiptext
    f:SetScript("OnEnter", SetTip)
    f:SetScript("OnLeave", HideTip)
    f:SetScript("OnClick", ClickRoll)
    f:SetMotionScriptsWhileDisabled(true)
    local txt = f:CreateFontString(nil, nil)
    txt:SetFont(font, fs, "OUTLINE, MONOCHROME")
    txt:SetPoint("CENTER", 0, rolltype == 2 and 1 or rolltype == 0 and -1.2 or 0)
    return f, txt
    end


    local function CreateRollFrame()
    local frame = CreateFrame("Frame", nil, UIParent)
    frame:SetWidth(200)
    frame:SetHeight(22)
    frame:SetBackdrop(backdrop)
    frame:SetBackdropColor(0.1, 0.1, 0.1, 1)
    frame:SetScript("OnEvent", OnEvent)
    frame:RegisterEvent("CANCEL_LOOT_ROLL")
    frame:Hide()

    local button = CreateFrame("Button", nil, frame)
    button:SetPoint("LEFT", -24, 0)
    button:SetWidth(22)
    button:SetHeight(22)
    button:SetScript("OnEnter", SetItemTip)
    button:SetScript("OnLeave", HideTip2)
    button:SetScript("OnUpdate", ItemOnUpdate)
    button:SetScript("OnClick", LootClick)

    frame.button = button

    local buttonborder = CreateFrame("Frame", nil, button)
    buttonborder:SetWidth(22)
    buttonborder:SetHeight(22)
    buttonborder:SetPoint("CENTER", button, "CENTER")
    buttonborder:SetBackdrop(backdrop)
    buttonborder:SetBackdropColor(1, 1, 1, 0)

    local buttonborder2 = CreateFrame("Frame", nil, button)
    buttonborder2:SetWidth(24)
    buttonborder2:SetHeight(24)
    buttonborder2:SetFrameLevel(buttonborder:GetFrameLevel()+1)
    buttonborder2:SetPoint("CENTER", button, "CENTER")
    buttonborder2:SetBackdrop(backdrop)
    buttonborder2:SetBackdropColor(0, 0, 0, 0)
    buttonborder2:SetBackdropBorderColor(0,0,0,1)


    frame.buttonborder = buttonborder

    local tfade = frame:CreateTexture(nil, "BORDER")
    tfade:SetPoint("TOPLEFT", frame, "TOPLEFT", 4, 0)
    tfade:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -4, 0)
    tfade:SetTexture("Interface\\ChatFrame\\ChatFrameBackground")
    tfade:SetBlendMode("ADD")
    tfade:SetGradientAlpha("VERTICAL", .1, .1, .1, 0, .1, .1, .1, 0)

    local status = CreateFrame("StatusBar", nil, frame)
    status:SetWidth(200)
    status:SetHeight(20)
    status:SetPoint("CENTER", frame, "CENTER", 0, 0)
    status:SetScript("OnUpdate", StatusUpdate)
    status:SetFrameLevel(status:GetFrameLevel()-1)
    status:SetStatusBarTexture(cfg.texflat)
    status:SetStatusBarColor(.8, .8, .8, .9)
    status.parent = frame
    frame.status = status

    local spark = frame:CreateTexture(nil, "OVERLAY")
    spark:SetWidth(14)
    spark:SetHeight(25)
    spark:SetTexture("Interface\\CastingBar\\UI-CastingBar-Spark")
    spark:SetBlendMode("ADD")
    status.spark = spark

    local need, needtext = CreateRollButton(frame, "Interface\\Buttons\\UI-GroupLoot-Dice-Up", "Interface\\Buttons\\UI-GroupLoot-Dice-Highlight", "Interface\\Buttons\\UI-GroupLoot-Dice-Down", 1, NEED, "LEFT", frame.button, "RIGHT", 5, -1)
    local greed, greedtext = CreateRollButton(frame, "Interface\\Buttons\\UI-GroupLoot-Coin-Up", "Interface\\Buttons\\UI-GroupLoot-Coin-Highlight", "Interface\\Buttons\\UI-GroupLoot-Coin-Down", 2, GREED, "LEFT", need, "RIGHT", 0, -1)
    local de, detext
    de, detext = CreateRollButton(frame, "Interface\\Buttons\\UI-GroupLoot-DE-Up", "Interface\\Buttons\\UI-GroupLoot-DE-Highlight", "Interface\\Buttons\\UI-GroupLoot-DE-Down", 3, ROLL_DISENCHANT, "LEFT", greed, "RIGHT", 0, -1)
    local pass, passtext = CreateRollButton(frame, "Interface\\Buttons\\UI-GroupLoot-Pass-Up", nil, "Interface\\Buttons\\UI-GroupLoot-Pass-Down", 0, PASS, "LEFT", de or greed, "RIGHT", 0, 2.2)
    frame.needbutt, frame.greedbutt, frame.disenchantbutt = need, greed, de
    frame.need, frame.greed, frame.pass, frame.disenchant = needtext, greedtext, passtext, detext

    local bind = frame:CreateFontString()
    bind:SetPoint("LEFT", pass, "RIGHT", 3, 1)
    bind:SetFont(font, fs, "OUTLINE, MONOCHROME")
    frame.fsbind = bind

    local loot = frame:CreateFontString(nil, "ARTWORK")
    loot:SetFont(font, fs, "OUTLINE, MONOCHROME")
    loot:SetPoint("LEFT", bind, "RIGHT", 0, 0)
    loot:SetPoint("RIGHT", frame, "RIGHT", -5, 0)
    loot:SetHeight(10)
    loot:SetWidth(200)
    loot:SetJustifyH("LEFT")
    frame.fsloot = loot

    frame.rolls = {}

    return frame
    end


    local anchor = CreateFrame("Button", "ColdRollAnchor", UIParent)
    anchor:SetWidth(200)
    anchor:SetHeight(22)
    anchor:SetBackdrop(backdrop)
    anchor:SetBackdropColor(0.25, 0.25, 0.25, 1)
    local label = anchor:CreateFontString(nil, "ARTWORK")
    label:SetFont(font, fs, "OUTLINE, MONOCHROME")
    label:SetAllPoints(anchor)
    --label:SetText("ROLLMOVER")
    anchor:SetMovable(true)
    anchor:EnableMouse(false)
    anchor:SetBackdrop(backdrop)
    anchor:SetAlpha(0)
    anchor:SetBackdropBorderColor(1, 0, 0, 1)

    local frames = {}

    local f = CreateRollFrame() -- Create one for good measure
    f:SetPoint("BOTTOMLEFT", next(frames) and frames[#frames] or anchor, "TOPLEFT", 0, 4)
    table.insert(frames, f)

    local function GetFrame()
    for i,f in ipairs(frames) do
    if not f.rollid then return f end
    end

    local f = CreateRollFrame()
    f:SetPoint("BOTTOMLEFT", next(frames) and frames[#frames] or anchor, "TOPLEFT", 0, 4)
    table.insert(frames, f)
    return f
    end


    local function START_LOOT_ROLL(rollid, time)
    if cancelled_rolls[rollid] then return end

    local f = GetFrame()
    f.rollid = rollid
    f.time = time
    for i in pairs(f.rolls) do f.rolls[i] = nil end
    --f.need:SetText(0)
    --f.greed:SetText(0)
    --f.pass:SetText(0)
    --f.disenchant:SetText(0)

    local texture, name, count, quality, bop, canNeed, canGreed, canDisenchant = GetLootRollItemInfo(rollid)
    f.button:SetNormalTexture(texture)
    f.button.link = GetLootRollItemLink(rollid)

    if canNeed then f.needbutt:Enable() else f.needbuttisable() end
    if canGreed then f.greedbutt:Enable() else f.greedbuttisable() end
    if canDisenchant then f.disenchantbutt:Enable() else f.disenchantbuttisable() end
    SetDesaturation(f.needbutt:GetNormalTexture(), not canNeed)
    SetDesaturation(f.greedbutt:GetNormalTexture(), not canGreed)
    SetDesaturation(f.disenchantbutt:GetNormalTexture(), not canDisenchant)


    f.fsbind:SetText(bop and "BoP" or "BoE")
    f.fsbind:SetVertexColor(bop and 1 or .3, bop and .3 or 1, bop and .1 or .3)

    local color = ITEM_QUALITY_COLORS[quality]
    f.fsloot:SetVertexColor(color.r, color.g, color.b)
    --f.fsloot:SetText(name)

    f:SetBackdropBorderColor(color.r, color.g, color.b, 1)
    f.buttonborder:SetBackdropBorderColor(color.r, color.g, color.b, 1)
    f.status:SetStatusBarColor(color.r, color.g, color.b, .7)

    f.status:SetMinMaxValues(0, time)
    f.status:SetValue(time)

    f:SetPoint("CENTER", WorldFrame, "CENTER")
    f:Show()
    end


    local locale = GetLocale()
    local rollpairs = locale == "deDE" and {
    ["(.*) passt automatisch bei (.+), weil [ersi]+ den Gegenstand nicht benutzen kann.$"] = "pass",
    ["(.*) wГјrfelt nicht fГјr: (.+|r)$"] = "pass",
    ["(.*) hat für (.+) 'Gier' ausgewählt"] = "greed",
    ["(.*) hat für (.+) 'Bedarf' ausgewählt"] = "need",
    ["(.*) hat für '(.+)' Entzauberung gewählt."] = "disenchant",
    } or locale == "frFR" and {
    ["(.*) a passГ© pourВ*: (.+) parce qu'((il)|(elle)) ne peut pas ramasser cette objet.$"] = "pass",
    ["(.*) a passГ© pourВ*: (.+)"] = "pass",
    ["(.*) a choisi CupiditГ© pourВ*: (.+)"] = "greed",
    ["(.*) a choisi Besoin pourВ*: (.+)"] = "need",
    ["(.*) a choisi DГ©senchantement pourВ*: (.+)"] = "disenchant",
    } or locale == "zhTW" and {
    ["(.*)и‡Єе‹•ж”ѕжЈ„:(.+)пјЊе›*з‚є"] = "pass",
    ["(.*)ж”ѕжЈ„дє†:(.+)"] = "pass",
    ["(.*)選擇了貪婪優先:(.+)"] = "greed",
    ["(.*)選擇了需求優先:(.+)"] = "need",
    ["(.*)選擇分解:(.+)"] = "disenchant",
    } or locale == "ruRU" and {
    ["(.*) автоматически передает предмет (.+), поскольку не может его забрать"] = "pass",
    ["(.*) пропускает розыгрыш предмета \"(.+)\", поскольку не может его забрать"] = "pass",
    ["(.*) отказывается от предмета (.+)%."] = "pass",
    ["Р*азыгрывается: (.+)%. (.*): \"РќРµ откажусь\""] = "greed",
    ["Р*азыгрывается: (.+)%. (.*): \"РњРЅРµ это РЅСѓР¶РЅРѕ\""] = "need",
    ["Р*азыгрывается: (.+)%. (.*): \"Р*аспылить\""] = "disenchant",
    } or locale == "koKR" and {
    ["(.+)님이 нљЌл“ќн•* 수 м—†лЉ” м•„мќґн…њмќґм–ґм„њ мћђлЏ™мњјлЎњ 주사위 굴리기를 포기했습니다: (.+)"] = "pass",
    ["(.+)님이 주사위 굴리기를 포기했습니다: (.+)"] = "pass",
    ["(.+)님이 차비를 м„*택했습니다: (.+)"] = "greed",
    ["(.+)님이 мћ…м°°мќ„ м„*택했습니다: (.+)"] = "need",
    ["(.+)님이 л§€л*Ґ м¶”м¶њмќ„ м„*택했습니다: (.+)"] = "disenchant",
    } or {
    ["^(.*) automatically passed on: (.+) because s?he cannot loot that item.$"] = "pass",
    ["^(.*) passed on: (.+|r)$"] = "pass",
    ["(.*) has selected Greed for: (.+)"] = "greed",
    ["(.*) has selected Need for: (.+)"] = "need",
    ["(.*) has selected Disenchant for: (.+)"] = "disenchant",
    }
    local function ParseRollChoice(msg)
    for i,v in pairs(rollpairs) do
    local _, _, playername, itemname = string.find(msg, i)
    if locale == "ruRU" and (v == "greed" or v == "need" or v == "disenchant") then
    local temp = playername
    playername = itemname
    itemname = temp
    end
    if playername and itemname and playername ~= "Everyone" then return playername, itemname, v end
    end
    end

    local function CHAT_MSG_LOOT(msg)
    local playername, itemname, rolltype = ParseRollChoice(msg)
    if playername and itemname and rolltype then
    for _,f in ipairs(frames) do
    if f.rollid and f.button.link == itemname and not f.rolls[playername] then
    f.rolls[playername] = rolltype
    f[rolltype]:SetText(tonumber(f[rolltype]:GetText()) + 1)
    return
    end
    end
    end
    end

    anchor:RegisterEvent("ADDON_LOADED")
    anchor:SetScript("OnEvent", function(frame, event, addon)

    anchor:UnregisterEvent("ADDON_LOADED")
    anchor:RegisterEvent("START_LOOT_ROLL")
    anchor:RegisterEvent("CHAT_MSG_LOOT")
    UIParent:UnregisterEvent("START_LOOT_ROLL")
    UIParent:UnregisterEvent("CANCEL_LOOT_ROLL")

    anchor:SetScript("OnEvent", function(frame, event, ...) if event == "CHAT_MSG_LOOT" then return CHAT_MSG_LOOT(...) else return START_LOOT_ROLL(...) end end)

    anchor:SetPoint("CENTER", UIParent, "CENTER", 0, -100)
    end)
    [свернуть]
    Последний раз редактировалось Планктон; 05.02.2013 в 19:39.

  11. #9
    Старожил Аватар для Всем по т2 пацаны
    Регистрация
    26.12.2012
    Сообщений
    100
    Поблагодарил(а)
    6
    Получено благодарностей: 49 (сообщений: 30).
    Репутация: 49
    Без оуф нечего не выйдет, нужен двигатель колд это оболочка, а двигатель оуф

  12. #10
    Абориген Аватар для BadStyle
    Регистрация
    05.01.2012
    Адрес
    Ferumcity
    Сообщений
    1,086
    Поблагодарил(а)
    421
    Получено благодарностей: 457 (сообщений: 297).
    Репутация: 444
    Цитата Сообщение от Всем по т2 пацаны Посмотреть сообщение
    Без оуф нечего не выйдет, нужен двигатель колд это оболочка, а двигатель оуф
    oUF core если включить?
    Цитата Сообщение от Сфера Посмотреть сообщение
    будет сделано, мой генерал !
    Цитата Сообщение от Rainbow Owl Посмотреть сообщение
    самый лучший на свете Сергей!

  13. #11
    Гуру
    Регистрация
    05.01.2012
    Адрес
    Львов
    Сообщений
    268
    Поблагодарил(а)
    408
    Получено благодарностей: 58 (сообщений: 56).
    Репутация: 83
    Ну а как убить фреймы но чтобы работало всё остальное?

    - - - Updated - - -

    Цитата Сообщение от Deadmax Посмотреть сообщение
    oUF core если включить?
    Да во времена ГБ могу юзать фулл этот лейаут(жрет копейкииии), только фреймы чет неок мне.
    Достал Xloot а Butsu нето.
    Последний раз редактировалось Планктон; 05.02.2013 в 19:48.

  14. #12
    Абориген Аватар для BadStyle
    Регистрация
    05.01.2012
    Адрес
    Ferumcity
    Сообщений
    1,086
    Поблагодарил(а)
    421
    Получено благодарностей: 457 (сообщений: 297).
    Репутация: 444
    Цитата Сообщение от Планктон Посмотреть сообщение
    Ну а как убить фреймы но чтобы работало всё остальное?
    Завтра попробую=) Скинь ссылочку на layot
    Самому интересно=)
    Цитата Сообщение от Сфера Посмотреть сообщение
    будет сделано, мой генерал !
    Цитата Сообщение от Rainbow Owl Посмотреть сообщение
    самый лучший на свете Сергей!

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Непонятки по поводу бана!
    от Juudje в разделе Архив
    Ответов: 4
    Последнее сообщение: 18.02.2012, 14:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •