Модератор форума: staford11  
Форум » Хитрости Пиратских серверов » Читы для WoW » Использование Lua скриптов.
Использование Lua скриптов.
Kieg
Сержант
Цитата Fqlolxl ()
Может кто подсказать как описать проверку на класс юнита? В плане, воин, шаман, друид и т.п. Покопался в api, ничего кроме неописанных функций не нашел.


http://wowprogramming.com/docs/api/UnitClass
Сообщение # 2371 отредактировано Kieg - Воскресенье, 02.07.2017, 21:08
Rextown
Скаут
Привет всем
Не завалялось ли у кого пвп ротации для армс воина для 5.4.8 (для 2с)
Желательно чтобы в ней не было автокика, авторефлекта и автостана
UPD
И чтобы стойки автоматом не переключались
Сообщение # 2372 отредактировано Rextown - Понедельник, 03.07.2017, 21:26
sixsixsix999
Скаут
Ребята, пишу скрипт на захил для дц, никак не могу придумать как выбирать из v1 юнита с самым низким количеством хп, вот код:


Код
function Penance(self, elapsed)
  local v1, v2, v3, v4
  v1 = { "player", "party1", "party2", "party3", "party4", "raid1", "raid2", "raid3", "raid4", "raid5", "raid6", "raid7", "raid8", "raid9", "raid10", "raid11", "raid12", "raid13", "raid14", "raid15", "raid16", "raid17", "raid18", "raid19", "raid20", "raid21", "raid22", "raid23", "raid24", "raid25", "raid26", "raid27", "raid28", "raid29", "raid30", "raid31", "raid32", "raid33", "raid34", "raid35", "raid36", "raid37", "raid38", "raid39", "raid40" }
  for i = 1, #v1 do
    if UnitHealth(v1[i]) / UnitHealthMax(v1[i]) * 100 <= 90 and UnitHealth(v1[i]) / UnitHealthMax(v1[i]) * 100 >= 50 and UnitExists(v1[i]) and UnitIsDeadOrGhost(v1[i])~=1 and UnitCanAttack("player", v1[i]) == nil and UnitDebuff(v1[i],"Смерч") == nil and IsMounted() == nil and UnitChannelInfo("player")==nil and IsSpellInRange("Исповедь", v1[i]) == 1 and GetSpellCooldown("Исповедь")==0 then
      CastSpellByName("Исповедь", v1[i])
        end
      end
end

CreateFrame("Frame", "PenanceFrame")
PenanceFrame:SetScript("OnUpdate", Penance)

еще в замесах часто падает фпс до 20... в чем может быть проблема и как её устранить? мне кажется, что из-за того что скрипт пытается хилить всех у кого хп меньше 90% и больше 50%, вместо того, что бы выбирать самого просаженного по хп
Примерно по такому же принципу хочу добавить и все остальные хилящие спеллы.
В другой теме по скриптам есть такой способ вычисления самого просаженного юнита в рейде:

Код
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Смерч") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end
Но такой способ мне не подходит, потому что он постоянно меняет таргеты, но я бы хотел что бы захил осуществлялся по фреймам, а не таргетам. Плюсик гарантирую за помощь smile

Добавлено (13.07.2017, 10:58)
---------------------------------------------
путём проб и тестов я выявил, что фпс падает из-за другого скрипта) но просьба научить скрипт выбирать юнит по минимальному кол-ву хп еще актуальна

Добавлено (13.07.2017, 13:13)
---------------------------------------------
вот из-за этого скрипта падает фпс, помогите найти ошибку пожалуйста:

Код
function Dispell2(self, elapsed)
  local v1, v2, v3
  v1 = { "party1", "party2", "party3", "party4", "raid1", "raid2", "raid3", "raid4", "raid5", "raid6", "raid7", "raid8", "raid9", "raid10", "raid11", "raid12", "raid13", "raid14", "raid15", "raid16", "raid17", "raid18", "raid19", "raid20", "raid21", "raid22", "raid23", "raid24", "raid25", "raid26", "raid27", "raid28", "raid29", "raid30", "raid31", "raid32", "raid33", "raid34", "raid35", "raid36", "raid37", "raid38", "raid39", "raid40" }
  v2 = { "target", "arena1", "arena2", "arena3", "arenapet1", "arenapet2", "arenapet3", "party1target", "party2target", "party3target", "party4target", "raid1target", "raid2target", "raid3target", "raid4target", "raid5target", "raid6target", "raid7target", "raid8target", "raid9target", "raid10target", "raid11target", "raid12target", "raid13target", "raid14target", "raid15target", "raid16target", "raid17target", "raid18target", "raid19target", "raid20target", "raid21target", "raid22target", "raid23target", "raid24target", "raid25target", "raid26target", "raid27target", "raid28target", "raid29target", "raid30target", "raid31target", "raid32target", "raid33target", "raid34target", "raid35target", "raid36target", "raid37target", "raid38target", "raid39target", "raid40target" }
  v3 = {"Святая клятва", "Священный щит", "Омоложение", "Слово силы: Щит", "Быстрота хищника", "Длань защиты", "Длань свободы", "Длань жертвенности", "Божественное просветление", "Гнев карателя", "Озарение", "Хватка природы", "Устранение яда", "Защита от страха"}
  for i = 1, #v1 do
    if UnitExists(v1[i]) and IsMounted() == nil and UnitHealth(v1[i]) / UnitHealthMax(v1[i]) * 100 >= 80 and UnitHealth("player") / UnitHealthMax("player") * 100 >= 80 then
      for j = 1, #v2 do
        if UnitExists(v2[j]) and IsSpellInRange("Рассеивание заклинаний", v2[j]) == 1 and UnitChannelInfo("player")==nil then
      for k = 1, #v3 do
      if UnitBuff(v2[j], v3[k]) and UnitExists(v2[j]) and IsSpellInRange("Рассеивание заклинаний", v2[j]) == 1 and UnitChannelInfo("player")==nil and UnitCanAttack("player", v2[j]) and UnitDebuff(v2[j],"Смерч") == nil and UnitBuff(v2[j],"Божественный щит") == nil and UnitBuff(v2[j],"Ледяная глыба") == nil and UnitBuff(v2[j],"Антимагический панцирь") == nil and IsMounted() == nil then
          CastSpellByName("Рассеивание заклинаний", v2[j])
        end
      end
      end
     end
end
end
end

CreateFrame("Frame", "Dispell2Frame")
Dispell2Frame:SetScript("OnUpdate", Dispell2)


суть скрипта в том, что бы диспеллить на бг вражеские таргеты всего рейда(когда у рейда больше80% хп)+свой таргет и всё работает, но падает фпс, как только я попадаю на бг или в любой рейд, и судя по всему он не учитывает хп рейда
Сообщение # 2373 отредактировано sixsixsix999 - Четверг, 13.07.2017, 14:23
Fqlolxl
Скаут
sixsixsix999, у меня из за этого вычисления почему то фпс падал всегда.

Код
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Смерч") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end

А у тебя из за какого скрипта фпс падал и по какой причине?
Сообщение # 2374 написано 13.07.2017 в 15:44
sixsixsix999
Скаут
Fqlolxl
Цитата Fqlolxl ()
у меня из за этого вычисления почему то фпс падал всегда.

Код
/run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; m=0; w=f; for i=nps,npe do if i==0 then tt="player" else tt=t..i end; if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and not UnitDebuff(tt,"Неконтролируемое бешенство") and not UnitDebuff(tt,"Ледяной склеп") and not UnitDebuff(tt,"Господство над разумом") and not UnitDebuff(tt,"Каменная хватка") and not UnitDebuff(tt,"Безумие") and not UnitDebuff(tt,"Морозная стрела") and not UnitDebuff("tt","Цепи Кел'Тузада") and not UnitDebuff(tt,"Изгнание") and not UnitDebuff(tt,"Смертельная рана") and not UnitDebuff(tt,"Смерч") and not UnitDebuff(tt,"Изгнание Тьмы") and not UnitDebuff(tt,"Мутация") then a=UnitHealthMax(tt)-UnitHealth(tt); if a>m then m=a w=tt end end end; if m>100 then RunMacroText("/target "..w.."") end

у меня как раз таки скрипты с таким "подбором" таргета не влияют на фпс

у меня проблема с диспеллом вражеских таргетов рейда (raid1target и т.д.), диспелл как бы идёт, но фпс дико падает, неиграбельно становится.
ну и никак не придумаю как выбирать из всего рейда юнит с самым минимальным кол-вом хп. я пытаюсь сделать так, что бы скрипт хилил по фреймам рейда, типа raid1, raid2 и т.д. без смены таргета
Сообщение # 2375 отредактировано sixsixsix999 - Четверг, 13.07.2017, 16:45
ganus1993
Сержант
Цитата sixsixsix999 ()
ну и никак не придумаю как выбирать из всего рейда юнит с самым минимальным кол-вом хп. я пытаюсь сделать так, что бы скрипт хилил по фреймам рейда, типа raid1, raid2 и т.д. без смены таргета
если внимательно читали мою соседню тему есть такой способ
/run for r=1,40 doGetNumRaidMembers(); 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) else r=r+1 end end
с условием поиграешься как тебе надо
80% =0.8
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 2376 отредактировано ganus1993 - Суббота, 15.07.2017, 09:00
sixsixsix999
Скаут
Цитата ganus1993 ()
если внимательно читали мою соседню тему

да smile очень внимательно читал, уже сделал нечто такое:
Код
function Penance(self, elapsed)
t="raid"
nps=1
npe=GetNumRaidMembers()
if npe==0 then
t="party"
nps=0
npe=GetNumPartyMembers()
end
m=0
w=f
for i=nps,npe do
if i==0 then tt="player" else tt=t..i
end
if UnitExists(tt) and UnitInRange(tt)==1 and UnitIsDeadOrGhost(tt)~=1 and UnitDebuff(tt,"Изгнание") == nil and UnitDebuff(tt,"Смерч") == nil then
a=UnitHealthMax(tt)-UnitHealth(tt)
if a>m then
m=a
w=tt
end
end
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 99 and IsMounted() == nil and UnitChannelInfo("player")==nil and UnitCastingInfo("player")==nil and IsSpellInRange("Слово силы: Щит", w) == 1 and UnitDebuff(w,"Ослабленная душа") == nil and UnitBuff(w,"Слово силы: Щит") == nil and GetSpellCooldown("Слово силы: Щит")==0 then
CastSpellByName("Слово силы: Щит", w)
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 90 and UnitHealth(w) / UnitHealthMax(w) * 100 >= 40 and IsMounted() == nil and UnitChannelInfo("player")==nil and IsSpellInRange("Исповедь", w) == 1 and GetSpellCooldown("Исповедь")==0 then
CastSpellByName("Исповедь", w)
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 89 and UnitHealth(w) / UnitHealthMax(w) * 100 >= 39 and IsMounted() == nil and UnitChannelInfo("player")==nil and IsSpellInRange("Молитва восстановления", w) == 1 and not UnitBuff(w,"Молитва восстановления") and GetSpellCooldown("Молитва восстановления")==0 then
CastSpellByName("Молитва восстановления", w)
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 80 and UnitHealth("player") / UnitHealthMax("player") * 100 <= 80 and IsMounted() == nil and UnitChannelInfo("player")==nil and IsSpellInRange("Связующее исцеление", w) == 1 and GetSpellCooldown("Связующее исцеление")==0 then
CastSpellByName("Связующее исцеление", w)
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 79 and IsMounted() == nil and UnitChannelInfo("player")==nil and IsSpellInRange("Быстрое исцеление", w) == 1 and GetSpellCooldown("Быстрое исцеление")==0 then
CastSpellByName("Быстрое исцеление", w)
end
if m>100 and UnitHealth("player") / UnitHealthMax("player") * 100 <= 40 and IsMounted() == nil and UnitChannelInfo("player")==nil and UnitCastingInfo("player")==nil and IsSpellInRange("Молитва отчаяния", w) == 1 and GetSpellCooldown("Молитва отчаяния")==0 then
CastSpellByName("Молитва отчаяния", w)
end
if m>100 and UnitHealth(w) / UnitHealthMax(w) * 100 <= 35 and IsMounted() == nil and UnitChannelInfo("player")==nil and GetItemCooldown("Подвеска истинной крови")==0 then
UseItemByName("Подвеска истинной крови", w)
end
end

CreateFrame("Frame", "PenanceFrame")
PenanceFrame:SetScript("OnUpdate", Penance)
думаю ты понял откуда я взял это вычисление, не много подумав придумал как заставить кастовать по фрейму, который выбирает скрипт) всё работает)
Сообщение # 2377 отредактировано sixsixsix999 - Суббота, 15.07.2017, 15:20
PaulDousen
Рыцарь
sixsixsix999, Для того, что-бы скрипт выбирал самую просевшую цель, нужно собрать таблицу с нужным параметром сортировки и затем отсортировать. В твоем примере нужна таблица вида: ключ+уровень здоровья.
Сообщение # 2378 написано 15.07.2017 в 19:19
sixsixsix999
Скаут
Цитата PaulDousen ()
нужно собрать таблицу с нужным параметром сортировки и затем отсортировать

я еще учусь грамотно всё делать, так что не совсем понял о какой именно таблице ты говоришь) параметр сортировки как я понял - UnitHealth(x) \ UnitHealthMax(x) ? а как отсортировать всё что есть в таблице?
Цитата PaulDousen ()
нужна таблица вида: ключ+уровень здоровья

что такое ключ?
буду рад если ты покажешь мне конкретный пример такой таблицы, что бы я понял как это всё грамотно сделать
Сообщение # 2379 написано 15.07.2017 в 22:15
amnitriks
Скаут
Пытаюсь реализовать автофейк, но никак не получается, в чём ошибка? Принцип работы такой же как и у автованиша, только вместо конкретного спелл
а, нужно чтобы прожимался макрос(/stopcasting)      
Код
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 = RunMacroText("/stopcasting")
        if enabled == 0 then   
         RunMacroText("/stopcasting")
        end   
       end   
       end   
end
end)
Сообщение # 2380 отредактировано amnitriks - Воскресенье, 16.07.2017, 07:43
prn
Скаут
механика сервера не позволит автофек сделать в уже,отменой каста по факту юза прерывающего спела,отмена каста пройдет но запрет школы всеравно получишь
Сообщение # 2381 написано 16.07.2017 в 17:38
extrimlol
Капрал
У меня есть патч на война mpq, который уменьшает гкд стоек, криков, героик страйка до 0,6 сек. Есть ли аналогичные патчи да дк ? Или может можно из этого mpq патча сделать по аналогии на дк.
еще просьба помочь подправить скрипт на пкр на АМС
Код
if not SWDFrame then
SWD = CreateFrame("Frame", "SWD", UIParent);
SWDFrame:Hide()
end

--SWD = CreateFrame("Frame", "SWD", UIParent);        
SWD:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")        
SWD:SetScript("OnEvent", function(self, event, arg1, arg2)        
SpellBase = {"Покаяние","Молот правосудия","Лик смерти","Смерч","Ошеломление","Ослепление","Выброс лавы","Страх","Глубокая заморозка","Кольцо льда"}   
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(48707)   
if enabled == 0 then   
CastSpellByID(48707)
end    
end        
end        
end


Он выдает такую ошибку
     Message: [string " function pqrFunc0() if not SWDFrame then..."]:20: ')' expected (to close '(' at line 8) near 'function'
Time: 07/17/17 21:19:13
Count: 2
Stack: 
Locals: 
Сообщение # 2382 отредактировано extrimlol - Понедельник, 17.07.2017, 21:22
PaulDousen
Рыцарь
Цитата sixsixsix999 ()
что такое ключ?буду рад если ты покажешь мне конкретный пример такой таблицы, что бы я понял как это всё грамотно сделать

Моя ошибка, под ключем я имею ввиду юнит.

table = {

{unit = 'target', health = 20},
{unit = 'player', health = 25},
{unit = 'raid1', health = 50},
{unit = 'raid2', health = 90},

}

Такого вида таблица нужна.

Пример:

Код
-- создаем пустую таблицу
local members = { } 

-- создаем префикс
local prefix = (IsInRaid() and 'raid') or 'party'
   
-- цикл 
   for i=1, GetNumGroupMembers() do
    
    -- создаем переменные в которых объявляем нужные нам значения
    local unit = prefix..i -- получится 'raid'+i = raid1, raid2, ... raidn думаю понятно.
          local health = 100*UnitHealth(unit )/UnitHealthMax(unit) -- определяем уровень здоровья
     
    -- добавляем в таблицу юнит и его здоровье
    table.insert(members, {unit = unit, health = health})

end

-- сортируем таблицу по уровню здоровья
table.sort(members,function(x,y) return x.health < y.health end)

-- Как использовать?
-- т.к таблица уже отсортирована то цикл больше не нужен. Для использования заклинания в юнит с наименьшим здоровьем достаточно использовать первую ячейку таблицы(она и будет содержать юнит с наименьшим здоровьем после сортировки).

-- заранее объявляем переменную с нужной ячейкой из таблицы, для удобства и скорости работы.

local lowest_unit = members[1]

if lowest_unit.health <= 50 then -- 'lowest_unit.health' это тоже самое что и 'members[1].health'

    CastSpellByName('', lowest_unit .unit) -- здесь аналогично, 'lowest_unit .unit' тоже самое что и 'members[1].unit'

end

Разумеется что цикл который создает таблицу и сортирует ее необходимо вызывать каждый раз перед использованием заклинания(для обновления данных о здоровье юнитов в рейде).
Поэтому всю эту конструкцию следует спрятать в функцию и вызывать каждый раз.
Сообщение # 2383 написано 20.07.2017 в 15:05
Karolik
Скаут
дайте ктонибудь анлокер норм дял изенгарда, а то гагарин робит минуту и потом клиент виснет

Добавлено (21.07.2017, 01:22)
---------------------------------------------
на изенгарде кикает на гагарин и за PQR есть какие нибудь способы это обойти?

Сообщение # 2384 написано 21.07.2017 в 01:22
raeras
Скаут
Ребят, подскажите макрос на lua, который имитирует castsequence, но нажимать его нужно будет только один раз. i.e: 
/castsequence spell1, spell2, ... , spelln
Сообщение # 2385 написано 21.07.2017 в 17:13
mikel17
Скаут
Помогите пожалуйста , сделать скрипт для вара на авто ярость берсерка , 3.3.5|PQR, я пытался переделать скрипт на автодиспел, но не работает.
Вот , что получилось -

function Berserker(self, elapsed)
local v1, v2, v3
v1 = { "player" }
for i = 1, #v1 do
if UnitExists(v1) and UnitCanAttack("player", v1) == nil and UnitDebuff(v1,"Смерч") == nil then
v2 = {"Ментальный крик", "Страх", "Вой ужаса", "Покаяние", "Устрашающий крик"}
v3 = {"Ментальный крик", "Страх", "Вой ужаса", "Покаяние", "Устрашающий крик"}
for j = 1, #v2 do
CastSpellByName("Ярость берсерка", v1)
end
end
for j = 1, #v3 do
if UnitHealth(v1) / UnitHealthMax(v1) * 100 >= 1 and UnitDebuff(v1, v3
) and GetSpellCooldown("Ярость берсерка") <= 2 and IsSpellInRange("Ярость берсерка", v1) == 1 then
CastSpellByName("Ярость берсерка", v1
)
end
end
end
end
end

CreateFrame("Frame", "BerserkerFrame")
BerserkerFrame:SetScript("OnUpdate", Berserker)
Сообщение # 2386 отредактировано mikel17 - Суббота, 22.07.2017, 11:36
alimali
Скаут
поцаны, а че пкр уже не в моде? слышал что сейчас есть патчи на гкд, эт реально??
Сообщение # 2387 написано 22.07.2017 в 15:24
ganus1993
Сержант
mikel17, перемудрил конечно:) не гарантирую что все будет работать , но всеже...

function Berserker(self, elapsed)
if UnitDebuff("player","Ментальный крик") or UnitDebuff("player","Страх") or UnitDebuff("player","Вой ужаса") or UnitDebuff("player","Покаяние") or UnitDebuff("player","Устрашающий крик") then
local enabled = GetSpellCooldown("Ярость берсерка")
if enabled == 0 and not UnitDebuff("player","Смерч") then   ----- тут докинешь нужные дебафы
CastSpellByName("Ярость берсерка")
end
end
end
CreateFrame("Frame", "BerserkerFrame")
BerserkerFrame:SetScript("OnUpdate", Berserker)

примерно так, допилишь проверишь самостоятельно
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 2388 отредактировано ganus1993 - Воскресенье, 23.07.2017, 14:58
Kieg
Сержант
На ювове начали банить за аддон SDM. Есть варианты как не поймать бан? Ренеймнил аддон - не помогло.
Сообщение # 2389 написано 24.07.2017 в 19:58
PaulDousen
Рыцарь
Kieg, написать свой, что бы наверняка.
Сообщение # 2390 написано 24.07.2017 в 21:29
sanfishman22
Капрал
Ребят, чот рою страницы, не найду для биндпада скрипта на рог, может знает кто страницу? или есть у кого? по приоритету:
Ловля ванишем всякой гадости, если ванишь кд то блайнд в ответ, если блайнд в кд то юзать рассовую людей. С меня +
под 3.3.5
Сообщение # 2391 отредактировано sanfishman22 - Вторник, 25.07.2017, 23:01
mikel17
Скаут
пытался переделать рефлект для пвара (на арена таргеты) но он почему-то срабатевает не всегда, 3.3.5а.
Код
function REFL(self, elapsed)
if UnitExists and UnitCastingInfo("arena1") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("arena1")
local finish = endTime/1000 - GetTime()
local enabled = GetSpellCooldown("Отражение заклинания")
local enabled2 = GetSpellCooldown("Боевой крик")
local power = UnitPower("player")
local SpellBase = {"Сглаз","Стрела Хаоса","Смерч","Превращение","Страх","Выброс лавы"}  
for v=1,#SpellBase do                
if spell == SpellBase [v]and finish <= 0.6 then
if power < 15 and enabled2 == 0 then
CastSpellByName("Боевой крик")
elseif power > 15 then
if GetShapeshiftForm() ~= 1 and index ~= 2 then
CastSpellByName("Оборонительная стойка")
end  
if enabled == 0 then
if GetInventorySlotInfo("MainHandSlot") ~= 71362 then  -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(71362)         -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(67061)         -- здесь вместо 67061 вписываешь id своего щита
end
CastSpellByName("Отражение заклинания")
end  
end  
end  
end   
end    
end             
CreateFrame("Frame", "REFLFrame")
REFLFrame:SetScript("OnUpdate", REFL)

function REFL(self, elapsed)
if UnitExists and UnitCastingInfo("arena2") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("arena2")
local finish = endTime/1000 - GetTime()
local enabled = GetSpellCooldown("Отражение заклинания")
local enabled2 = GetSpellCooldown("Боевой крик")
local power = UnitPower("player")
local SpellBase = {"Сглаз","Стрела Хаоса","Смерч","Превращение","Страх","Выброс лавы"}  
for v=1,#SpellBase do                
if spell == SpellBase [v]and finish <= 0.6 then
if power < 15 and enabled2 == 0 then
CastSpellByName("Боевой крик")
elseif power > 15 then
if GetShapeshiftForm() ~= 1 and index ~= 2 then
CastSpellByName("Оборонительная стойка")
end  
if enabled == 0 then
if GetInventorySlotInfo("MainHandSlot") ~= 71362 then  -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(71362)         -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(67061)         -- здесь вместо 67061 вписываешь id своего щита
end
CastSpellByName("Отражение заклинания")
end  
end  
end  
end   
end    
end             
CreateFrame("Frame", "REFLFrame")
REFLFrame:SetScript("OnUpdate", REFL)

function REFL(self, elapsed)
if UnitExists and UnitCastingInfo("arena3") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("arena3")
local finish = endTime/1000 - GetTime()
local enabled = GetSpellCooldown("Отражение заклинания")
local enabled2 = GetSpellCooldown("Боевой крик")
local power = UnitPower("player")
local SpellBase = {"Сглаз","Стрела Хаоса","Смерч","Превращение","Страх","Выброс лавы"}  
for v=1,#SpellBase do                
if spell == SpellBase [v]and finish <= 0.6 then
if power < 15 and enabled2 == 0 then
CastSpellByName("Боевой крик")
elseif power > 15 then
if GetShapeshiftForm() ~= 1 and index ~= 2 then
CastSpellByName("Оборонительная стойка")
end  
if enabled == 0 then
if GetInventorySlotInfo("MainHandSlot") ~= 71362 then  -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(71362)         -- здесь вместо 71362 вписываешь id своего однорука
EquipItemByName(67061)         -- здесь вместо 67061 вписываешь id своего щита
end
CastSpellByName("Отражение заклинания")
end  
end  
end  
end   
end    
end             
CreateFrame("Frame", "REFLFrame")
REFLFrame:SetScript("OnUpdate", REFL)
Сообщение # 2392 написано 26.07.2017 в 11:41
ganus1993
Сержант
Цитата mikel17 ()
пытался переделать рефлект для пвара (на арена таргеты) но он почему-то срабатевает не всегда, 3.3.5а.
UnitExists сигнатуры не указали
UnitExists("arena1")  UnitExists("arena2")  UnitExists("arena3")
все три функции одинаково названы, хотябы
REFL1 REFL2 REFL3
если писали для прото зачем нагромождения в виде смены стойки и оружия
зачем добавлять обновление крика во время каста при недостатке раги (up<15) ? просто бесполезный спам крика(расход up)
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 2393 отредактировано ganus1993 - Среда, 26.07.2017, 12:44
mikel17
Скаут
Цитата ganus1993 ()
UnitExists сигнатуры не указалиUnitExists("arena1")  UnitExists("arena2")  UnitExists("arena3")
все три функции одинаково названы, хотябы
REFL1 REFL2 REFL3
на 1 таргет работает, на несколько - нет, если копировать со сменой названия - неработает
Код
function REFL(self, elapsed)
if UnitExists("target") and UnitCastingInfo("target") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
local finish = endTime/1000 - GetTime()
local enabled = GetSpellCooldown("Отражение заклинания")
local SpellBase = {"Сглаз","Стрела Хаоса","Смерч","Превращение","Страх","Выброс лавы"}  
for v=1,#SpellBase do                
if spell == SpellBase [v]and finish <= 0.6 then
if GetShapeshiftForm() ~= 1 and index ~= 2 then
CastSpellByName("Отражение заклинания")
end  
end  
end  
end
end

CreateFrame("Frame", "REFLFrame")
REFLFrame:SetScript("OnUpdate", REFL)
Сообщение # 2394 отредактировано mikel17 - Среда, 26.07.2017, 14:41
sanfishman22
Капрал
Цитата sanfishman22 ()
Ребят, чот рою страницы, не найду для биндпада скрипта на рог, может знает кто страницу? или есть у кого? по приоритету:Ловля ванишем всякой гадости, если ванишь кд то блайнд в ответ, если блайнд в кд то юзать рассовую людей. С меня +
под 3.3.5
На ванишь вроде как куча их, а именно такого чот не видно.  Макросы писать иф таргет каст и тд зен каст  тд... не канает) ибо через сдм тыкать надо. Местные умельцы подсобите
Сообщение # 2395 написано 26.07.2017 в 19:24
alexdubovyck
Рыцарь
Цитата alimali ()
поцаны, а че пкр уже не в моде? слышал что сейчас есть патчи на гкд, эт реально??


Как тебе такой?


+есть для варов, но можно сделать рейнджу любому классу:

• Wowjp: Моя темка
• Yt: youtube.com/@LuaNaZakaz
• Discord: discord.gg/Jgmf7AJ
• Vk: vk.com/luanazakaz
• Telegram: t.me/LuaNaZakaz
• Boosty: boosty.to/luanazakaz
Сообщение # 2396 отредактировано alexdubovyck - Среда, 26.07.2017, 23:31
Rimz
Скаут
Проблема в гагарине.Сделал все по инструкции ,выбрал функцию нажал пуск и выскочило окошко с текстом
can't attach the final part, probably something already attached to your game. Как решить эту проблему ?? Может есть какой-то аналог гагарину?
Сообщение # 2397 написано 27.07.2017 в 20:39
mikel17
Скаут
Цитата Rimz ()
Проблема в гагарине.Сделал все по инструкции ,выбрал функцию нажал пуск и выскочило окошко с текстом can't attach the final part, probably something already attached to your game. Как решить эту проблему ?? Может есть какой-то аналог гагарину?
Скорее всего у вас процессор AMD. Гагарин поддерживает только Intel. 
Есть альтернатива PriorityQueueRotation
Сообщение # 2398 написано 27.07.2017 в 20:43
alexdubovyck
Рыцарь
ТЗ: кидать лужу дк тупо под себя. Без всяких там:

Код
if SpellIsTargeting() then
   CameraOrSelectOrMoveStart()
   CameraOrSelectOrMoveStop()
end


Где-то видел. Не могу найти!

• Wowjp: Моя темка
• Yt: youtube.com/@LuaNaZakaz
• Discord: discord.gg/Jgmf7AJ
• Vk: vk.com/luanazakaz
• Telegram: t.me/LuaNaZakaz
• Boosty: boosty.to/luanazakaz
Сообщение # 2399 написано 28.07.2017 в 07:07
RUSisakov
Скаут
RUSisakov
Цитата RUSisakov ()
ребят кто-нибуть может написать макрос на смену валанира после её прока на травму а после кд 60 сек он снова одевал валанир. Писать ти-по от этого макроса нет смысла не надо)
не ужели такой сложный скрип
Сообщение # 2400 написано 28.07.2017 в 15:57
Форум » Хитрости Пиратских серверов » Читы для WoW » Использование Lua скриптов.
Поиск: