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



<Oùt of Control>


Сервер: Outland
Рейтинг поля боя: 2156
2х2: 2467
3х3: 2833
Сообщение Скрипты Neilyo и не только

Можно ли скриптом "вылечить" шд стенс? Т.е. что бы в шд была не стелс панель а обычная или новая



06 сен 2012, 16:07
Профиль Skype

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

удавка писал(а):

BlackStorm писал(а):

Код:

--Buffs

BuffFrame:ClearAllPoints();BuffFrame:SetPoint("CENTER", PlayerFrame, "CENTER", 0, 0);BuffFrame.SetPoint = function() end
BuffFrame:SetScale(1.0)

--Debuffs
DebuffButton1:ClearAllPoints();DebuffButton1:SetPoint("CENTER", PlayerFrame, "CENTER", 0, 0);DebuffButton1.SetPoint = function() end
DebuffButton1:SetScale(1.0)

На таргет/фокус к сожалению не помню, видел на каком-то буржуйском форуме, если опять обнаружу - закину. (Если никто не напишет офк)

 

 

не работает :( дебаффы так и остались на своем стандартном положении(

 

Держи архивчик, координаты тут мои, так что сам поменяешь.


 

 



06 сен 2012, 16:37
Профиль Skype



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


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

Akrololz писал(а):

Можно ли скриптом "вылечить" шд стенс? Т.е. что бы в шд была не стелс панель а обычная или новая

Код:
local shadowdancebar=7
MainMenuBarArtFrame:Execute([[ buttons = table.new() for i = 1, 12 do table.insert(buttons, self:GetFrameRef('ActionButton'..i)) end ]])
MainMenuBarArtFrame:SetAttribute('_onstate-page', [[  for i, button in ipairs(buttons) do button:SetAttribute('actionpage', tonumber(newstate)) end ]])
RegisterStateDriver(MainMenuBarArtFrame, 'page', 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'] = '[bonusbar:1] 7; [form:3] '..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)
не тестил, может глючить если не выбрана спецуха, номер панели задается для shadowdancebar, на данный момент как и стелс = 7



06 сен 2012, 16:50
Профиль



<Oùt of Control>


Сервер: Outland
Рейтинг поля боя: 2156
2х2: 2467
3х3: 2833
Сообщение Скрипты Neilyo и не только

Fernir писал(а):

Akrololz писал(а):

Можно ли скриптом "вылечить" шд стенс? Т.е. что бы в шд была не стелс панель а обычная или новая

Код:
local shadowdancebar=7
MainMenuBarArtFrame:Execute([[ buttons = table.new() for i = 1, 12 do table.insert(buttons, self:GetFrameRef('ActionButton'..i)) end ]])
MainMenuBarArtFrame:SetAttribute('_onstate-page', [[  for i, button in ipairs(buttons) do button:SetAttribute('actionpage', tonumber(newstate)) end ]])
RegisterStateDriver(MainMenuBarArtFrame, 'page', 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'] = '[bonusbar:1] 7; [form:3] '..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)
не тестил, может глючить если не выбрана спецуха, номер панели задается для shadowdancebar, на данный момент как и стелс = 7

 

Не работает к сожалению = /



06 сен 2012, 18:31
Профиль Skype



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


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

пришел домой и понял, что какой-то бред написал. попозже напишу нормально

upd: нормально

Код:
local shadowdancebar=7
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'] = '[bonusbar:1] 7; [form:3] '..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())
главное задай свое значение для shadowdancebar (в начале кода), сейчас оно равно 7

херасе я навернул Unknow



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

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

Сори если уже было!

 

1. Делаю аддончик по гайду чтобы на стандартных фреймах таргета фокуса и собственном показывало ХП / %

 

использую код:

Код:

FrameList = {"Player", "Target", "Focus"}
function UpdateHealthValues(...)
for i = 1, select("#", unpack(FrameList)) do
local FrameName = (select(i, unpack(FrameList)))
local Health = TextStatusBar_CapDisplayOfNumericValue(UnitHealth(FrameName))
local HealthMax = TextStatusBar_CapDisplayOfNumericValue(UnitHealthMax(FrameName))
local HealthPercent = (UnitHealth(FrameName)/UnitHealthMax(FrameName))*100
_G[FrameName.."FrameHealthBar"].TextString:SetText(Health.."/"..HealthMax.." ("..format("%.0f",HealthPercent).."%)")
end
end
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", UpdateHealthValues)

сыплет ошибками :(

 

2. не могу найти отдельный рабочий код чтобы делал темные бордеры аля Lorti на стандартных фреймах таргета фокуса и собственном + минимапа.

если у кого нить есть поделитесь плз



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



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


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

nesmeshno писал(а):

Сори если уже было!

 

1. Делаю аддончик по гайду чтобы на стандартных фреймах таргета фокуса и собственном показывало ХП / %

 

использую код:

Код:

FrameList = {"Player", "Target", "Focus"}
function UpdateHealthValues(...)
for i = 1, select("#", unpack(FrameList)) do
local FrameName = (select(i, unpack(FrameList)))
local Health = TextStatusBar_CapDisplayOfNumericValue(UnitHealth(FrameName))
local HealthMax = TextStatusBar_CapDisplayOfNumericValue(UnitHealthMax(FrameName))
local HealthPercent = (UnitHealth(FrameName)/UnitHealthMax(FrameName))*100
_G[FrameName.."FrameHealthBar"].TextString:SetText(Health.."/"..HealthMax.." ("..format("%.0f",HealthPercent).."%)")
end
end
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", UpdateHealthValues)

сыплет ошибками :(

 

2. не могу найти отдельный рабочий код чтобы делал темные бордеры аля Lorti на стандартных фреймах таргета фокуса и собственном + минимапа.

если у кого нить есть поделитесь плз

Код:
local fixvalue = function(val)
    if(val >= 1e6) then
        return ('%.2f'..SECOND_NUMBER_CAP):format(val / 1e6):gsub('%.?0+(['..FIRST_NUMBER_CAP..SECOND_NUMBER_CAP..'])$', '%1')
    elseif(val >= 1e4) then
        return ('%.1f'..FIRST_NUMBER_CAP):format(val / 1e3):gsub('%.?0+(['..FIRST_NUMBER_CAP..SECOND_NUMBER_CAP..'])$', '%1')
    else
        return val
    end
end

hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(self)
    for _,v in pairs({"Player", "Target", "Focus"}) do
        _G[v.."FrameHealthBar"].TextString:SetText(format("%s/%s (%.0f)",fixvalue(UnitHealth(v)), fixvalue(UnitHealthMax(v)), (UnitHealth(v)/UnitHealthMax(v))*100))
    end
end)



06 сен 2012, 21:41
Профиль

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

Спасибо :)

немного переделал под формат ХП  /  %

 

Код:

local fixvalue = function(val)
if(val >= 1e6) then
return ('%.0f'..SECOND_NUMBER_CAP):format(val / 1e6):gsub('%.?0+(['..FIRST_NUMBER_CAP..SECOND_NUMBER_CAP..'])$', '%1')
elseif(val >= 1e4) then
return ('%.0f'..FIRST_NUMBER_CAP):format(val / 1e3):gsub('%.?0+(['..FIRST_NUMBER_CAP..SECOND_NUMBER_CAP..'])$', '%1')
else
return val
end
end


hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(self)
for _,v in pairs({"Player", "Target", "Focus"}) do
_G[v.."FrameHealthBar"].TextString:SetText(format("%s / %.0f",fixvalue(UnitHealth(v)), (UnitHealth(v)/UnitHealthMax(v))*100))
end
end)



06 сен 2012, 22:02
Профиль



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


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

вот код на кастрандом (старый, т.е. если спелл не готов - кастуется следущий а не застревает на этом)

для дк (не забываем сохранять файл с кодом в utf-8) спеллы в коде видно.

Код:
local handler = CreateFrame("Button", "MyCastRandHandler", UIParent, "SecureHandlerClickTemplate")
local button = CreateFrame("Button", "mrb", handler, "SecureActionButtonTemplate")
button:SetAttribute("type", "spell")
handler:Execute( [[ castList = newtable("Ледяное прикосновение","Удар чумы","Воющий ветер", "Некротический Удар", "Ледяной удар", "Уничтожение") listSize = #castList secureButton = self:GetChildren() ]])
SecureHandlerWrapScript(button, "OnClick", handler, [[ secureButton:SetAttribute("spell", castList[random(listSize)]) ]])

исправленная версия отдельной шедоуденс панели

Код:
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'] = '[stance:1] 7; [stance:3] '..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())


почитал первый топик - биг дебаффы я подсказал, да много чего еще. писец, все эти скрипты надо чинить



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

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

Если еще кого-то раздражает баг со стандартными арена фреймами, когда при изменении с помощью скрипта/move anything они периодически меняют свою позицию и размер, вот скрипт-лекарство:

 

/run ArenaEnemyFrame1.SetPoint = function() end
/run ArenaEnemyFrame2.SetPoint = function() end
/run ArenaEnemyFrame3.SetPoint = function() end



06 сен 2012, 23:53
Профиль



<Oùt of Control>


Сервер: Outland
Рейтинг поля боя: 2156
2х2: 2467
3х3: 2833
Сообщение Скрипты Neilyo и не только

Спасиб Фернир) по теме ещё нужен скрипт на биг дебафы(тот что выше паладин какой-то оставил не работает к сожалению) и ренж покраснение, ах да и ещё очень хотелось бы чуть подредактировать ХП/% таргета/свои фокуса, если не лень плз уберите сотые значения и поставьте % в скобках, т.е. было 155.4т/155.4т(100) а чтоб было 155т/155т(100%)  Smile  

 



07 сен 2012, 00:27
Профиль Skype



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


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

Akrololz писал(а):

Спасиб Фернир) по теме ещё нужен скрипт на биг дебафы(тот что выше паладин какой-то оставил не работает к сожалению) и ренж покраснение, ах да и ещё очень хотелось бы чуть подредактировать ХП/% таргета/свои фокуса, если не лень плз уберите сотые значения и поставьте % в скобках, т.е. было 155.4т/155.4т(100) а чтоб было 155т/155т(100%)  Smile  

 

на значения
Код:
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(self)
    for _,v in pairs({"Player", "Target", "Focus"}) do
        _G[v.."FrameHealthBar"].TextString:SetText(format("%s/%s (%.0f)",AbbreviateLargeNumbers(UnitHealth(v)), AbbreviateLargeNumbers(UnitHealthMax(v)), (UnitHealth(v)/UnitHealthMax(v))*100))
    end
end)
ауры
Код:
TargetFrame_UpdateAuraPositions = function(self, name, na, noA, lList, uf, maxrW, oX)
    local size
    local large, small = 29, 16
    local oY, rW, fbor = 3, 0, 1
    for i=1, na do
        if lList[i] then size = large oY = 6 else size = small end
        if i==1 then rW = size self.auraRows = self.auraRows + 1 else rW = rW + size + oX end
        if rW > maxrW then uf(self, name, i, noA, fbor, size, oX, oY) rW = size self.auraRows = self.auraRows + 1 fbor = i oY = 3
        else uf(self, name, i, noA, i-1, size, oX, oY) end
    end
end
red range
Код:
hooksecurefunc(getmetatable(_G['ActionButton1HotKey']).__index, 'SetVertexColor', function(self, ...)
    local b = self:GetParent()
    local action = ActionButton_CalculateAction(b)
    local isUsable, notEnoughMana = IsUsableAction(action)
    local icon = _G[b:GetName()..'Icon']
    if icon then
        if (ActionHasRange(action) and IsActionInRange(action) == 0) then
            icon:SetVertexColor(1, 0, 0) return
        elseif (notEnoughMana) then
            icon:SetVertexColor(.2, .2, .2) return
        elseif (isUsable) then
            icon:SetVertexColor(1, 1, 1, 1) return
        else
            icon:SetVertexColor(0.4, 0.4, 0.4, 1) return
        end
    end
end)



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

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

Так и не получается перенести фреймы игрока, таргета, фокуса посредством скриптов. Так намного удобнее тем, у кого несколько персонажей. Способом, написанным в этом топике Витчером, не выходит. Подскажите, пожалуйста.

 

Заодно нужно перенести кастбары таргета и фокуса.

 

Заранее спасибо.



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






Сервер: Свежеватель Душ
2х2: 861
0
Сообщение Скрипты Neilyo и не только

BlackStorm писал(а):

удавка писал(а):

BlackStorm писал(а):

Код:

--Buffs

BuffFrame:ClearAllPoints();BuffFrame:SetPoint("CENTER", PlayerFrame, "CENTER", 0, 0);BuffFrame.SetPoint = function() end
BuffFrame:SetScale(1.0)

--Debuffs
DebuffButton1:ClearAllPoints();DebuffButton1:SetPoint("CENTER", PlayerFrame, "CENTER", 0, 0);DebuffButton1.SetPoint = function() end
DebuffButton1:SetScale(1.0)

На таргет/фокус к сожалению не помню, видел на каком-то буржуйском форуме, если опять обнаружу - закину. (Если никто не напишет офк)

не работает :( дебаффы так и остались на своем стандартном положении(

Держи архивчик, координаты тут мои, так что сам поменяешь.

спасибо) только у меня почему то баффы и дебаффы мои двигаются вместе(( а мне только дебаффы мои надо было передвинуть, пришлось moveanything передвинуть(( а так не хотелось аддоны ставить(



07 сен 2012, 17:17
Профиль



<Oùt of Control>


Сервер: Outland
Рейтинг поля боя: 2156
2х2: 2467
3х3: 2833
Сообщение Скрипты Neilyo и не только

Fernir писал(а):

на значения

Код:
hooksecurefunc("TextStatusBar_UpdateTextStringWithValues", function(self)
    for _,v in pairs({"Player", "Target", "Focus"}) do
        _G[v.."FrameHealthBar"].TextString:SetText(format("%s/%s (%.0f)",AbbreviateLargeNumbers(UnitHealth(v)), AbbreviateLargeNumbers(UnitHealthMax(v)), (UnitHealth(v)/UnitHealthMax(v))*100))
    end
end)

 

а 100% нельзя поставить вместо простых 100?

 

Fernir писал(а):

red range

Код:
hooksecurefunc(getmetatable(_G['ActionButton1HotKey']).__index, 'SetVertexColor', function(self, ...) 
    local b = self:GetParent()
    local action = ActionButton_CalculateAction(b)
    local isUsable, notEnoughMana = IsUsableAction(action)
    local icon = _G[b:GetName()..'Icon']
    if icon then
        if (ActionHasRange(action) and IsActionInRange(action) == 0) then
            icon:SetVertexColor(1, 0, 0) return
        elseif (notEnoughMana) then
            icon:SetVertexColor(.2, .2, .2) return
        elseif (isUsable) then
            icon:SetVertexColor(1, 1, 1, 1) return
        else
            icon:SetVertexColor(0.4, 0.4, 0.4, 1) return
        end
    end
end)

 

Тут ещё кстати какая-то беда, но несовсем важная, некоторые бафы на себя покрываются этой красной зоной иногда почему-то, или чёрной(из-за скрипта на затемнение фреймов) но это не столь важно)



07 сен 2012, 17:59
Профиль Skype

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

есть ли возможность затемнить StanceBar?

пытался и ингейм и через lua

StanceBarFrameTexture:SetVertexColor(0, 0, 0) не работает

как и другие вариации: StanceBarFrame, StanceButton1-3, етс

хотя другие модификации (SetAlpha, SetScale) на него работают

есть идеи?

 



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

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

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



08 сен 2012, 16:13
Профиль

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

Всем привет! У меня такая проблема. Имеется аддон, но в нём несколько неприятных моментов. Может кто сможет помочь их исправить. Проблемы следующие (см скриншот).

 

1) На фреймах цели и фокуса за полосой жизни появляется синяя полоска. Как от неё избавиться?

 

2) Почему-то текст жизни, маны игрока и цели остаются в углу при перетаскивании фреймов в другое место. как сделать так, чтобы текст двигался вместе с фреймми а не стоял на месте?

 

3) Фрейм фокуса всегда находится на одном месте. Если я перетаскиваю фрейм в другое место, то при следующем входе в игру этот фрейм опять встает на своё место. Как сделать так что бы фрейм фокуса сохранялся в том месте где я пожелаю?

 

Прилагаю Вам файлы аддона. Кому не турдно и может посомтрите и скажите где и что исправить. Заранее высказываю благодарность! 



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

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

Подскажите, пожалуйста, как передвинуть каст бары таргета и фокуса? 

 

Вариант:

TargetFrameSpellBar:ClearAllPoints()
TargetFrameSpellBar:SetPoint("CENTER", nil, "CENTER", 230.0, 50.0)

не пашет.



09 сен 2012, 15:48
Профиль



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


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

Код:

  1. hooksecurefunc(FocusFrameSpellBar, "Show", function()
  2.  
  3.         FocusFrameSpellBar:ClearAllPoints()
  4.  
  5.         FocusFrameSpellBar:SetPoint("LEFT", FocusFrame, "LEFT", -190, 5)
  6.  
  7.         FocusFrameSpellBar.SetPoint = function() end
  8.  
  9. end)



09 сен 2012, 15:57
Профиль
Начать новую тему Ответить на тему


Перейти:  

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