girk 2 Report post Posted June 2, 2016 (edited) К предыдущему посту: думаю сделать переборку целей от меньшего. Сначала искать тех у кого =< 10% (либо можно больший диапазон задать для меньшего количества циклов), не находит - ищет =< 20% и тд. Как задать чтобы переборка остановилась, учитывая что макрос на кликере? Edited June 2, 2016 by girk 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 3, 2016 ну достаточно установить - пусть будет скажем 15 нажатий - по результатам выбирается цель /script if not iter then iter = 1 else iter = iter + 1 end if iter == 15 then iter = 0 end пример счетчика 0 Share this post Link to post Share on other sites
girk 2 Report post Posted June 3, 2016 Какую минимальную скорость клика можно задать в зависимости от пинга, чтобы перебор был не заметен и чтобы пинг не был проблемой? 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 3, 2016 Ээксперименты? Вобще пинг тут не причем - у тебя уже чары прогрузились - работа макроса будет основываться на тех данных что ща загружены в клиент, по крайней мере твой не должен делать запросы на сервак по идее. И даже при маленькой скорости лагать не должно. Ну попробуй 50 ms поставить, или 80. 0 Share this post Link to post Share on other sites
Ruzy 1 Report post Posted June 12, 2016 Народ подскажите. Есть вот такой макрос /script power = UnitPowerType("target"); if ( power == 0 ) then CastSpellByName("Жало гадюки") else CastSpellByName("Жало скорпида") end; проверяет на цели наличие маны и в зависимости есть она или нет кастует разные заклы. Вопрос вот какой! Можно ли в этот макрос еще вписать проверку на наличие этих бафов, дебафов на цели? Ну есть у меня отдельно работающий такой /script if not buffed("Укус змеи", "target") then cast("Укус змеи") else end; ,а вот можно ли их объединить в один? Как не пробовал, что то не получается. Если есть возможность помогите с написанием плз. 0 Share this post Link to post Share on other sites
Ruzy 1 Report post Posted June 13, 2016 Ctrl-C, Ctrl-V: /script power = UnitPowerType("target"); if ( power == 0 ) then if not buffed("Укус змеи", "target") then cast("Укус змеи") else end else CastSpellByName("Жало скорпида") end; Зачем ты вообще точек с запятой и пустой элс наставил неясно. Спс работает. Вот только еще один вопрос. А можно в этом макросе прописать проверку на цели второго дота Жало скорпида? Если нет дота на цели то кастует если есть то не кастует. А то смысл теряется. Если цель без маны( вар, рога), то Жало скорпида перевешивает при нажатии клавиши. Если нельзя, то какой вид будет иметь макрос на проверку, что цель не использует ману + проверка дота на ней и если условия совпадают то кастуем если нет то не кастуем. Спасибо 0 Share this post Link to post Share on other sites
Motorbreath 923 Report post Posted June 13, 2016 /script if (IsShiftKeyDown()) and GetShapeshiftFormInfo(1) then CastSpellByName"Rend()" else CastShapeshiftForm(1) else CastSpellByName"Hamstring()";end По задумке, если зажат шифт и я в баттл стансе, юзается ренд, если шифт зажат в другой стойке, врубается баттл станс, в остальных случаях идёт хамстринг. ЧЯДНТ? 0 Share this post Link to post Share on other sites
Axon 65195 Report post Posted June 13, 2016 Макросы больше 255 символов рассматриваются как нежелательные. Единого решения по этому поводу нету, но в какой-то момент контроль над макросами может попасть в область компетенции античита. Так что, на ваш страх и риск. 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted June 13, 2016 /script if (IsShiftKeyDown()) and GetShapeshiftFormInfo(1) then CastSpellByName"Rend()" else CastShapeshiftForm(1) else CastSpellByName"Hamstring()";end По задумке, если зажат шифт и я в баттл стансе, юзается ренд, если шифт зажат в другой стойке, врубается баттл станс, в остальных случаях идёт хамстринг. ЧЯДНТ? У меня хамстринг был в макро на чарж/цепт. т.е. одна кнопка на 3 спела в зависимости от комбата и расстояния до цели. 0 Share this post Link to post Share on other sites
Xudojnik 904 Report post Posted June 13, 2016 Макросы больше 255 символов рассматриваются как нежелательные. Единого решения по этому поводу нету, но в какой-то момент контроль над макросами может попасть в область компетенции античита. Так что, на ваш страх и риск.1. Делаем аддон "mylib" и кладем туда основной код макроса в виде функции на 1к символов. 2. Делаем макрос, вызывающий эту функцию. 3. PROFIT 1 Share this post Link to post Share on other sites
Av_vA 3044 Report post Posted June 13, 2016 Макросы больше 255 символов рассматриваются как нежелательные. Единого решения по этому поводу нету, но в какой-то момент контроль над макросами может попасть в область компетенции античита. Так что, на ваш страх и риск. А как же тогда аддоны?^ 0 Share this post Link to post Share on other sites
girk 2 Report post Posted June 19, 2016 (edited) Возможно ли задать проверку условия, что в радиусе мили-атаки находится не одна вражеская цель? Edited June 19, 2016 by girk 0 Share this post Link to post Share on other sites
Artur 28 Report post Posted June 19, 2016 (edited) Подскажите скрипт на отмену определенного бафа. Прочитав весь инет я сделал свои скрипт, но он отменяет баф только под определенным номером(он не подходит т.к. номера бафов могут меняться). Вместо 0, пишите нужный номер: /script CancelPlayerBuff(GetPlayerBuff(0,"HELPFUL")) Пробовал сделать скрипт на отмену бафа по его названию, вот что получилось, но он почему то не работает . Никаких ошибок не выдает, просто эффекта нуль.: /script local i; for i=0,15 do if (GetPlayerBuff (i) == "Flee") then CancelPlayerBuff(i); end; end END Он работает(должен так работать xD) по принципу проверки каждого бафа на совпадение названия и при его совпадении отменяется баф под этим номером.Помогите исправить плз. P.S. Заранее прошу не предлагать уставливать SuperMacro и подобный шлак. Нужно сделать штатными средствами. Edited June 19, 2016 by Artur 0 Share this post Link to post Share on other sites
Artur 28 Report post Posted June 19, 2016 Нельзя, в таргете может быть только одна цель, а дистанцию до маусовера не измерить, потому что маусовер не в таргете. Хотя нет, можно - с запоминанием времени проверки дистанции до первой цели и переключением на следующую цель, и тогда ЕСЛИ первый чек был в ренже И после первого чека времени прошло меньше полторы секунды И второй чек в ренже ТО... Но это слишком большой изврат. С таким ифом он у тебя и не будет работать. причем тут таргет и маусовер? Мне нужно с себя баф снять. А что не так с if? я просто не знаю как сделать правильно проверку бафа по названию. 0 Share this post Link to post Share on other sites
Berloga 3 Report post Posted June 20, 2016 /script CancelBuff("название бафа")работает с supermacro 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted June 21, 2016 /unbuff nazvaniespela supermacro rekwired 1 Share this post Link to post Share on other sites
Hencore 1563 Report post Posted June 21, 2016 Существует ли макрос на автолут с питпокета? Подошел к мобу, нажал, своровал+забрал все себе в один клик. 0 Share this post Link to post Share on other sites
BanMeImFamous 329 Report post Posted June 21, 2016 Существует ли макрос на автолут с питпокета? Подошел к мобу, нажал, своровал+забрал все себе в один клик. С шифтом не работает? 1 Share this post Link to post Share on other sites
Hencore 1563 Report post Posted June 21, 2016 С шифтом не работает? Если это не шутка, то пробовал около полутора лет назад, не помогало. 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted June 21, 2016 Существует ли макрос на автолут с питпокета? Подошел к мобу, нажал, своровал+забрал все себе в один клик. Насколько я помню такое только в бк появилось, с шифтов, вроде, работало. 0 Share this post Link to post Share on other sites
girk 2 Report post Posted July 1, 2016 Помогите с макросом для кликера, нужно чтобы aimed shot не начинал кастоваться если откат автошота будет через доли секунды. Не хотелось бы терять автошот. 0 Share this post Link to post Share on other sites
girk 2 Report post Posted July 1, 2016 Понимаю что нужно крутить через local speed = UnitRangedDamage("player") только у меня нет опыта применения функции gettime() 0 Share this post Link to post Share on other sites
girk 2 Report post Posted July 1, 2016 (edited) StartTime = GetTime()EndTime = StartTime + UnitRangedDamage("player") if (EndTime > 3 and EndTime < 3.5) then CastSpellByName("Aimed Shot") Что то вроде этого? Нужна помощь ребята. Edited July 1, 2016 by girk 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted July 1, 2016 (edited) GetTime() возвращает время с какого-то момента(вроде от врубления компа) Соответственно узнав GetTime() в точке A а потом в точке B можно узнать сколько времени прошло между A и B С выстрелами автоатаки не все так просто обычно чтобы узнать у спелла кулдаун, надо прописать local start, duration = GetSpellCooldown(номер_спелла_в_книжке, "BOOKTYPE_SPELL") if duration ~= 0 then return duration - GetTime() + start else return 0 end Но для автошота это дело всегда выдаёт нуль, так что одними макросами тут не обойтись. Надо перейти к примитивному аддону. Подписаться на события: "START_AUTOREPEAT_SPELL" - срабатывает при врубании автошота "STOP_AUTOREPEAT_SPELL" - при вырубании "SPELLCAST_STOP" - при прерывании каста срабатывает, при чем срабатывает на каждом выстреле автошотом Так что идея такая - если сейчас есть автошот(а мы знаем когда он врубается/вырубается), то при SPELLCAST_STOP мы засекаем каждый раз время выстрела А если известно когда выстрелили - момент A например, текущий момент B, то времени до следующего выстрела осталось: UnitRangedDamage("player") - (B - A) собственно выглядит оно все как TestAddon={} TestAddon.autoshot = nil TestAddon.time_shoot = 0 function TestAddon.GetTimeToShoot() local speed = UnitRangedDamage("player") local result = speed - (GetTime() - TestAddon.time_shoot) if result < 0 then result = 0 end return result end function TestAddon.OnLoad() this:RegisterEvent("START_AUTOREPEAT_SPELL") this:RegisterEvent("STOP_AUTOREPEAT_SPELL") this:RegisterEvent("SPELLCAST_STOP") end function TestAddon.OnEvent(event) if event == "START_AUTOREPEAT_SPELL" then TestAddon.autoshot = true elseif event == "STOP_AUTOREPEAT_SPELL" then TestAddon.autoshot = false elseif event == "SPELLCAST_STOP" then if TestAddon.autoshot then TestAddon.time_shoot = GetTime() end end end Соответственно /script time_to_shoot = TestAddon.GetTimeToShoot() if time_to_shoot > 0.5 then CastSpellByName("Multi Shot") end ну или какой там зазор времени надо, больше 0.5 наверное, сколько там мультик кастится TestAddon.zip Edited July 1, 2016 by shuraken007 2 Share this post Link to post Share on other sites
girk 2 Report post Posted July 1, 2016 (edited) ну или какой там зазор времени надо, больше 0.5 наверное, сколько там мультик кастится Спасибо за даже не пример, а готовый скрипт. А еще вопрос, возможно ли привязаться к каст барам того же автошота, чтобы скрипт снимал событие по состоянию кастбара? Edited July 1, 2016 by girk 0 Share this post Link to post Share on other sites