Скрипты Neilyo и не только  
Автор Сообщение



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Скрипты Neilyo и не только

надо чаще общаться с друзьями ;D

человек спрашивал простейший вопрос, решение которого есть почти в каждом посте техраздела, было скучно отвечать и я решил приколоться

 

нашел ленивое спам макро на сбор рейда за медведами. соотв. для орды меняем на огри и текст правим в мессаге.

Код:
/who 85 Штормград
/run ConvertToRaid() for i=1,GetNumWhoResults() do c,g=GetWhoInfo(i) SendChatMessage("Автоинвайт: рейд на орду за медведом!","WHISPER",nil,c) InviteUnit(c) end ConvertToRaid()



19 сен 2012, 14:37
Профиль



<Попа в огне>


Сервер: Черный Шрам
2х2: 1822
3х3: 1567
0
Сообщение Скрипты Neilyo и не только

Фернир, а можно сделать фрейм на дефабы, по аналогии с фреймон на бафф?

Код:
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:RegisterEvent("UNIT_AURA")
f:RegisterEvent("ZONE_CHANGED_NEW_AREA")
f:SetScript("OnEvent", function(self, event, ...)
    local SE = GetSpellInfo(77769)
    if event=="PLAYER_ENTERING_WORLD" then
        local SND = _G["SND"] or CreateFrame("Frame", "SND", UIParent)
        SND.c = SND.c or CreateFrame("Cooldown","$parentCooldown", SND)
        SND.c:SetAllPoints(SND)
        SND:SetPoint("CENTER", 0,-200)
        SND:SetSize(36,36)
        SND.t = SND.t or SND:CreateTexture("$parentIcon","BORDER")
        SND.t:SetAllPoints()
    end
    if event=="UNIT_AURA" or event=="ZONE_CHANGED_NEW_AREA" then
        local found = false
        for i=1,40 do
            local N,_,t, _, _,d,x = UnitBuff("player", i)
            if not N then break end
            if N==SE then found = true SND:Show() SND.t:SetTexture(t) if d>0 then SND.c:SetCooldown(x-d-0.5,d) end end
            if not found then SND:Hide() end
        end
    end
end

Догадываюсь, что надо поменять в строчке local 

Код:
N,_,t, _, _,d,x = UnitBuff("player", i)
 UnitBuff на UnitDebaff и player на target, но как сделать чтобы отображались только твои дебафы? или они и так будут отображаться?



19 сен 2012, 18:45
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
3
Сообщение Скрипты Neilyo и не только

Благодаря Xelly я разобрался в роговских стенсах, засим - шд, ваниш, стелс скрипт для баров:

Код:
local shadowdancebar=2
local f = CreateFrame('frame', 'myownstatedriver', UIParent, 'SecureHandlerStateTemplate')
for i=1,12 do f:SetFrameRef('ActionButton'..i, _G['ActionButton'..i]) end
f:Execute([[ buttons = table.new() for i = 1, 12 do table.insert(buttons, self:GetFrameRef('ActionButton'..i)) end ]])
f:SetAttribute('_onstate-page', [[  for i, button in ipairs(buttons) do button:SetAttribute('actionpage', tonumber(newstate)) end ]])
local getBar = function()
    local class, spec = select(2, UnitClass('player')), GetSpecialization()
    local pages = {
        ['DRUID'] = '[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10;',        
        ['WARRIOR'] = '[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;',
        ['PRIEST'] = '[bonusbar:1] 7;',
        ['ROGUE'] = '[form:1][form:3,stealth] 7; [form:3,nostealth]'..shadowdancebar..';',
        ['WARLOCK'] = '[form:2] 10;',
        ['MONK'] = '[form:1] '..(spec == 1 and 8 or spec == 2 and 9 or spec == 3 and 7 or 9)..'; [form:2] 7;',
        ['DEFAULT'] = '[vehicleui] 12; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;',
    }
    local condition, page = pages['DEFAULT'], pages[class]
    if page then condition = condition..' '..page end
    condition = condition..' 1'
    return condition
end
RegisterStateDriver(f, 'page', getBar())
to Reimu:

name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitBuff("unit", index)

unitCaster должен быть равен 'player', т.е. это твои дебаффы, или (для роги, кровоизлияние на таргете):

Код:
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:RegisterEvent("PLAYER_TARGET_CHANGED")
f:RegisterEvent("UNIT_AURA")
f:RegisterEvent("ZONE_CHANGED_NEW_AREA")
f:SetScript("OnEvent", function(self, event, ...)
    local SE = GetSpellInfo(16511)
    if event=="PLAYER_ENTERING_WORLD" then
        local SND = _G["SND"] or CreateFrame("Frame", "SND", UIParent)
        SND.c = SND.c or CreateFrame("Cooldown","$parentCooldown", SND)
        SND.c:SetAllPoints(SND)
        SND:SetPoint("CENTER", 0,-200)
        SND:SetSize(36,36)
        SND.t = SND.t or SND:CreateTexture("$parentIcon","BORDER")
        SND.t:SetAllPoints()
    end
    if event=="UNIT_AURA" or event=="ZONE_CHANGED_NEW_AREA" or event=="PLAYER_TARGET_CHANGED" then
        if not UnitExists("target") then SND:Hide() return end
        local found = false
        for i=1,40 do
            local N,_,t, _, _,d,x,uc = UnitDebuff("target", i)
            if not N then break end
            if N==SE then
                if uc == 'player' then
                    found = true SND:Show() SND.t:SetTexture(t) if d>0 then SND.c:SetCooldown(x-d-0.5,d) end
                end
            end
            if not found then SND:Hide() end
        end
    end
end)
упд. поправил скрипт, нужен был эвент взятия таргета для обновления иконки



19 сен 2012, 19:05
Профиль



<Попа в огне>


Сервер: Черный Шрам
2х2: 1822
3х3: 1567
0
Сообщение Скрипты Neilyo и не только

Спс Фернир :)



19 сен 2012, 19:14
Профиль

0
Сообщение Скрипты Neilyo и не только

Fernir писал(а):

Благодаря Xelly я разобрался в роговских стенсах, засим - шд, ваниш, стелс скрипт для баров

 

 

Спс, но в мутилейт спеке при юзе ваниша остается но стелс панель.



19 сен 2012, 22:12
Профиль Skype



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Скрипты Neilyo и не только

Sinister писал(а):

Fernir писал(а):

Благодаря Xelly я разобрался в роговских стенсах, засим - шд, ваниш, стелс скрипт для баров

 

 

Спс, но в мутилейт спеке при юзе ваниша остается но стелс панель.

хм, ок. потом сделаю проверку на спек, думал только у монков такие траблы



19 сен 2012, 22:16
Профиль

0
Сообщение Скрипты Neilyo и не только

Мэн вопрос такой, нашет и отредактил такой скрипт, СнД работает, увертка нет! в чем проблема?

local f = CreateFrame("Frame")
local function Update(self, event, ...)
local RECUP = GetSpellInfo(73651)
local SLICE = GetSpellInfo(5171)
if event == "PLAYER_ENTERING_WORLD" then
Frame="Frame";CreateFrame=CreateFrame;Border="Border"
REC=CreateFrame(Frame)REC.c=CreateFrame("Cooldown","RC",REC.t)REC.c:SetAllPoints(REC)
REC:SetPoint("BOTTOMRIGHT",PlayerFrame,-20,60)REC:SetSize(26,26)REC.t=REC:CreateTexture(nil,Border)
REC.t:SetAllPoints()REC.t:SetTexture("Interface\\Icons\\talent_rogue_subterfuge")
SND=CreateFrame(Frame)SND.c=CreateFrame("Cooldown","SN",SND.t)SND.c:SetAllPoints(SND)
SND:SetPoint("BOTTOMRIGHT",PlayerFrame,-46,60)SND:SetSize(26,26)SND.t=SND:CreateTexture(nil,Border)
SND.t:SetAllPoints()SND.t:SetTexture("Interface\\Icons\\ability_rogue_slicedice")
end
if event == "UNIT_AURA" then
local maxx = 0
local _, name, d, D, x
for i = 1, 40 do
name, _, icon, _, _, d, x = UnitBuff("player", i)
if not name then break end
if name == RECUP then
maxx = x
D = d
if D > 0 then
RC:SetCooldown(maxx - D - 0.5, D)
end 
elseif name == SLICE then 
maxx = x
D = d
if D > 0 then
SN:SetCooldown(maxx- D - 0.5, D) 
end 
end
end
end 
end
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:RegisterEvent("UNIT_AURA")
f:SetScript("OnEvent", Update)



19 сен 2012, 23:25
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

Ну там id осталось от рекупирейта. Дался вам этот скрипт, все его чето правят, а выправить не могут. Sad



19 сен 2012, 23:29
Профиль



<Попа в огне>


Сервер: Черный Шрам
2х2: 1822
3х3: 1567
0
Сообщение Скрипты Neilyo и не только

Усе там пашет, гуд скрипт!

П.С ИД уверки 108208



19 сен 2012, 23:32
Профиль

0
Сообщение Скрипты Neilyo и не только

упс спс парни)

 


а как еще дебыффы на противникке ( таргет ) увеличить? если есть у кого рабочий скрипт скиньте)



19 сен 2012, 23:35
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

MARSX писал(а):

упс спс парни)

 

а как еще дебыффы на противникке ( таргет ) увеличить? если есть у кого рабочий скрипт скиньте)

а че старый не работает?

Код:
hooksecurefunc("TargetFrame_UpdateAuraPositions", function(self, auraName, numAuras, numOppositeAuras,largeAuraList, updateFunc, maxRowWidth, offsetX)
    local AURA_OFFSET_Y = 3
    local LARGE_AURA_SIZE = 27
    local SMALL_AURA_SIZE = 19
    local size
    local offsetY = AURA_OFFSET_Y
    local rowWidth = 0
    local firstBuffOnRow = 1
    for i=1, numAuras do
     if ( largeAuraList[i] ) then
       size = LARGE_AURA_SIZE
       offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y
     else
       size = SMALL_AURA_SIZE
     end
     if ( i == 1 ) then
       rowWidth = size
       self.auraRows = self.auraRows + 1
     else
       rowWidth = rowWidth + size + offsetX
     end
     if ( rowWidth > maxRowWidth ) then
       updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY)
       rowWidth = size
       self.auraRows = self.auraRows + 1
       firstBuffOnRow = i
       offsetY = AURA_OFFSET_Y
     else
       updateFunc(self, auraName, i, numOppositeAuras, i - 1, size, offsetX, offsetY)
     end
    end
    end)



19 сен 2012, 23:42
Профиль

0
Сообщение Скрипты Neilyo и не только

не пашет(

REC.t:SetAllPoints()REC.t:SetTexture("Interface\\Icons\\ability_rogue_subterfuge") ошибка где-то в этой строчке, нужно абилити писать или талант? пробовал и так, и так, но не пашет все равно( или мб не subterfuge писать а как нить по другому?



19 сен 2012, 23:46
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

MARSX писал(а):

не пашет(

REC.t:SetAllPoints()REC.t:SetTexture("Interface\\Icons\\ability_rogue_subterfuge") ошибка где-то в этой строчке, нужно абилити писать или талант? пробовал и так, и так, но не пашет все равно( или мб не subterfuge писать а как нить по другому?

А ты наугад названия иконки что-ли написал? Сильно.

Она называется rogue_subterfuge



19 сен 2012, 23:49
Профиль

0
Сообщение Скрипты Neilyo и не только

а я что написал? ("Interface\\Icons\\ability_rogue_subterfuge") 



19 сен 2012, 23:52
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

MARSX писал(а):

а я что написал? ("Interface\\Icons\\ability_rogue_subterfuge") 

ability_rogue_subterfuge

 

ability_rogue_subterfuge

 

ability_rogue_subterfuge



19 сен 2012, 23:54
Профиль

0
Сообщение Скрипты Neilyo и не только

Сори мэн, я слакер) теперь понял)


ну вот еще сцуко задача, надо же задать еще и кулдаун, точнее время действия! Витч? есть варианты? :love:love:love



19 сен 2012, 23:56
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

MARSX писал(а):

Сори мэн, я слакер) теперь понял)

ну вот еще сцуко задача, надо же задать еще и кулдаун, точнее время действия! Витч? есть варианты? :love:love:love

На этом мои полномочия все. СиськиА ты уверен, что твоя увертка какой-то бафф вешает?



20 сен 2012, 00:01
Профиль



<Фулы с коня>


Сервер: Черный Шрам
0
Сообщение Скрипты Neilyo и не только

Как убрать?
#933
При прописывании(в игре или в адде) скрипта от витчера...

wit4er писал(а):
Код:
/run FriendsMicroButton:ClearAllPoints() FriendsMicroButton:SetAllPoints(UIParent)

...выдаёт:

#933

Подскажите плиз.



20 сен 2012, 06:12
Профиль Skype



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
1
Сообщение Скрипты Neilyo и не только

MARSX писал(а):

Сори мэн, я слакер) теперь понял)

ну вот еще сцуко задача, надо же задать еще и кулдаун, точнее время действия! Витч? есть варианты? :love:love:love

Код:
local Subterfuge, _, stficon = GetSpellInfo(108208) local SLICE, _, sndicon = GetSpellInfo(5171)
local stf = CreateFrame('frame', 'stf', PlayerFrame) stf:SetPoint("TOP", 30, 10) stf:SetSize(26,26) stf.c = CreateFrame("Cooldown", "stfc", stf) stf.c:SetAllPoints()
stf.t = stf:CreateTexture(nil, 'BORDER') stf.t:SetAllPoints() stf.t:SetTexture(stficon) stf:Hide()
local snd = CreateFrame('frame', 'snd', PlayerFrame) snd:SetPoint("LEFT", stf, "RIGHT", 1, 0) snd:SetSize(26,26) snd.c = CreateFrame("Cooldown", "sndc", snd) snd.c:SetAllPoints()
snd.t = snd:CreateTexture(nil, 'BORDER') snd.t:SetAllPoints() snd.t:SetTexture(sndicon) snd:Hide()
local f = CreateFrame("Frame") f:RegisterEvent("UNIT_AURA") f:SetScript("OnEvent", function(self, event, ...)
    local unit = ... local sfound, rfound = false, false
    if event == "UNIT_AURA" and unit=='player' then
        for i = 1, 40 do
            local name, _, _, _, _, d, x = UnitBuff("player", i)
            if not name then break end
            if name == Subterfuge then
                stf:Show() stf.c:SetCooldown(x - d - 0.5, d) rfound = true
            elseif name == SLICE then
                snd:Show() snd.c:SetCooldown(x - d - 0.5, d) sfound = true
            end
            if not sfound then snd:Hide() end if not rfound then stf:Hide() end            
        end
    end
end)
Код:
local size = 26
local spells = {73651, 5171} -- нужные баффы
local spellsDB = {}
for _,s in pairs(spells) do
    spellsDB[s] = CreateFrame("frame", nil, PlayerFrame)
    spellsDB[s]:SetSize(size, size)
    spellsDB[s].c = CreateFrame("Cooldown", nil, spellsDB[s])
    spellsDB[s].c:SetAllPoints()
    spellsDB[s].t = spellsDB[s]:CreateTexture(nil, 'BORDER')
    spellsDB[s].t:SetAllPoints()
    spellsDB[s].t:SetTexture(select(3, GetSpellInfo(s)))
    spellsDB[s]:Hide()
end

local f = CreateFrame("Frame") f:RegisterEvent("UNIT_AURA")
f:SetScript("OnEvent", function(self, event, ...)
    local unit = ...
    local sfound, rfound = false, false
    if event == "UNIT_AURA" and unit=='player' then
        local index = 0
        for _,s in pairs(spells) do spellsDB[s]:Hide() end
        for i = 1, 40 do
            local n, _, _, _, _, d, x, _, _, _, spellID = UnitBuff("player", i)
            if not n then break end
            if spellsDB[spellID] then
                if index == 0 then spellsDB[spellID]:SetPoint("TOP", 30, 10) else spellsDB[spellID]:SetPoint("TOP", 30+index*size, 10) end
                spellsDB[spellID]:Show() spellsDB[spellID].c:SetCooldown(x - d - 0.5, d) index = index + 1
            end
        end
    end
end)

Sinister писал(а):

Fernir писал(а):

Благодаря Xelly я разобрался в роговских стенсах, засим - шд, ваниш, стелс скрипт для баров

 

 

Спс, но в мутилейт спеке при юзе ваниша остается но стелс панель.

Код:
local shadowdancebar = 2 -- внимание! это номер панели для шд
local f = CreateFrame('frame', 'myownstatedriver', UIParent, 'SecureHandlerStateTemplate')
for i=1,12 do f:SetFrameRef('ActionButton'..i, _G['ActionButton'..i]) end
f:Execute([[ buttons = table.new() for i = 1, 12 do table.insert(buttons, self:GetFrameRef('ActionButton'..i)) end ]])
f:SetAttribute('_onstate-page', [[  for i, button in ipairs(buttons) do button:SetAttribute('actionpage', tonumber(newstate)) end ]])
local getBar = function()
    local class, spec = select(2, UnitClass('player')), GetSpecialization()
    local pages = {
        ['DRUID'] = '[bonusbar:1,nostealth] 7; [bonusbar:1,stealth] 8; [bonusbar:2] 8; [bonusbar:3] 9; [bonusbar:4] 10;',        
        ['WARRIOR'] = '[bonusbar:1] 7; [bonusbar:2] 8; [bonusbar:3] 9;',
        ['PRIEST'] = '[bonusbar:1] 7;',
        ['ROGUE'] = '[form:1][form:'..(spec==3 and 3 or 2)..',stealth] 7; [form:'..(spec==3 and 3 or 2)..',nostealth]'..shadowdancebar..';',
        ['WARLOCK'] = '[form:2] 10;',
        ['MONK'] = '[form:1] '..(spec == 1 and 8 or spec == 2 and 9 or spec == 3 and 7 or 9)..'; [form:2] 7;',
        ['DEFAULT'] = '[vehicleui] 12; [bar:2] 2; [bar:3] 3; [bar:4] 4; [bar:5] 5; [bar:6] 6;',
    }
    local condition, page = pages['DEFAULT'], pages[class]
    if page then condition = condition..' '..page end
    condition = condition..' 1'
    return condition
end
RegisterStateDriver(f, 'page', getBar())



20 сен 2012, 09:00
Профиль

0
Сообщение Скрипты Neilyo и не только

wit4er писал(а):

Disperze писал(а):

собственно как сделать отображение определенных баров только по маусоверу? с комбатом то ясно, а с маусовером этот скрипт не работает.

Код:
--MultiBarRight/MultiBarLeft on Mouseover

MultiBarRight:SetAlpha(0)
MultiBarRight:EnableMouse(true)
MultiBarRight:SetScript("OnEnter",function(self)MultiBarRight:SetAlpha(1)end)
MultiBarRight:SetScript("OnLeave",function(self)MultiBarRight:SetAlpha(0)end)
MultiBarRight:SetFrameLevel(0)

for i =1,12 do
    _G["MultiBarRightButton"..i]:HookScript("OnEnter",function(self)MultiBarRight:SetAlpha(1)end)
    _G["MultiBarRightButton"..i]:HookScript("OnLeave",function(self)MultiBarRight:SetAlpha(0)end)
end;
 
MultiBarLeft:SetAlpha(1)
MultiBarLeft:EnableMouse(true)
MultiBarLeft:SetScript("OnEnter",function(self)MultiBarRight:SetAlpha(1)end)
MultiBarLeft:SetScript("OnLeave",function(self)MultiBarRight:SetAlpha(0)end)
MultiBarLeft:SetFrameLevel(0)

for i =1,12 do
    _G["MultiBarLeftButton"..i]:HookScript("OnEnter",function(self)MultiBarRight:SetAlpha(1)end)
    _G["MultiBarLeftButton"..i]:HookScript("OnLeave",function(self)MultiBarRight:SetAlpha(0)end)
end;

Кстати IboUI обновился, там есть интеерсные скрипты.

http://www.arenajunkies.com/topic/11575-post-your-ui/page__st__2880#entry3773919

 

А как изменить данный код, чтобы можно было применть к миникарте? Замена MultiBarRight на Minimap не дает ожидаемого результат.

 



20 сен 2012, 10:21
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru