Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
слишком много текста, Не стал читать Я так понимаю тебе нужно кастить скилл на соперника на арене не меняя таргет? У тебя есть функция к примеру http://wowprogramming.com/docs/api/CastSpellByName там есть параметр Target у параметра таргет есть типы список типов тут: http://wowprogramming.com/docs/api_types#unitID Cпасибо! Сейчас прочитаю.
Сообщение # 1711 написано 30.05.2016 в 19:18
|
Esdescon,
Код function Mucks(self, elapsed) if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then local enabled = GetItemCooldown("Медальон Орды") if enabled == 0 then RunMacroText("/use Медальон орды") end end end CreateFrame("Frame", "MucksFrame") MucksFrame:SetScript("OnUpdate", Mucks)
Сообщение # 1714 написано 31.05.2016 в 16:23
|
TwoScriptForVanish = CreateFrame("Frame", "TwoScriptForVanish", UIParent);
TwoScriptForVanish: RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") TwoScriptForVanish:SetScript("OnEvent", function(self, event, ...) VanishSpellTwo = {"Ослепление", "Подлый трюк", "Удар по почкам", "Ошеломление", "Лик смерти", "Глубокая заморозка"} -- Вписываем название спеллов вот так "Название", for x = 1,#VanishSpellTwo do local args = {...} if (arg10 == VanishSpellTwo [x]and arg2 == "SPELL_CAST_SUCCESS" and arg7 ==UnitName("player")) then CastSpellByName("Исчезновение") end end end) может кто добавить выключатель? в него и включатель? через команду Добавлено (31.05.2016, 17:00) TwoScriptForVanish = CreateFrame("Frame", "TwoScriptForVanish", UIParent); TwoScriptForVanish: RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") TwoScriptForVanish:SetScript("OnEvent", function(self, event, ...) VanishSpellTwo = {"Ослепление", "Подлый трюк", "Удар по почкам", "Ошеломление", "Лик смерти", "Глубокая заморозка"} -- Вписываем название спеллов вот так "Название", for x = 1,#VanishSpellTwo do local args = {...} if (arg10 == VanishSpellTwo [x]and arg2 == "SPELL_CAST_SUCCESS" and arg7 ==UnitName("player")) then CastSpellByName("Исчезновение") end end end) CreateFrame("Frame", "DestroyFrame") DestroyFrame:SetScript("OnUpdate", Destroy) function ss(self) if spellON["Destroy"] == false then spellON["Destroy"] = true print("on") elseif spellON["Destroy"] == true then spellON["Destroy"] = false print("off") end end SLASH_SS1 = '/ss'; SlashCmdList["SS"] = ss вот включатель выключатель соедините по правильному дальше буду сам делать
Сообщение # 1715 написано 31.05.2016 в 17:00
|
function Mucks(self, elapsed) if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then local enabled = GetItemCooldown("Медальон Орды") if enabled == 0 then RunMacroText("/use Медальон орды") end end end CreateFrame("Frame", "MucksFrame") MucksFrame:SetScript("OnUpdate", Mucks) chaosway, Сколько раз не делал в макросе (он просто его спамит) пытался на разных патчах .
Сообщение # 1716 написано 31.05.2016 в 20:26
|
Объясните мне как нубу в Lua да и вообще в этой сфере. Зачем вы юзаете ранмакро, если есть функция UseItemByName? :) Добавлено (31.05.2016, 23:19) --------------------------------------------- И не жалко вот людям аккаунты терять на оффе... |
Вот вам моя версия реагирования на различные ауры: http://paste2.org/86pJPnOG
Как она работает, есть массив CheckSpell, в него можно записывать различные скиллы и реагирование на них. Например, можно записать роговское Ослепление и чтоб при срабатывании на нас данного скилла, автоматически юзалась тринька "Медальон Альянса". Код [2094] = {"ITEM", "Медальон Альянса"} Т.е. Думаю логически понятно что шаблон добавления предметов такой: Код [SPELL_ID or SPELL_NAME] = {"TYPE (Item or spell)", "ID or Name"}, Вот еще один пример добавления роговского Ослепление Код ["Ослепление"] = {"ITEM", "Медальон Альянса"}, Точно так же можно добавить реагирование скиллом: Код ["Ослепление"] = {"SPELL", 59752}, Ну а так-как мне было лень заходить в игру и тестить все это, по этому я думаю вы сами сможете поменять принты на нужные вам функции. |
[2094] = {"SPELL", 59752},
["Ошеломление"] = {"ITEM", "Медальон Альянса"} Немного этого не понял. Я так понимаю можно записать по разному (потому что в одном вы указали ид спела а в другом просто тупо написали название). Добавлено (01.06.2016, 01:44) |
Я так понимаю можно записать по разному (потому что в одном вы указали ид спела а в другом просто тупо написали название). Да, можно записывать как название так и ID скилов. Только не нужно забывать о типах данных, если вы записуете цифры то не нужно их брать в кавычки, если вы записуете строку, а именно данные которые имеют тип String, то их обязательно нужно брать в кавычки. Хоть Lua не такой язык как тот ж Си (в плане типов), но тут тоже есть мелкие правила для типов данных. Через Аддон, ну или какой либо эмулятор аддона. Но дабы не заниматься сексом с "эмуляторами" проще составить аддон, это дело 5-10 секунд. п.с Нужно не забывать что у меня не выставлены основные функции для запуска Скилов и Предметов, на их месте стоят просто принты, их тоже нужно поменять. Добавлено (01.06.2016, 01:55) Эм, ну на самом деле есть |
Сложа xD (Особенно ещё и аддон делать). Подумал я тут (месяцок пройдёт может и разберусь). А что там аддон делать? Вот на... https://mega.nz/#!T9xEDC4T!Ry0a2gmKkzdAVtVUrRsmgdPpliTPSq-IkMjPzTB1XIE
Сообщение # 1725 написано 01.06.2016 в 02:01
|
У меня горит с Esdescon, я же дал тебе полностью рабочий скрипт. Я ПРОВЕРИЛ ДАЖЕ НА ОФЕ И НА ПИРАТКАХ ЛК! ВСЁ РАБОТАЕТ ИДЕАЛЬНО, НО ТЫ ГОВОРИШЬ ЧТО НЕ РАБОТАЕТ, А ОКАЗЫВАЕТСЯ У ТЕБЯ НЕ БЫЛО АДДОНА????????????? ТЫ ЧТО ЕГО ПРОСТО В ЧАТ ПЫТАЛСЯ ВПИХНУТЬ? ИЛИ В ШКОЛЬНУЮ ТЕТРАДКУ ПЕРЕПИСАЛ???????
Сообщение # 1731 написано 01.06.2016 в 10:55
|
Через аддон (макрос). Отдельный аддон я не пробнул сделать .
Добавлено (01.06.2016, 12:03) У меня горит с Esdescon, я же дал тебе полностью рабочий скрипт. Я ПРОВЕРИЛ ДАЖЕ НА ОФЕ И НА ПИРАТКАХ ЛК! ВСЁ РАБОТАЕТ ИДЕАЛЬНО, НО ТЫ ГОВОРИШЬ ЧТО НЕ РАБОТАЕТ, А ОКАЗЫВАЕТСЯ У ТЕБЯ НЕ БЫЛО АДДОНА????????????? ТЫ ЧТО ЕГО ПРОСТО В ЧАТ ПЫТАЛСЯ ВПИХНУТЬ? ИЛИ В ШКОЛЬНУЮ ТЕТРАДКУ ПЕРЕПИСАЛ??????? Приношу свои извинения (он работает). Но мне бы хотелось всё таки сделать что то типа авто ваниша (чтобы скилы уходили в никуда).
Сообщение # 1732 написано 01.06.2016 в 12:03
|
Esdescon, Это на швд, подставляй сюда свои спеллы
Код Swd = CreateFrame("Frame") local ev = function(self, event, ...) if (event == "COMBAT_LOG_EVENT_UNFILTERED") then local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName = select(1, ...) if (type == "SPELL_CAST_SUCCESS") then local spellId, spellName = select(9, ...) if spellName == "Ослепление" or spellName == "Покаяние" or spellName == "Дезориентирующий выстрел" and destGUID == UnitGUID("player") then CastSpellByName("Слово тьмы: Смерть") end end end end swd:SetScript("OnEvent", ev) swd:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") swd:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") Добавлено (01.06.2016, 12:41)
Сообщение # 1733 написано 01.06.2016 в 12:41
|
function Mucks(self, elapsed)
if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then local enabled = GetItemCooldown("Медальон Орды") if enabled == 0 then RunMacroText("/use Медальон орды") end end end CreateFrame("Frame", "MucksFrame") MucksFrame:SetScript("OnUpdate", Mucks) Пробнул его (при дебафе просто лагает и ничего больше) после того как он спадёт всё нормально.
Сообщение # 1734 написано 01.06.2016 в 12:54
|
Esdescon, ты медальон орды прожимаешь? Или спелл какой то? Если спел, то local enabled = GetItemCooldown("Медальон Орды") должно быть GetSpellCooldown
Добавлено (01.06.2016, 13:29)
Сообщение # 1735 написано 01.06.2016 в 13:29
|
Ребят подскажите как проверить скриптом рейд на определенный Buff
На Debuff нашел но переделать его не получилось Код /run t="raid"; nps=1; npe=GetNumRaidMembers(); if npe==0 then t="party"; nps=0; npe=GetNumPartyMembers() end; w=nil; m=0; 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 then for j=1,40 do d={UnitDebuff(tt,j)}; if d~=nil and (d[5]=="Magic" or d[5]=="Poison" or d[5]=="Disease") and d[7]>m then w=tt; m=d[7] end end end end; if w~=nil then RunMacroText("/cast [@"..w.."] Очишение духа") end |
| |||