Модератор форума: staford11  
Использование Lua скриптов.
GaTaX
Скаут
function Reflekt(self, elapsed)
   if not GetSpellCooldown("player" or "Зимний горн") then                                     
                      RunMacroText("/cast Зимний горн")                    
                     end        
end                                            
CreateFrame("Frame", "ReflektFrame")     
ReflektFrame:SetScript("OnUpdate", Reflekt)

вот скрипт как видно его функционал проще кирпича, он должен по кд спамить горн, и он это делает т.е работает на ура вот только проблема в том что при использовании этого скрипта когда пытаешься переместить любой спел по панели команд с помощью shift + лкм он просто напросто ищезает и вытянуть его обратно из книжки нельзя а также не юзается лужа дк.
Сообщение # 1801 написано 02.07.2016 в 10:00
Kieg
Сержант
Цитата GaTaX ()
if not GetSpellCooldown("player" or "Зимний горн")

а if GetSpellCooldown("player" or "Зимний горн")~=0
Сообщение # 1802 написано 02.07.2016 в 10:31
chaosway
Рыцарь
а почему or?
Сообщение # 1803 написано 02.07.2016 в 10:58
GaTaX
Скаут
Цитата Kieg ()
а if GetSpellCooldown("player" or "Зимний горн")~=0
 Всеровно, скилы при перемещении пропадают
Сообщение # 1804 написано 02.07.2016 в 11:04
staford11
^s†af0rd f0rever^
GaTaX, попробуйте:
Код
if not (GetSpellCooldown("Зимний горн")) then
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 1805 написано 02.07.2016 в 11:46
GaTaX
Скаут
Цитата staford11 ()
GaTaX, попробуйте:Код
if not (GetSpellCooldown("Зимний горн")) then


function Reflekt(self, elapsed)
if not (GetSpellCooldown("Зимний горн")) then
RunMacroText("/cast Зимний горн")
end
end
CreateFrame("Frame", "ReflektFrame")
ReflektFrame:SetScript("OnUpdate", Reflekt)

Так вообще не работает.
Сообщение # 1806 отредактировано GaTaX - Суббота, 02.07.2016, 12:14
chaosway
Рыцарь
GaTaX
function Reflekt(self, elapsed)
   if not GetSpellCooldown("Зимний горн") then                                     
                     CastSpellByName("Зимний горн")                    
                     end        
end                                            
CreateFrame("Frame", "ReflektFrame")     
ReflektFrame:SetScript("OnUpdate", Reflekt)
Сообщение # 1807 написано 02.07.2016 в 12:26
GaTaX
Скаут
Цитата chaosway ()
GaTaX, function Reflekt(self, elapsed)
if not GetSpellCooldown("Зимний горн") then
CastSpellByName("Зимний горн")
end
end
CreateFrame("Frame", "ReflektFrame")
ReflektFrame:SetScript("OnUpdate", Reflekt)
хм... интересно но факт, твой скрипт тоже не работает. Я не могу понять только почему, проверял свой старый тот работает а твой нет.
function Reflekt(self, elapsed)
   if not GetSpellCooldown("player","Зимний горн") then                                     
                      CastSpellByName("Зимний горн")  
              
                     end        
end                                            
CreateFrame("Frame", "ReflektFrame")     
ReflektFrame:SetScript("OnUpdate", Reflekt)

Вот так работает, ноо... всеровно скилы при перемещении пропадают а лужу нельзя юзать...
Сообщение # 1808 написано 02.07.2016 в 12:56
Hakosuka
Скаут
Всем привет) Подскажите возможно написать макрос на обновление дот через определенное время или же за несколько секунд до сброса доты с таргета ? Если да то поделитесь плс примером макроса) Буду очень благодарен)
Сообщение # 1809 написано 02.07.2016 в 16:30
Sandra1333
Скаут
Ребята, подскажите пожалуйста работающий аддон на 3.3.5а (circle x5) для увеличения количества символов в макросах. Весь день искала, так и не нашла. 
Говорят нужно что-то переименовать в super duper macro, чтобы он работал, но вот что?
Сообщение # 1810 написано 02.07.2016 в 21:40
extrimlol
Капрал
на цирке начали банить за использование скриптов
http://forum.wowcircle.com/showthread.php?t=575657&p=5444730#post5444730
pqr кик они могут отследить? По идее pqr должен сам анализировать данные wow и уже потом выдавать команду на кик
Сообщение # 1811 написано 02.07.2016 в 22:20
Kieg
Сержант
Не используйте скрипт пока. Банят. Хз как отслеживают.
Сообщение # 1812 написано 03.07.2016 в 13:47
extrimlol
Капрал
По моему банят за скрипты. которые оставлены в макросах. которые хранятся на сервере. Если же скрипты оставлены в адоне. то их не проследить.
Сообщение # 1813 написано 03.07.2016 в 17:14
prn
Скаут
очень легко обходится их защита от скриптов,если это можно даже так назвать
Сообщение # 1814 написано 03.07.2016 в 18:35
extrimlol
Капрал
а конкретно, что у них за защита ?
pqr они не могут запалить?
Сообщение # 1815 написано 03.07.2016 в 18:44
prn
Скаут
могу только предположить что поиск слов типа runmacro spellcast и прочих в макросах или аддонах ,насчет того где сканируется в памяти процесса,или отслеживается запуск залоченых функций  наврятли ,тк как были забанены кто не был в игре,скорее всего тупо поиск по сигнатурам макросов на стороне сервер
так что лучше чтобы в ваших макросах не было wowapi функций залоченых ,а для нажатия на кнопку пользуйтесь другими способами,и для получения какую кнопку нажать тоже:)
Сообщение # 1816 отредактировано prn - Воскресенье, 03.07.2016, 19:37
tobmaps
Капрал
Цитата prn ()
могу только предположить что поиск слов типа runmacro spellcast и прочих в макросах или аддонах ,насчет того где сканируется в памяти процесса,или отслеживается запуск залоченых функций  наврятли ,тк как были забанены кто не был в игре,скорее всего тупо поиск по сигнатурам макросов на стороне сервертак что лучше чтобы в ваших макросах не было wowapi функций залоченых ,а для нажатия на кнопку пользуйтесь другими способами,и для получения какую кнопку нажать тоже:)
Хоспади. Они задействовали самый идиотический вариант отлова скриптеров... Вот до чего доводит бессилие xD
Уверен что 99% забаненых даже анлокера на компе никогда не имели, а просто копирнули макросы из интернета дабы проверить и столкнулись с ошибкой заблокированного LUA макроса да забили на этом. Кули, онлайн большой можно и побанить %)

В общем прописываем в чат
Код
/console synchronizeMacros 0

но тут надо убедиться что после выхода из игры в файле настроек config.wtf оно прописалось как
Код
SET synchronizeMacros "0"
Либо дописать в данный файл это вручную находясь вне игры.

Вообще сохранять макросы на персонаже изначально глупая идея, виноваты сами. Раньше ГМам было достаточно просто склонировать вашего "подозрительного" персонажа и просмотреть макросы, теперь ищут в базе данных по ключевым словам, все UnitCastingInfo и CastSpellByname для начала, далее будут искать все /run и /script со всем подозрительным содержимым макроса.

Очевидно что надо либо прописать вышеуказанную команду или же биндить юз макросов SDM на клавишу, естественно нужно SDM переименовывать, т.е., например, пройтись прогой типа Folder Find Text, найти найти во всех файлах аддона все упоминания слова SuperDuper и заменить допустим на PuperTrooper, слова SMD заменить на BDSM или же просто поменять какое-то одно из слов в названии повсеместно даже на одну букву - такой способ поможет даже самым параноикам.

Добавлено:

Чтобы уж совсем наверняка, можно все три залепить в чате
Код
/console synchronizeConfig 0
/console synchronizeBindings 0
/console synchronizeMacros 0

либо в самом файле config.wtf
Код
SET synchronizeConfig "0"
SET synchronizeBindings "0"
SET synchronizeMacros "0"


Пояснения:
synchronizeMacros 0 отключит выгрузку макросов на сервер, разумеется это первое что нужно делать.
synchronizeBindings 0 отключит выгрузку биндов на сервер допустим если забиндили ваш переименованный запрещенный аддон на клавишу то вполне может выгрузиться на сервер без этой настройки, админы прознают имена кнопок, а ведь авторы аддонов зачастую называют свои кнопки так что в них содержиться часть названия аддона или его аббревиатура.
synchronizeConfig 0 отключит выгрузку данных из вашего файла config.wtf на случай если админы дойдут до тотального идиотизма и начнут банить тех кто укрывает свои макросы посредством строки SET synchronizeMacros "0"

ВАЖНО! Нужно удалять все запрещенные макросы из макросов персонажа и аккаунта, однако это делать надо ПЕРЕД прописыванием вышеупомянутых команд, иначе ваши старания по чистке макросов не уйдут на сервер, сервер не узнает что вы удалили лишнее и вы рискуете остаться в зоне риска!

Принудительно (до отключения выгрузки на сервер) выгрузить макросы на сервер можно через команду чата
Код
/script BackupMacros()

или релогом.

Добавлено:

Для дренора вместо предыдущих команд прописывается одна
Код
/console synchronizeSettings 0

либо аналогично в файле config.wtf
Код
SET synchronizeSettings "0"
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 1817 отредактировано tobmaps - Понедельник, 04.07.2016, 07:46
Just_Owen
Капрал
Очевидно что надо либо прописать вышеуказанную команду или же биндить юз макросов SDM на клавишу, естественно нужно SDM переименовывать, т.е. например пройтись прогой типа Folder Find Text, найти найти во всех файлах аддона все упоминания слова SuperDuper и заменить допустим на PuperTrooper, слова SMD заменить на BDSM, такой способ поможет даже самым параноикам.

lol а я думаю чего меня не забанили ))) (я юзал переделанный SDM) +PQR
Скайп Apokalipcic1
Сообщение # 1818 написано 04.07.2016 в 06:45
tobmaps
Капрал
Цитата Just_Owen ()
ol а я думаю чего меня не забанили ))) (я юзал переделанный SDM) +PQR
Подозреваю что ещё не поздно получить бан, у них уже сделана копия таблицы макросов на какую-то энную дату и, возможно, несколько копий на разные даты, для статистики для сравнения по тому сколько человек избавились от макросов, хотя наверняка и им могут бан прилепить в случае чего.
+ пока только 2 волны банов было, ожидаются ещё, на порции разбили. Опять же, если в макросах не хранилось ниодного /run или /script то шанс быть забаненым нулевой. Конечно можно стебануть написать "Привет админ CastSpellByName как слышно" что может тоже привести к бану в случае если у кого-то плохо с чувством юмора
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 1819 отредактировано tobmaps - Понедельник, 04.07.2016, 06:50
Just_Owen
Капрал
Цитата tobmaps ()
Подозреваю что ещё не поздно получить бан, у них уже сделана копия таблицы макросов на какую-то энную дату и, возможно, несколько копий на разные даты, для статистики для сравнения по тому сколько человек избавились от макросов, хотя наверняка и им могут бан прилепить в случае чего.+ пока только 2 волны банов было, ожидаются ещё. Опять же, если в макросах не хранилось ниодного /run или /script то шанс быть забаненым нулевой. Конечно можно стебануть написать "Привет админ CastSpellByName как слышно" что может тоже привести к бану в случае если у кого-то плохо с чувством юмора
у меня не одного макросса не было в Общих или Личных ... у меня все через "SDM" "PQR"
Скайп Apokalipcic1
Сообщение # 1820 написано 04.07.2016 в 06:54
rival123
Скаут
Если организуют сканирование памяти на lua-функции, то будет плохо скриптерам) Только вот возможно ли такое организовать? Это наверное сильно нагрузит сервера, т.к придется обрабатывать каждого персонажа в режиме реального времени.
Сообщение # 1821 написано 04.07.2016 в 11:11
UnitIsGhost
Скаут
tobmaps, полностью согласен с тобой.  у меня акк забанили, но там не одной плуа функции небыло и на нем я не юзал не унлокер, не пкр, а это значит что он даже такую простую хрень несмог без ошибок написать.
хотя, возможно что это тактический ход, чтоб не юзали сейф макро на сервере, ну и бабло с нубасов срубить заодно, когда те побегут за донат разбаниватся.
Сообщение # 1822 написано 04.07.2016 в 12:10
Just_Owen
Капрал
Так что PQR юзать можно ? (без макросов)
Скайп Apokalipcic1
Сообщение # 1823 написано 04.07.2016 в 20:16
extrimlol
Капрал
Да все можно юзать, нельзя только в макросах держать скрипты.
Вот разбанили самого известного скриптера., он даже стримит, у него только чат закрыт на стриме
http://forum.wowcircle.com/showthread.php?t=576188

Добавлено (06.07.2016, 11:28)
---------------------------------------------
Найдите ошибку. Хочу сделать авто зеленку (АМС) ДК с условием, если только кик на кд или нет ренджа на кик.
пробовал пока так

Код
local Spell, _, _, _, _, endTime = UnitCastingInfo("target")
local name = UnitName("targettarget")
local myname = UnitName("player")
local enabled = GetSpellCooldown("Заморозка разума")                        
local inRange = IsSpellInRange("Заморозка разума", "target")      
if Spell == ("Превращение") then
if name == myname then
local finish = endTime/1000 - GetTime()
                      if finish <= 0.2 then
if enabled == 1 then
end
return true
end
end
end

пробовал вместо
if enabled == 1 then
end

if enabled == 1 then
return false
end
Но он делает амс все равно.
ДЛя себя пока нашел выход такой, кик сбитие на 0,4, амс на 0.2
Сообщение # 1824 написано 06.07.2016 в 11:28
prn
Скаут
тебе чтобы после кика не прожималась и зеленка надо реализовать блокирование клавиш,дело в том что допустим у тебя зеленка и кик не на кд и оба могут быть заюзаны,сначала прожимается кик,и поидее зеленка не должна быть заюзана тк как кик уже сбил каст,в реале на серве все не так,
кик заюзался но для скрипта кик еще не сбил каст и поэтому юзается зеленка,те после юза кика надо делать блокировку юза зеленки скажем на 0.3 мс
ну например так переписывать не буду скрипты сделаны под мою прогу
если сработало условие на кик то в key пишем число например 6
пишем в конце скрипты
if key==6 then --кнопка спела
keyblock1=GetTime()+time_;
end

а в проверке на юз леленки дописываем условие (keyblock1-GetTime())<0 то юзаем зеленку
Сообщение # 1825 написано 08.07.2016 в 11:09
Babladin007
Скаут
Подскажите пожалуйсто, вот хочу сдлеать ПвЕ ротацию на длока, 3.3.5 чтоб сначало дал имолейт-поджог спам испепеления, прок беса-каст хаосболта, но хочу сам, помогите начать, как начать чтоб он в таргет вражеский кастанул имолейт и поддерживал его, т.е. обновлял за 1 сек до спада, функция какая нужно ли делать проверку на комбат? или еще что-то?
Сообщение # 1826 написано 08.07.2016 в 19:02
prn
Скаут
Цитата Babladin007 ()
Подскажите пожалуйсто, вот хочу сдлеать ПвЕ ротацию на длока, 3.3.5 чтоб сначало дал имолейт-поджог спам испепеления, прок беса-каст хаосболта, но хочу сам, помогите начать, как начать чтоб он в таргет вражеский кастанул имолейт и поддерживал его, т.е. обновлял за 1 сек до спада, функция какая нужно ли делать проверку на комбат? или еще что-то?
function UpdateDot(buff_,target_,basetime_,type_)
if type_=='dot' then type_='PLAYER|HARMFUL' end
if type_=='hot' then type_='PLAYER|HELPFUL' end
local name_,_,_,_,_,duration_,expirationTime_=UnitAura(target_,buff_,nil,type_);
if name_==nil then
return true
end
if (expirationTime_-GetTime()<basetime_ then
return true
end
return false
end
if проверка на рейндж и проверка на возможность каста  дотки и UpdateDot("баф от имолейта","target",1,"dot")  then тыкнуть на имолейт end

if UnitBuff("player","название бафа когда прокнул хаосболт")  then тыкнуть на хаосбол end

дальше примерно также
проверка на комбат стандартная функция wowapi UnitAffectingCombat("player")
Сообщение # 1827 отредактировано prn - Пятница, 08.07.2016, 21:56
extrimlol
Капрал
Цитата prn ()
тебе чтобы после кика не прожималась и зеленка надо реализовать блокирование клавиш,дело в том что допустим у тебя зеленка и кик не на кд и оба могут быть заюзаны,сначала прожимается кик,и поидее зеленка не должна быть заюзана тк как кик уже сбил каст,в реале на серве все не так,
кик заюзался но для скрипта кик еще не сбил каст и поэтому юзается зеленка,те после юза кика надо делать блокировку юза зеленки скажем на 0.3 мс
ну например так переписывать не буду скрипты сделаны под мою прогу
если сработало условие на кик то в key пишем число например 6
пишем в конце скрипты
if key==6 then --кнопка спела
keyblock1=GetTime()+time_;
end

а в проверке на юз леленки дописываем условие (keyblock1-GetTime())<0 то юзаем зеленку

все равно не понимаю как это реализовать в pqr
Дело в том, что в pqr на каждый спел свой скрипт, там нету для 1го скрипты много спелов, ну или я не умею это реализовать.
Если делать 2 спела, можно запихать их в ротацию по очереди(приоритет). Но кик юзается без гкд, соответственно способности применяются одновременно. Т.е. если даже записать условие в 1 спел и во второй, оно просто не успеет отработать, т.к. pqr будет юзать сразу 2 спела из-за того, что 1 из спелов не умеет гкд.
Пока. все что мне пришло в голову, это юзать кик на 0,4 до конца каста, а АМС до 0.2
Нужна именно проверка условия на кд спела (кика)до срабатывания АМС. я это вижу пока только вводом переменной local enabled = GetSpellCooldown("Заморозка разума") и проверкой этой переменной на значение кд
if enabled == 1 then
end
или
if enabled == 1 then
return false
end
Но почему-то не получается
есть кстати где-нибудь документация по pqr языку ?

--------------

Еще не получается сделать сбитие канального каст не мгновенно, а через время. Как то палевно очень.

Пробовал так
Код
if Spell2 == ("Исповедь") or Spell2 == ("Пытка разума") or Spell2 == ("Контроль над разумом")  or Spell2 == ("Канал здоровья") or Spell2 == ("Прилив сил") or Spell2 == ("") then
  local finish2 = endTime2/1000 - GetTime()
                      if finish2 >= 0.4 then

Но он все равно сбивает каст мгновенно
Сообщение # 1828 отредактировано extrimlol - Суббота, 09.07.2016, 11:46
prn
Скаут
у меня не pqr,сделать это в pqr без понятия,но идея такая что создаешь глабальную переменную в нее записываешь каждое нажатие на спел со временем его нажатия,а в других скриптах проверяешь условие что не истекло ли время последнего нажатия первого спела
так же можно реализовать проверку на текстуры,если спел допустим нажимается 4 раза подряд то цель за текстурой..
Сообщение # 1829 написано 09.07.2016 в 11:44
extrimlol
Капрал
ясненько, но поидее в pqr можно просто сделать условие на проверку кд. если кик не на кд, то и не надо юзать АМС.

А по поводу канальных кастов можешь подсказать с решением?

-----------------------

нашел решение по канальным спелам

local finish2 = endTime2/1000 - GetTime()
                      if finish2 <= 1.3 then

это для исповеди, если она кастуется 1,8 сек. Это ппц, надо на каждый спел делать отдельно проверку на время. сделаю только на исповедь и прилив сил пока.
Сообщение # 1830 отредактировано extrimlol - Суббота, 09.07.2016, 13:30
Поиск: