Модератор форума: staford11  
Использование Lua скриптов.
Punisher45
Капрал
Цитата Kieg ()
У тебя всегда такие скрипты?


А я должен все сам сделать?
Сообщение # 1921 написано 13.09.2016 в 13:24
Kieg
Сержант
Цитата Punisher45 ()
А я должен все сам сделать?


Ну ето уже твое решение. Но смысл писать бред?
Сообщение # 1922 написано 13.09.2016 в 13:33
Punisher45
Капрал
Цитата Kieg ()
Но смысл писать бред?
 Это ты уже у себя спроси, умник  biggrin

Можешь написать не бред, пожалуйста, правда я ни одной строки кода не вижу с твоей стороны, почему - то)))00
Ну я думаю, ты понял, куда тебе пойти
Сообщение # 1923 написано 13.09.2016 в 13:37
sanfishman22
Капрал
Цитата Punisher45 ()
Вот тебе затравочка, ничего не проверял, если что, сам потестишь и исправишь

вобщем поковырявшись к толковому ничему не привело, итог таков
Код
function FuryRotation(self,elapsed)

if (not UnitDebuff("target", "Лунный огонь", nil, "PLAYER")) then CastSpellByName("Лунный огонь") elseif (not UnitDebuff("target", "Рой насекомых", nil, "PLAYER")) then CastSpellByName("Рой насекомых") elseif GetSpellCooldown("Звездопад") == 0 and UnitDebuff("target", "Лунный огонь") then CastSpellByName("Звездопад") elseif GetSpellCooldown("Гнев") == 0 and UnitDebuff("target", "Рой насекомых") and GetSpellCooldown("Звездопад") > 0 and UnitBuff("player", "Солнечное затмение") then CastSpellByName("Гнев") elseif UnitBuff("player", "Лунное затмение") then CastSpellByName("Звездный огонь")
end

if UnitPower("player" , 8) == 0 then
RunMacroText("/castrandom Гнев, звездный огонь")
end

end

if not FuryRotationFrame then
CreateFrame("Frame", "FuryRotationFrame")
FuryRotationFrame:SetScript("OnUpdate", FuryRotation)
end


спамит рандом спелл, но не всегда прокатывает, как бы отследить кд затмений, что бы кастовался потом определенный спелл, но затмения как их отследить я хз, у них то внутреннее кд как я понимаю? пока убери каст рандом спелла, надо поискать решение проблемы
Сообщение # 1924 отредактировано sanfishman22 - Вторник, 13.09.2016, 15:11
Punisher45
Капрал
Цитата sanfishman22 ()
у них то внутреннее кд как я понимаю?


Играю на кате, понятия не имею о чем ты

Добавлено (13.09.2016, 16:44)
---------------------------------------------

Цитата sanfishman22 ()
к толковому ничему не привело

Поковырялся я некоторое время, и сделал ротацию, но я понятия не имею на каком ты патче играешь, на кате работает нормально (с кастерами оказывается столько геморроя)

Код
function MRotate(self,elapsed)
UP = UnitPower
UB = UnitBuff
UDB = UnitDebuff
UCI = UnitCastingInfo
GSC = GetSpellCooldown
if not UDB("target", "Лунный огонь") and not UDB("target", "Солнечный огонь") and GSC("Лунный Огонь") == 0 and not UCI("player") then
CastSpellByName("Лунный огонь") 
elseif not UDB("target", "Рой насекомых") and GSC("Рой насекомых") == 0 and not UCI("player") then 
CastSpellByName("Рой насекомых") 
elseif GSC("Звездопад") == 0 then 
CastSpellByName("Звездопад")
elseif UB("player","Падающие звезды") and GSC("Звездный поток") == 0 then
if UCI("player") then SpellStopCasting() end
CastSpellByName("Звездный поток")
end
if UDB("target", "Лунный огонь") and UDB("target", "Рой насекомых") or UDB("target", "Солнечный огонь") and UDB("target", "Рой насекомых")  then
if UP("player", 8) == 0 and not UCI("player") and GSC("Лунный Огонь") == 0 then
CastSpellByName("Лунный огонь")
elseif UP("player", 8) > 0 and not UB("player","Солнечное затмение") and not UCI("player") and GSC("Лунный Огонь") == 0 then
CastSpellByName("Звездный огонь")
elseif UP("player", 8) ~= 0 and UB("player","Солнечное затмение") and not UCI("player") and GSC("Лунный Огонь") == 0 then
CastSpellByName("Гнев")
elseif UP("player", 8) < 0 and not UB("player","Лунное затмение") and not UCI("player") and GSC("Лунный Огонь") == 0 then
CastSpellByName("Гнев")
elseif UP("player", 8) ~= 0 and UB("player","Лунное затмение") and not UCI("player") and GSC("Лунный Огонь") == 0 then
CastSpellByName("Звездный огонь")
elseif UP("player", 8) == 100 and UCI("player") == "Звездный огонь" then SpellStopCasting()
elseif UP("player", 8) == -100 and UCI("player") == "Гнев" then SpellStopCasting()
end
end
end
if not MRotateFrame then 
CreateFrame("Frame", "MRotateFrame") 
MRotateFrame:SetScript("OnUpdate", MRotate) 
end
Сообщение # 1925 написано 13.09.2016 в 16:44
sanfishman22
Капрал
Цитата Punisher45 ()
Поковырялся я некоторое время, и сделал ротацию, но я понятия не имею на каком ты патче играешь

на личе сижу, пытаюсь твой переделать. Пока не успешно) Удаляю катовские скиллы, зацикливается на лунном огне.
Сообщение # 1926 отредактировано sanfishman22 - Вторник, 13.09.2016, 21:14
Punisher45
Капрал
Цитата sanfishman22 ()
на личе сижу

Не играл на личе, понятия не имею что там за талы и скилы у сов, сорян, так бы норм написал
Сообщение # 1927 написано 13.09.2016 в 21:59
sanfishman22
Капрал
а на счёт ШП, окончательный вариант
Код
/run local n,_,_,_,_,_,x = UnitDebuff("target","Прикосновение вампира") if not UnitDebuff("target", "Прикосновение вампира", nil, "PLAYER") then RunMacroText("/castsequence reset=2 Прикосновение вампира") end if UnitDebuff("target","Прикосновение вампира") and -1*(GetTime()-x) <= 1.05 then RunMacroText("/castsequence reset=2 Прикосновение вампира") end
/run if not UnitDebuff("target", "Всепожирающая чума", nil, "PLAYER") then CastSpellByName("Всепожирающая чума","target") end  if UnitDebuff("target", "Прикосновение вампира") and UnitDebuff("target", "Всепожирающая чума") then RunMacroText("/cast [nochanneling:Пытка разума] Пытка разума") end

вроде не кастует 2 раза, но ещё буду тестить, пока времени нет
Сообщение # 1928 написано 14.09.2016 в 00:12
chaosway
Рыцарь
spamcik, пет будет прыгать в трапу только на ат, на остальных пиратках это невозможно из за того что это пиратки и они не работают... Мор легко сделать, палить рогу по аое невозможно, так как в логе не пишется то, что в инвизе
Сообщение # 1929 написано 14.09.2016 в 22:42
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
Сообщение # 1930 написано 16.09.2016 в 22:34
Kieg
Сержант
Цитата Punisher45 ()
я ни одной строки кода не вижу с твоей стороны

Поищи раньше, что мог то и кидал.
Сообщение # 1931 написано 18.09.2016 в 01:16
chaosway
Рыцарь
Не понимаю что тут за сборище отстающих? За первые 30 страниц расписаны и разжеваны абсолютно все виды скриптов, осталось только вписать туда свои спеллы и танцевать... Но еще 30 страниц наполнены повторным пережевыванием... Теперь снова всё повторяется
Сообщение # 1932 написано 18.09.2016 в 02:15
LegendeR
Скаут
Ребят помогите написать скрипт на авто мор у дк, хрен знает как реализовать,нужен шарющий красавчик..
Сообщение # 1933 отредактировано LegendeR - Среда, 21.09.2016, 22:26
Kieg
Сержант
Цитата LegendeR ()
Ребят помогите написать скрипт на авто мор у дк, хрен знает как реализовать,нужен шарющий красавчик..

Я так понимаю чтоб обновлял дот?
Сообщение # 1934 написано 22.09.2016 в 10:44
LegendeR
Скаут
Да,совершенно верно.Чтоб как в pqr пару секунд до конца окончания их.Или можно задать параметры макросы чтоб <40 % окончания то обновляет болезни > то бьёт кровавым ударом.

Добавлено (25.09.2016, 14:51)
---------------------------------------------
Ап,подскажите хоть как запилить проверку на % кд дебафа (болезни).

Сообщение # 1935 отредактировано LegendeR - Четверг, 22.09.2016, 14:53
summerhaze
Скаут
Кукулити!
Существует ли скрипт на /roll, где сролленое число я могу выбрать сам?
Сообщение # 1936 написано 26.09.2016 в 15:04
PaulDousen
Рыцарь
summerhaze, нет
Сообщение # 1937 написано 26.09.2016 в 18:40
LegendeR
Скаут
Цитата Kieg ()
Я так понимаю чтоб обновлял дот?
Что тут не правильно ?
function Avtomor(self)    
local n,_,_,_,_,_,x = UnitDebuff("target", "Черная чума") elseif -1*(GetTime()-x) <= 5 then RunMacroText("/cast Мор") 
   end   
end
CreateFrame("Frame", "AvtomorFrame")   
FvtomorFrame:SetScript("OnUpdate", Avtomor)
Сообщение # 1938 написано 04.10.2016 в 15:40
sess
Скаут
как получить время произнесения потокового спела?

в GetSpellInfo есть параметр CastTime, но для потоковых он равен 0
например, у мага в тултипе  Arcane Missiles написано

Цитата
Launches Arcane Missiles at the enemy, causing __ Arcane damage every __ sec for 4.72 sec
вот эти 4.72 сек - это то, что хотелось бы получить
вариант с UnitCHannelInfo endtime-starttime не подходит, т.к. работает только если абилка уже кастуется
может, есть какие функции на сканирование текста в тултипе?
Сообщение # 1939 отредактировано sess - Четверг, 06.10.2016, 01:04
tobmaps
Капрал
Цитата sess ()
вот эти 4.72 сек - это то, что хотелось бы получить
Не проверял, поэтому не уверен что вернет данные с учетом хасты, но стоит попробовать http://wowprogramming.com/docs/api/GetSpellInfo
оттуда параметр 
Цитата
castingTime - Casting time of the spell in milliseconds (number)
и делишь на заранее известное количество тиков заклинания.
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 1940 написано 06.10.2016 в 06:48
Zandragon2236
Скаут
это законно ?
Сообщение # 1941 написано 14.10.2016 в 19:40
greenapple111
Скаут
есть куски кода, помогите до ума довести
Код
SpellBase = {"Сглаз", "Превращение", "Смерч", "Страх", "Покаяние"}  
SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent);  
SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");  
SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...)  
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then  
     for s = 1,#SpellBase do  
     local name = UnitName("player")  
     if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase

[s]then  
      local enabled = GetSpellCooldown("Тотем заземления")  
      if enabled == 0 then  
       CastSpellByName("Тотем заземления")  
       print(arg1,arg2,...)  
      end  
     end  
     end  
end  
end)



Сообщение # 1942 отредактировано greenapple111 - Четверг, 20.10.2016, 19:20
Omaygad
Скаут
Всем привет помогите с данным скриптом , всё отлично работает но есть одно но , принцип работы его таков если я не держу в таргете  не кого он срабатывает если держу вражескую цель тоже срабатывает , но если я держу допустим себя или напарника в таргете либо другую дружественную цель он не срабатывает , так вот хотелось бы что бы срабатывал ) выручайте ребята с меня плюсики вот сам скрипт .
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)
Сообщение # 1943 отредактировано Omaygad - Пятница, 21.10.2016, 03:47
mdma
Скаут
скиньте скрипты пве-ротации на любые классы (лучше конечно лок, сова, шп) через bindpad на wow cata 4.3.4 (какие у кого имеются, пожалуйста!!!)
Сообщение # 1944 написано 21.10.2016 в 14:52
RUSisakov
Скаут
Господа скритеры можно ли добавить в этот скрипт  ещо и проверку на хп ?
тоесть грубо говоря если у цели 100% хп он не вешал омоложение
/run if not UnitBuff("target", "омоложение", nil, "PLAYER") then CastSpellByName("омоложение") end
Сообщение # 1945 отредактировано RUSisakov - Пятница, 21.10.2016, 16:44
staford11
^s†af0rd f0rever^

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

Исправительные работы: в наличии.
Сообщение # 1946 написано 21.10.2016 в 17:28
snutz
Скаут
для 3.3.5 подойдет?
Сообщение # 1947 написано 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)

Сообщение # 1948 написано 21.10.2016 в 20:33
RUSisakov
Скаут
staford11,  спасибо) а указать количество не хватающиго хп цели пири котором будет кастится омоложения  можно? в этом макросе
/run if (not UnitBuff("target", "омоложение", nil, "PLAYER")) and ((UnitHealth("target")/UnitHealthMax("target"))<1) then CastSpellByName("омоложение") end
Сообщение # 1949 отредактировано 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

Исправительные работы: в наличии.
Сообщение # 1950 написано 22.10.2016 в 12:23
Поиск: