Здравствуйте уважаемые читатели форума!
На просторах интернета нашёл небольшой скрипт, который меняет Вал'анир на другое оружие, при условии, что на игрока вешается баф "Благословение древних королей", бой при этом рекомендуется начинать с Вал'аниром в руках.
Из данного скрипта мне понятно, что он частично использует запрещённые функции интерфейса Blizzard./run vM=0 d={UnitBuff("player","Благословение древних королей")}; if d[7]~=nil then vM=d[7]-GetTime() end
/run if vM>0 and vM<=1 then RunMacroText("/equip *любое другое оружие*") s=GetTime() ss=s+30 end
/run if ss ~=nil then if GetTime()>=ss then RunMacroText("/equip Вал'анир, молот древних королей") end end
Например запуск макроса RunMacroText...
Однако меня заинтересовала не проверка на баф и смену оружия с запуском макроса, а вот эта часть:
Происходит старт скрипта, что делает параметр vM? Далее d={***}, почему сокращение скрипта заключено в эти скобки? {};/run vM=0 d={***}; if d[7]~=nil then vM=d[7]-GetTime() end
/run if vM>0 and vM<=1 then *** s=GetTime() ss=s+30 end
/run if ss ~=nil then if GetTime()>=ss then *** end end
если d[7]~=nil - не равно нулю "nil - ноль", какое значение имеет цифра [7] и почему 7, а не 6,5,4? тогда vM=d[7]-GetTime() end, параметр vM=d[7]-(минус Текущее Время() конец), то есть, я осознаю, что идёт проверка времени бафа Благословение древних королей в секундах - минус его текущее значение.
Далее...
/run if vM>0 and vM<=1 then *** s=GetTime() ss=s+30 end
Старт если vM>0 и vM<=1 тогда *** s=GetTime() ss=s+30 end
Почему мы s приравниваем к текущему значению бафа, а затем используем ss=s+30? Как сочетание двух "ss" должно срабатывать? Внутренний КД на Вал'анир 45 секунд. Очевидно спустя 30 секунд, мы снова берём Вал'анир в руки. Но можно ли вообще эту проверку времени использовать где-либо ещё? Сам параметр vM рабочий?
Может найдётся кто-либо понимающий, что тут происходит?)
Заранее спасибо всем, кто дочитал до конца, я только начинаю изучать скрипты и хочется использовать максимум из доступного (не запрещённого) в игре, для написание более простеньких скриптов.


Ответить с цитированием


