Модератор форума: staford11  
Использование Lua скриптов.
staford11
^s†af0rd f0rever^

Код
/run if (not UnitBuff("target", "омоложение", nil, "PLAYER")) and ((UnitHealth("target")/UnitHealthMax("target"))<1) then CastSpellByName("омоложение") end
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 1951 написано 21.10.2016 в 17:28
snutz
Скаут
для 3.3.5 подойдет?
Сообщение # 1952 написано 21.10.2016 в 19:44
Omaygad
Скаут
Цитата RUSisakov ()
Господа скритеры можно ли добавить в этот скрипт  ещо и проверку на хп ?тоесть грубо говоря если у цели 100% хп он не вешал омоложение
/run if not UnitBuff("target", "омоложение", nil, "PLAYER") then CastSpellByName("омоложение") end
А что делает данный скрипт ?

Добавлено (21.10.2016, 20:33)
---------------------------------------------
Ап плз нужен хелп знатоков
Всем привет помогите с данным скриптом , всё отлично работает но есть одно но , принцип работы его таков если я не держу в таргете  не кого он срабатывает если держу вражескую цель тоже срабатывает , но если я держу допустим себя или напарника в таргете либо другую дружественную цель он не срабатывает , так вот хотелось бы что бы срабатывал ) выручайте ребята с меня плюсики вот сам скрипт .
Antifear = CreateFrame("Frame", "Antifear", UIParent);
Antifear:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED");
Antifear:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_SPELLCAST_SUCCEEDED") then
if arg2==("Ослепление") then
SpellStopCasting()
RunMacroText("/cast Слово Тьмы: Смерть")
end
end
end)

Сообщение # 1953 написано 21.10.2016 в 20:33
RUSisakov
Скаут
staford11,  спасибо) а указать количество не хватающиго хп цели пири котором будет кастится омоложения  можно? в этом макросе
/run if (not UnitBuff("target", "омоложение", nil, "PLAYER")) and ((UnitHealth("target")/UnitHealthMax("target"))<1) then CastSpellByName("омоложение") end
Сообщение # 1954 отредактировано RUSisakov - Суббота, 22.10.2016, 08:26
staford11
^s†af0rd f0rever^
Цитата RUSisakov ()
спасибо) а указать количество не хватающиго хп цели пири котором будет кастится омоложения  можно? в этом макросе
RUSisakov, вот два варианта - в первом указываем недостающее хп в процентах, во втором конкретное число.

Код
/run if (not UnitBuff("target", "омоложение", nil, "PLAYER")) and ((100-(UnitHealth("target")/UnitHealthMax("target")*100))>процент) then CastSpellByName("омоложение") end

Код
/run if (not UnitBuff("target", "омоложение", nil, "PLAYER")) and ((UnitHealthMax("target")-UnitHealth("target"))>количество) then CastSpellByName("омоложение") end
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 1955 написано 22.10.2016 в 12:23
toplok91
Скаут
Здравствуйте нужен скрипт на дк , который будет кидать оковы в рогу прожавшего КоШ. Есть ли такой?
И можно ли любой скрипт дописать так, чтобы он работал и в таргет и в фокус, в приоритете расстояние будет, т.е. сработает в того, кто ближе
Сообщение # 1956 написано 23.10.2016 в 16:04
extrimlol
Капрал
Подскажите по скрипту для пкр. хочу модифицировать кик. чтобы кикало когда у игрока менее 70% хп для примера 
 
Код
if Spell2 == ("Исповедь") then 
  local finish2 = endTime2/1000 - GetTime()
                      if finish2 <= 0.8 then
if 100 * UnitHealth("target") / UnitHealthMax("target") < 70
then
return true
end
end
end
 if Spell2 == ("Исповедь") then 
  local finish2 = endTime2/1000 - GetTime()
                      if finish2 <= 0.8 then
if 100 * UnitHealth("focus") / UnitHealthMax("focus") < 70
then
return true
end
end
end


но я тут подумал. вдруг будет ситуация,  когда я свичнусь в свой же фокус, и он у меня будет таргетом, а фокус я еще не успею поменять. нужно как то обозначить арена таргеты. Например как в макросе party1, а тут наоборот arena 1  кпрмиеру, как же это сделать? И не будет ли из-за бага с фреймами на циркуле( когда, кто-то смотрит арену, появляется еще 1 фрейм с 1 хп) глючить...
Сообщение # 1957 написано 25.10.2016 в 00:06
Nicebroo
Скаут
Код
function Mucks(self, elapsed)
if UnitDebuff("player","Паралич") or UnitDebuff("player","Страх") or UnitDebuff("player","Ментальный крик") or UnitDebuff("player","Покаяние") or UnitDebuff("player","Устрашающий крик")  then                    
                    local enabled = GetSpellCooldown("Ярость берсерка")                    
                    if enabled == 0 then                    
                     RunMacroText("/use Ярость берсерка")                    
                    end                    
end                        
end                    
CreateFrame("Frame", "MucksFrame")
MucksFrame:SetScript("OnUpdate", Mucks)

Почему не работают? в чем ошибка? 
Код
function Destroy(self, elapsed)
                    local enabled = GetSpellCooldown("Казнь")
                    local rage = UnitPower("player")                    
                    local inRange = IsSpellInRange("Казнь", "target")                    
                    if UnitBuff("player","Внезапная смерть") then                    
                     if enabled == 0 and inRange == 1 and rage >= 15 then                    
                      RunMacroText("/cast Казнь")                    
                     end                    
                    end                    
end                    
CreateFrame("Frame", "DestroyFrame")
DestroyFrame:SetScript("OnUpdate", Destroy)
Сообщение # 1958 написано 27.10.2016 в 17:34
dearus
Скаут
Ребят, если есть тут кто живой - помогите, пожалуйста.
В скриптах почти полный ноль - думал с шапки поста всего хватит, но не тут-то было. Подскажите как писать скрипты для рун? Подробный пример: Захотел я юзнуть амз, но анхоли руна в кулдауне. Как, черт возьми, написать, чтоб персонаж юзал тэп, если нужная руна в кулдауне? Или же такого не предусмотрено и все придется делать ручками?
Сообщение # 1959 написано 30.10.2016 в 06:15
sanfishman22
Капрал
Цитата sanfishman22 ()
Ребят а как сюда добавить проверку на расстояние 40 метров и если цель допустим находится за колонной?


Код
/run for r=0,24 do GetNumRaidMembers(); if <br / <img src="/.s/sm/1/angry.gif" border="0" align="absmiddle" alt="angry" /> UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and
IsSpellInRange("Слово силы: Щит", "raid"..r) and (not
UnitBuff("raid"..r, "Слово силы: Щит")) and (not UnitDebuff("raid"..r,
"Ослабленная душа")) then CastSpellByName("Слово силы: Щит","raid"..r)
end end if (UnitHealth("player")/UnitHealthMax("player")) <=1 and
IsSpellInRange("Слово силы: Щит", "player") and (not
UnitBuff("player","Слово силы: Щит")) and (not UnitDebuff("player",
"Ослабленная душа")) then CastSpellByName("Слово силы: Щит","player")
end
Вобщем решение проблемы с разных источников не нашлось, хелп.
Сообщение # 1960 написано 30.10.2016 в 14:07
LegendeR
Скаут
Админы на цикрле вместо того чтоб абилки чинить,автокик сломали.функция какая то ни робит(вроде UnitCastingInfo).Кто сможет обойти и поправит чтоб робило?Вот эти скрипты не робят:
function Kick(self, elapsed)
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
local enabled = GetSpellCooldown("Заморозка разума")
local inRange = IsSpellInRange("Заморозка разума", "target")
if spell then
if interrupt == false and enabled == 0 and inRange == 1 then
local finish = endTime/1000 - GetTime()
if finish <= 0.6 then
RunMacroText("/cast Заморозка разума")
end
end
====================================================================================================================================
/run if GetSpellCooldown("Заморозка разума")==0 and IsSpellInRange("Заморозка разума","target") and (UnitCastingInfo("target") or UnitChannelInfo("target")) and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) then RunMacroTex("/cast Заморозка разума") end
Сообщение # 1961 отредактировано LegendeR - Вторник, 01.11.2016, 16:26
Omaygad
Скаут
Помогите с данным скриптом , работает он нормально , но есть одно очень серьёзное  но ! Допустим если я держу в таргете врага который будет кидать блайнд он швд даёт , если я вообще не держу в таргетах не кого он швд даёт , но если я держу либо себя либо напарника в таргете либо другую цель он не срабатывает , выручайте ребята плюсики с меня будут . p/s заранее спасибо !

Код
Antifear = CreateFrame("Frame", "Antifear", UIParent);
Antifear:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED");
Antifear:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_SPELLCAST_SUCCEEDED") then
    if arg2==("Ослепление") then 
    SpellStopCasting()
          RunMacroText("/cast Слово Тьмы: Смерть")     
      end          
end
end)
Сообщение # 1962 отредактировано Omaygad - Среда, 02.11.2016, 08:21
LegendeR
Скаут
У меня у одного скрипты с автокиком перестали работать вчера?(Ювов,циркл)Код правильный-ошибок нет ну не работает функция,другие все скрипты работают.Сервера или клиент?
Сообщение # 1963 отредактировано LegendeR - Среда, 02.11.2016, 12:31
rfdead
Капрал
У меня работают, но тоже через раз почему то, кто подскажет аналог BindPad или работающего на цокле аддона ?

Добавлено (03.11.2016, 07:27)
---------------------------------------------

Цитата sanfishman22 ()
Nameкак написал такой здаровый макрос на р дру ?? и какой у тебя сервер так как на цокле не работают не СДМ не БП
Обитаю тут https://vk.com/headik или тут https://vk.com/pqrwowlk
Имеется множество PQR Профилей, или займусь написанием профиля именно под вас
Сообщение # 1964 написано 03.11.2016 в 07:27
LegendeR
Скаут
Цитата rfdead ()
кто подскажет аналог BindPad или работающего на цокле аддона ?

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

Добавлено (03.11.2016, 14:10)
---------------------------------------------

Цитата Nicebroo ()
function Mucks(self, elapsed)
if UnitDebuff("player","Паралич") or UnitDebuff("player","Страх") or UnitDebuff("player","Ментальный крик") or UnitDebuff("player","Покаяние") or UnitDebuff("player","Устрашающий крик")  then
local enabled = GetSpellCooldown("Ярость берсерка")
if enabled == 0 then
RunMacroText("/use Ярость берсерка")
end
end
end
CreateFrame("Frame", "MucksFrame")
MucksFrame:SetScript("OnUpdate", Mucks)

Почему не работают? в чем ошибка?
 

Пробуй так:

function Mucks(self)
enabled = GetSpellCooldown("Ярость берсерка")
if UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл")then
CastSpellByName("Ярость берсерка")
end
end
CreateFrame("Frame", "MucksFrame")
MucksFrame:SetScript("OnUpdate", Mucks)
Сообщение # 1965 отредактировано LegendeR - Четверг, 03.11.2016, 14:13
forestkast
Скаут
Кто может сделать скрипт на шок у шамана, чтобы шок срабатывал только на превращение мага?
Сообщение # 1966 написано 03.11.2016 в 15:15
rfdead
Капрал
if select(7,UnitDebuff("target",GetSpellInfo(IDДебафа))) - GetTime() == 777 --Указывать на какой секунде дебафа использовать 
     or select(7,UnitDebuff("target",GetSpellInfo(IDДебафа))) - GetTime() == 777 --Указывать на какой секунде дебафа использовать 
      then    
    RunMacroText("/use Медальон орды")   
       end
непоможет ? только вместо медальона например таже твоя всепоражающая чума!

Добавлено (03.11.2016, 16:58)
---------------------------------------------
Скиньте пожалуйста хоть ссылочки на модифицированные под цокл  3,3,5 биндпад и сдм кому не сложно сюда или в личку, буду признателен

Добавлено (03.11.2016, 17:04)
---------------------------------------------
function Reflekt(self, elapsed)     
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")      
local name = UnitName("targettarget") 
local myname = UnitName("player") 
     if spell == "Превращение" then                
      if name == myname then 
       local finish = endTime/1000 - GetTime()     
       if finish <= 0.6 then     
        CastSpellByID(5562)    -- ид шока  
       end 
      end 
     end                       
end                
CreateFrame("Frame", "ReflektFrame")     
ReflektFrame:SetScript("OnUpdate", Reflekt)

Будет кастить шок когда до конца каста превращения останется 0.8 сек чтоб не фейкнуть

Добавлено (03.11.2016, 17:16)
---------------------------------------------
Пожалуйса скиньте ссылки или сами аддоны что бы работали на цокле такие как СДМ  или Bindpad  за ранее благодарен

Добавлено (03.11.2016, 20:08)
---------------------------------------------
Интересует реализация макроса - скрипта на вара
Если в боевой стойке и есть 10+ раги и зуботычина не на кд то -- переходит в стойку берса, кастует зуботычину,и переходит обратно в боевую стойку, подскажет кто нибудь???
просто не когда не работал со стойками )

Сообщение # 1967 написано 03.11.2016 в 20:08
RUSisakov
Скаут
ребят а как отслеживать стаки дэбафов\бафов ? 
и ещо хочу узнать можно-ли  малитву востоновления отслеживать на всём рэйде дапустем если висит на ком-то и3 участников рэйда мая малитва востоновления чтоб она не каставалась)
только скрипты по типу /run /skript
и как в бинтпаде с одного скрипта чтоб переходил на другой скриптмакрос
Сообщение # 1968 отредактировано RUSisakov - Пятница, 04.11.2016, 03:33
ganus1993
Сержант
Цитата
ребят а как отслеживать стаки дэбафов\бафов ?
 Например так

Код
/run local c=({UnitBuff("player","Оружие водоворота")})[4] if c~=nil and c==5 then CastSpellByName("Молния") end
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1969 написано 04.11.2016 в 20:44
Roxritex
Скаут
Пассны,подскажите что приписать чтоб скрипт реагировал не только по таргету но и по фокусу одновременно
Сообщение # 1970 написано 07.11.2016 в 12:22
Nicebroo
Скаут
Цитата LegendeR ()
Пробуй так:function Mucks(self)
enabled = GetSpellCooldown("Ярость берсерка")
if UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл") or UnitDebuff("player","закл")then
CastSpellByName("Ярость берсерка")
end
end
CreateFrame("Frame", "MucksFrame")
MucksFrame:SetScript("OnUpdate", Mucks)
Не робит sad
Сообщение # 1971 написано 10.11.2016 в 17:05
LegendeR
Скаут
Он рабочий,у меня стоит.Твой тоже вроде без ошибок был,я по крайней мере их не увидел.
Сообщение # 1972 написано 11.11.2016 в 21:28
Midvay3
Скаут
Псс, Гайз скиньте плез рабочий СДМ и луа анлокер дл9 3.3.5а (Вовкиркл) С мен9 +
Перекачал все возможные версии, не роб9т
И какова веро9тность быть забаненым ?
Сообщение # 1973 отредактировано Midvay3 - Воскресенье, 13.11.2016, 12:26
sanfishman22
Капрал
Цитата sanfishman22 ()
Ребят а как сюда добавить проверку на расстояние 40 метров и если цель допустим находится за колонной?

Код
/run for r=0,24 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and IsSpellInRange("Слово силы: Щит", "raid"..r) and (not UnitBuff("raid"..r, "Слово силы: Щит")) and (not UnitDebuff("raid"..r, "Ослабленная душа")) then CastSpellByName("Слово силы: Щит","raid"..r) end end if (UnitHealth("player")/UnitHealthMax("player")) <=1 and IsSpellInRange("Слово силы: Щит", "player") and (not UnitBuff("player","Слово силы: Щит")) and (not UnitDebuff("player", "Ослабленная душа")) then CastSpellByName("Слово силы: Щит","player") end

Уже нервы на пределе, всё что можно пробую не могу добиться результатов. Нужна помощь
Сообщение # 1974 написано 16.11.2016 в 00:19
ganus1993
Сержант
Цитата sanfishman22 ()
Ребят а как сюда добавить проверку на расстояние 40 метров
В макросе проверка есть

Код
IsSpellInRange("Слово силы: Щит", "raid"..r)
 
Цитата sanfishman22 ()
если цель допустим находится за колонной?
В ивентах есть такая реализация, более сложно
Цитата sanfishman22 ()
Нужна помощь
У тебя макрос закливается и не переходит к след. рейд номеру. Добавляем такую конструкцию 
Код
else r=r+1

Вот пример для холика

Код
/run for r=1,40 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and UnitInRange("raid"..r)==1 and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (not UnitBuff("raid"..r, "Обновление",nil,"PLAYER")) then CastSpellByName("Обновление","raid"..r) else r=r+1 end end
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1975 отредактировано ganus1993 - Пятница, 18.11.2016, 12:48
sanfishman22
Капрал
ganus1993 вобщем вот так?

Код
/run if (UnitHealth("player")/UnitHealthMax("player")) <=1 and IsSpellInRange("Слово силы: Щит", "player") and (not UnitBuff("player","Слово силы: Щит")) and (not UnitDebuff("player", "Ослабленная душа")) then CastSpellByName("Слово силы: Щит","player") end
/run for r=0,24 do GetNumRaidMembers(); if (UnitHealth("raid"..r)/UnitHealthMax("raid"..r)) <=1 and UnitInRange("raid"..r)==1 and UnitExists("raid"..r) and UnitIsDeadOrGhost("raid"..r)~=1 and (not UnitBuff("raid"..r, "Слово силы: Щит")) and (not UnitDebuff("raid"..r, "Ослабленная душа")) then CastSpellByName("Слово силы: Щит","raid"..r) else r=r+1 end end

он не будет зацикливаться на цели если она вне ренжа? ну вобщем пробну завтра уже, в первой строке на себя щит
Сообщение # 1976 отредактировано sanfishman22 - Четверг, 24.11.2016, 23:34
ganus1993
Сержант
Цитата sanfishman22 ()
он не будет зацикливаться на цели если она вне ренжа? ну вобщем пробну завтра уже, в первой строке на себя щит

Пользуюсь аналогичным макросом друидом,палом,пристом раскидывать хоты и бафы по рейду, не циклиться. Тоже в свое время поломал голову чтобы исправить wink
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1977 написано 25.11.2016 в 08:10
VatDeekeiSon
Скаут
Может кто кинуть ссылку на рабочий унлокер 3.3.5? У меня какой то странный, то работает, то не работает.
Сообщение # 1978 написано 26.11.2016 в 14:00
sanfishman22
Капрал


ganus1993, ну вроде работает, теперь не циклиться на недосягаемой цели, ещё есть идея сделать что бы приоритет на конкретные слоты групп рейда. Работа время отнимает, даже некогда у компа посидеть)
Сообщение # 1979 написано 26.11.2016 в 23:29
PaulDousen
Рыцарь
Код
local losframe = CreateFrame("Frame")
local lostable = {}
local function LineOfSight(target)
losframe:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
function LOSFRAMEOnEvent(self,event,...)
if event=="COMBAT_LOG_EVENT_UNFILTERED" then
local _, subEvent, _, sourceGUID, _, _, _, _, _, _, _, _, _, _, spellFailed  = ...
   if subEvent == "SPELL_CAST_FAILED" and sourceGUID == UnitGUID("player") then
      if spellFailed == SPELL_FAILED_LINE_OF_SIGHT               
      then                  
         lostable [target]= {t = GetTime() + 1.5}      
      end
   end
end
end
losframe:SetScript("OnEvent",LOSFRAMEOnEvent)
if lostable [target]then
   if lostable[target].t <= GetTime() then
      lostable [target]= nil
      return true
   end
   return false
else
   return true
end
end


Функция проверки лоса, уже не первый раз кидаю, но почему-то все просят каждый раз
Сообщение # 1980 написано 29.11.2016 в 00:33
Поиск: