Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
Ребята, пишу скрипт на захил для дц, никак не могу придумать как выбирать из 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 Добавлено (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% хп)+свой таргет и всё работает, но падает фпс, как только я попадаю на бг или в любой рейд, и судя по всему он не учитывает хп рейда |
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
|
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 и т.д. без смены таргета |
ну и никак не придумаю как выбирать из всего рейда юнит с самым минимальным кол-вом хп. я пытаюсь сделать так, что бы скрипт хилил по фреймам рейда, типа 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 |
да очень внимательно читал, уже сделал нечто такое: Код 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) |
я еще учусь грамотно всё делать, так что не совсем понял о какой именно таблице ты говоришь) параметр сортировки как я понял - UnitHealth(x) \ UnitHealthMax(x) ? а как отсортировать всё что есть в таблице? что такое ключ? буду рад если ты покажешь мне конкретный пример такой таблицы, что бы я понял как это всё грамотно сделать
Сообщение # 2379 написано 15.07.2017 в 22:15
|
Пытаюсь реализовать автофейк, но никак не получается, в чём ошибка? Принцип работы такой же как и у автованиша, только вместо конкретного спелл
а, нужно чтобы прожимался макрос(/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) |
У меня есть патч на война 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: |
что такое ключ?буду рад если ты покажешь мне конкретный пример такой таблицы, что бы я понял как это всё грамотно сделать Моя ошибка, под ключем я имею ввиду юнит. 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
|
дайте ктонибудь анлокер норм дял изенгарда, а то гагарин робит минуту и потом клиент виснет
Добавлено (21.07.2017, 01:22)
Сообщение # 2384 написано 21.07.2017 в 01:22
|
Помогите пожалуйста , сделать скрипт для вара на авто ярость берсерка , 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) |
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 |
Ребят, чот рою страницы, не найду для биндпада скрипта на рог, может знает кто страницу? или есть у кого? по приоритету:
Ловля ванишем всякой гадости, если ванишь кд то блайнд в ответ, если блайнд в кд то юзать рассовую людей. С меня + под 3.3.5 |
пытался переделать рефлект для пвара (на арена таргеты) но он почему-то срабатевает не всегда, 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
|
пытался переделать рефлект для пвара (на арена таргеты) но он почему-то срабатевает не всегда, 3.3.5а. UnitExists("arena1") UnitExists("arena2") UnitExists("arena3") все три функции одинаково названы, хотябы REFL1 REFL2 REFL3 если писали для прото зачем нагромождения в виде смены стойки и оружия зачем добавлять обновление крика во время каста при недостатке раги (up<15) ? просто бесполезный спам крика(расход up)
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5 |
UnitExists сигнатуры не указалиUnitExists("arena1") UnitExists("arena2") UnitExists("arena3") все три функции одинаково названы, хотябы REFL1 REFL2 REFL3 Код 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) |
На ванишь вроде как куча их, а именно такого чот не видно. Макросы писать иф таргет каст и тд зен каст тд... не канает) ибо через сдм тыкать надо. Местные умельцы подсобите
Сообщение # 2395 написано 26.07.2017 в 19:24
|
Как тебе такой? +есть для варов, но можно сделать рейнджу любому классу: • Wowjp: Моя темка • Yt: youtube.com/@LuaNaZakaz • Discord: discord.gg/Jgmf7AJ • Vk: vk.com/luanazakaz • Telegram: t.me/LuaNaZakaz • Boosty: boosty.to/luanazakaz |
Проблема в гагарине.Сделал все по инструкции ,выбрал функцию нажал пуск и выскочило окошко с текстом
can't attach the final part, probably something already attached to your game. Как решить эту проблему ?? Может есть какой-то аналог гагарину?
Сообщение # 2397 написано 27.07.2017 в 20:39
|
Проблема в гагарине.Сделал все по инструкции ,выбрал функцию нажал пуск и выскочило окошко с текстом can't attach the final part, probably something already attached to your game. Как решить эту проблему ?? Может есть какой-то аналог гагарину? Есть альтернатива PriorityQueueRotation
Сообщение # 2398 написано 27.07.2017 в 20:43
|
ТЗ: кидать лужу дк тупо под себя. Без всяких там:
Код 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
|
Сообщение # 2400 написано 28.07.2017 в 15:57
|
| |||