Модератор форума: staford11  
Использование Lua скриптов.
Justqwerty
Скаут
Так сможет кто-нибудь дополнить мой скрипт до блайнда,скатера,седакта?)
Сообщение # 301 написано 29.10.2014 в 09:59
printf
Скаут
Прямо в этой же теме на 7 странице лежит

Код
test2 = 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 == "Спелл" and destGUID == UnitGUID("player") then      
                     CastSpellByName("контрспелл")    
                           end      
                    end      
            end      
end      
test2:SetScript("OnEvent", ev)               
test2:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")               
test2:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")


Твой скрипт не дополнить для скатера и блайнда, в нем проверка на длину каста. UNIT_SPELLCAST_START - это начало каста по которому и происходит проверка длинны. Скатер, блайнд не имеют начало каста, у них есть только успешное применение SPELL_CAST_SUCCESS, седакт можешь вбить после шипа через or.
Сообщение # 302 отредактировано printf - Среда, 29.10.2014, 11:29
Justqwerty
Скаут
Код

if displayName == "Превращение" or "Соблазн" then


Вот так?
Сообщение # 303 написано 29.10.2014 в 15:01
Kelwin
Сержант
Цитата Justqwerty ()
Код

if displayName == "Превращение" or "Соблазн" then

Вот так?

Код
if displayName == "Превращение" or displayName == "Соблазн" then




Цитата printf ()
Почему то spellstopcasting() не стопает каст

SpellStopCasting(), в lua важен регистр.
Сообщение # 304 отредактировано Kelwin - Среда, 29.10.2014, 21:13
printf
Скаут
Kelwin
Я писал с правильным регистром, просто на форуме так отписал.
А можно как нибудь задавать приоритет определенных действий? На примере

Код

        local plRange = IsSpellInRange("Рассеивание заклинаний", "player")    
        local oneRange = IsSpellInRange("Рассеивание заклинаний", "party1")
                    local pl = "player"         
                    local one = "party1"                
                    if plRange == 1 then                
                     if UnitDebuff(pl, "каст1"(приоритет 1)) or UnitDebuff(pl, "каст2"(приоритет 2)) then                
                      CastSpellByName("диспел", "player")       
                          end                
                    end       
          if oneRange == 1 then                
          if UnitDebuff(one, "каст1"(приоритет 10)) or UnitDebuff(one, "каст2"(приоритет 8)) then                
                      CastSpellByName("диспел", "party1")          
                     end                
                    end                   
Сообщение # 305 отредактировано printf - Среда, 29.10.2014, 21:31
Kelwin
Сержант
Цитата printf ()
А можно как нибудь задавать приоритет определенных действий?

Код
if UnitDebuff(pl, "каст1"(приоритет 1)) then
       CastSpellByName("диспел", "player")     
elseif UnitDebuff(pl, "каст2"(приоритет 2)) then
       CastSpellByName("диспел", "player")     
end


С диспелом конечно неудачный пример, но тем не менее...

Добавлено (29.10.2014, 21:39)
---------------------------------------------

Цитата printf ()
Я писал с правильным регистром, просто на форуме так отписал.

Какой спелл ты кастовал?
Сообщение # 306 отредактировано Kelwin - Среда, 29.10.2014, 21:38
printf
Скаут
Цитата Kelwin ()
Какой спелл ты кастовал?


Код
  if (type == "SPELL_CAST_SUCCESS") then       
                            local spellId, spellName = select(9, ...)       
                            if spellName == "Коварный удар" and destGUID == UnitGUID("player") then       
                      SpellStopCasting()
                            end       
                     end   

потом тоже самое через макрос
Код
if (type == "SPELL_CAST_SUCCESS") then       
                            local spellId, spellName = select(9, ...)       
                            if spellName == "Коварный удар" and destGUID == UnitGUID("player") then       
                      RunMacro("holy1")
                            end       
                     end   

holy1
Код
/run SpellStopCasting()
/run CastSpellByName("Кольцо света")

Простое нажатие работало, с проверкой на коварный удар нет, швд же отлично отдавалось

коварный удар и холинову для наглядности использовал

Цитата Kelwin ()
if UnitDebuff(pl, "каст1"(приоритет 1)) then
       CastSpellByName("диспел", "player")     
elseif UnitDebuff(pl, "каст2"(приоритет 2)) then
       CastSpellByName("диспел", "player")     
end


Я имел ввиду, блин, ну на грубом примере объясню. Маг отдает нову мне и напарнику. В скрипте приоритет на нову по мне 10, а по напарнику 8, чтобы диспел сначала шел по мне, а потом напарнику.
Сообщение # 307 отредактировано printf - Среда, 29.10.2014, 21:54
Kelwin
Сержант
Цитата printf ()
Простое нажатие работало, с проверкой на коварный удар нет, швд же отлично отдавалось

Так бы сразу и писал. А то вводишь людей в заблуждение bag
Займись отладкой самого скрипта. Возможно интеррапт тебе прилетает раньше, чем ты стопаешь каст при помощи SpellStopCasting().
Цитата printf ()
Я имел ввиду, блин, ну на грубом примере объясню. Маг отдает нову мне и напарнику. В скрипте приоритет на нову по мне 10, а по напарнику 8, чтобы диспел сначала шел по мне, а потом напарнику.

Такую фигню можно замутить, но ты запаришься реализовывать функцию приоритетов. Приоритеты ты и так расставляешь последовательностью проверок if. Чем выше равнозначный if в коде - тем больше у него приоритет.
Сообщение # 308 написано 29.10.2014 в 22:08
Kelwin
Сержант
Цитата Fuckyouz ()
Подскажите почему на катаклизме не работает ?

Слабо себе представляю как можно под дебаффом блинды дать блинду в ответ blink
Сообщение # 309 написано 29.10.2014 в 22:13
Fuckyouz
Скаут
Цитата Kelwin ()
Слабо себе представляю как можно под дебаффом блинды дать блинду в ответ

Да я замучился уже пытаюсь найти как ловить блайндом какие либо спелы ?
Сообщение # 310 написано 29.10.2014 в 22:16
Kelwin
Сержант
Цитата Fuckyouz ()
Да я замучился уже пытаюсь найти как ловить блайндом какие либо спелы ?

Явно не при помощи UnitDebuff(). Используй ивенты на подобии SPELL_CAST_SUCCESS, COMBAT_LOG_EVENT_UNFILTERED.
Сообщение # 311 написано 29.10.2014 в 22:18
Fuckyouz
Скаут
Цитата Kelwin ()
Явно не при помощи UnitDebuff(). Используй ивенты на подобии SPELL_CAST_SUCCESS, COMBAT_LOG_EVENT_UNFILTERED

Был бы благодарен если бы кто то поделился таким интересным кодом т.к перерыл много сылок так и не нашел нужного , также хотел бы Auto fake в приват =)
Сообщение # 312 отредактировано Fuckyouz - Четверг, 30.10.2014, 00:05
Kelwin
Сержант
Цитата Fuckyouz ()
Был бы благодарен если бы кто то поделился таким интересным кодом т.к перерыл много сылок так и не нашел нужного

У меня такого кода нет. Я понимаю принцип работы и знаю как написать, но не заинтересован в этом (не в духе). Так что ожидай своего спасителя, который поделится готовым кодом wink
Сообщение # 313 написано 29.10.2014 в 22:28
printf
Скаут
Цитата Necrofobianx ()
Это не твой скрипт на швд а мой,так что не надо попрошайничать плюсами.

Да ладно. На овнеде на первой же странице он лежит, с ссылкой на первоисточник.
Сообщение # 314 отредактировано printf - Среда, 29.10.2014, 23:43
jokerru
Скаут
Цитата Justqwerty ()
Вот он скрипт на швд полиморфа:)
А теперь вопрос к опытному скриптеру:
Может подредактировать этот скрипт, чтобы он давал швд не только в полиморф, но и в седакт,блайнд,скаттер?

Этот скрипт фейкается. Можно сделать чтобы он кидал швд только когда каст успешно проходил?
Сообщение # 315 написано 30.10.2014 в 16:14
cheburator2000
Скаут
Привет всем) помогите плс со скриптом на ваниш) Нашел у вас на форуме скрипт на ваниш но он срабатует даже когда кто-то другой юзает например "блайнд" или даже когда я сам жму "блайнд" у меня срабатует "ваниш"... Может кто-то сможешь исправить его что бы он правильно работал... а то я в етом не сильно шарю...буду очень благодарен))Вот собственно и он :

Код
test2 = 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 == "Подлый трюк" or spellName == "Парализующий удар" or spellName == "Лик смерти" and destGUID == UnitGUID("targetenemy") then        
                       CastSpellByName("Исчезновение")      
                             end        
                      end        
              end        
end        
test2:SetScript("OnEvent", ev)                 
test2:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")                 
test2:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
Сообщение # 316 отредактировано cheburator2000 - Пятница, 31.10.2014, 21:06
Justqwerty
Скаут
Цитата cheburator2000 ()
Привет всем) помогите плс со скриптом на ваниш) Нашел у вас на форуме скрипт на ваниш но он срабатует даже когда кто-то другой юзает например "блайнд" или даже когда я сам жму "блайнд" у меня срабатует "ваниш"... Может кто-то сможешь исправить его что бы он правильно работал... а то я в етом не сильно шарю...буду очень благодарен))Вот собственно и он :


На форуме есть другой скрипт)
Сообщение # 317 отредактировано Justqwerty - Суббота, 01.11.2014, 15:19
FL1CKER
Скаут
Ребят доброго времени суток. Есть у кого рабочий луа анлок под версию 6.0.3 под 32 разрядную винду?
Сообщение # 318 написано 01.11.2014 в 15:48
Find200
Скаут
Цитата FL1CKER ()
Ребят доброго времени суток. Есть у кого рабочий луа анлок под версию 6.0.3 под 32 разрядную винду?


Да есть пиши скайп alexgtx_TDA
Сообщение # 319 написано 01.11.2014 в 18:52
partik1995
Скаут
Всем привет_) Подскажите пожалуйста скрипт на айсблок мага что бы ловить "Лик смерти" буду очень благодарен))))
Сообщение # 320 написано 02.11.2014 в 02:55
Justqwerty
Скаут
Цитата partik1995 ()
скрипт на айсблок мага что бы ловить "Лик смерти"


Эх... Могу кинуть тебе этот скрипт, только жаль, что в игре есть такой класс как ДК!!!!!! Да-да, ведь именно у них есть тоже такой спелл "Лик смерти".
Скрипт, который я тебе могу скинуть, будет работать и на лока и на дк.. А это очень глупо. В таком случае, я думаю, что такой скрипт будет бессмысленным. Хотя, если ты любишь ПвП против локов, то включай его против локов в дуэльках:)
Код

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 = GetSpellCooldown("Ледяная глыба")  
if enabled == 0 then  
CastSpellByName("Ледяная глыба")  
end  
end  
end  
end  
end)
Сообщение # 321 написано 02.11.2014 в 11:55
jokerru
Скаут
Цитата Justqwerty ()
local ScriptAddon = CreateFrame("Frame", "ScriptAddon", nil)
function ScriptAddon:OnEvent(event, ...) -- functions created in "object:method"-style have an implicit first parameter of "self", which points to object
self[event](self, ...) -- route event parameters to ScriptAddon:event methods
end
ScriptAddon:SetScript("OnEvent", ScriptAddon.OnEvent)
ScriptAddon:RegisterEvent("UNIT_SPELLCAST_START")

function ScriptAddon:UNIT_SPELLCAST_START(unit)
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(unit)
if not spell then return end
if displayName == "Превращение" then
self:SetScript("OnUpdate", self.OnUpdate)
self.unit = unit
self.total = 0
self.endTime = endTime/1000 -- this is equal to GetTime() at which the cast will end
self.unitName = UnitName(unit)
end
end

function ScriptAddon:OnUpdate(elapsed)
self.total = self.total + elapsed
-- only call function every 50ms to improve performance
if self.total >= 0.00 then
self.total = 0
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
if endTime and endTime/1000 - GetTime() <= 0.2 then
-- stop using performance heavy onupdate function if no spellcast is currently going on
self:SetScript("OnUpdate", nil)
TargetUnit(self.unit)
CastSpellByName("Слово Тьмы: Смерть")
elseif self.endTime-0.2 <= GetTime() then -- lost Unit (changed target e.g.), guessing cast timer
self:SetScript("OnUpdate", nil)
TargetUnit(self.unitName)
CastSpellByName("Слово Тьмы: Смерть")
end
end
end

Вот он скрипт на швд полиморфа:)
А теперь вопрос к опытному скриптеру:
Может подредактировать этот скрипт, чтобы он давал швд не только в полиморф, но и в седакт,блайнд,скаттер?
Жду помощи:D
P.S. от + не откажусь (кому помог со скриптом)


Кто знает как сделать чтобы швд не кидалось в фейки? Тестили с другом этот скрипт, на середине каста друг фейкает, но скрипт все равно кидает швд.
Сообщение # 322 написано 02.11.2014 в 13:06
GeimerMSI
Центурион
Народ, когда я юзаю Gagarina у меня Wow сворачивается автоматически примерно: каждые 2-3мин, Как исправить? как тока я его выключаю вов работает нормально..
Кто подскажет? +10 обеспеченно
Сообщение # 323 написано 02.11.2014 в 18:10
tobmaps
Капрал
Цитата Justqwerty ()
что в игре есть такой класс как ДК!!!!!! Да-да, ведь именно у них есть тоже такой спелл "Лик смерти".

у эвента COMBAT_LOG_EVENT_UNFILTERED девятым аргументом (arg9) идет ID спелла, используйте его вместо arg10, в скобки соответственно через запятую ID всех рангов лика
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 324 написано 02.11.2014 в 20:47
Justqwerty
Скаут
Цитата tobmaps ()
tobmaps

Оо, спасибо большое, не знал:) Лови + biggrin

Добавлено (03.11.2014, 14:32)
---------------------------------------------
Парни, помогите!
Можно ли с помощью SDM 2 скрипта или более объеденить? В лс плиз)
p.s с меня + smile

Сообщение # 325 написано 03.11.2014 в 14:32
tobmaps
Капрал
Цитата Justqwerty ()
Можно ли с помощью SDM 2 скрипта или более объеденить?

Легко, в конец текста первого скрипта добавляем
Код
RunMacroText("/sdm run НазваниеДругогоНужногоСкриптаИзSDM")

Их можно вообще хоть паравозом цеплять друг за другом, главное чтобы в итоге какой-либо скрипт не был вызван дважды и не зациклил код :S
Отличный пример тут

Цитата Fuckyouz ()
Спелл которым контрить собрался

сконтрить спелл с эвентом
Цитата Fuckyouz ()
UNIT_SPELLCAST_SUCCEEDED

который означает что каст успешно завершен, полагаю, безнадежная идея. А по условию вам в ЛС уже давал ответ.
Сообщение # 326 отредактировано tobmaps - Понедельник, 03.11.2014, 19:49
Hellix
Скаут
Всех приветствую.
Можно ли данный скрипт
/script n=GetNumWhoResults(); i=1; while(i<n+1) do c=GetWhoInfo(i); SendChatMessage("текст","WHISPER",nil,c) i=i+1; end;
доработать таким образом,что-бы каждую минуту создавался список /кто , с разными параметрами,к примеру /кто 10-14
/кто 15-19 /кто 20-24 и каждому этому списку автоматически отсылалось сообщение.И что-бы данная процедура повторялась по кругу через каждые 30 минут.
Сообщение # 327 отредактировано Hellix - Понедельник, 03.11.2014, 20:42
FL1CKER
Скаут
Доброго времени суток господа, нужен скрипт для ДК на "Смерть и Разложение", который бы кидался автоматом прямо под ноги таргету. Есть скрипт на автосферы для монка. Суть его заключаеся в том, что монк кидает их прямо под ноги таргету, тем самым заставляя дымиться, воспламеняться, и подгорать его пу..., так о чем это я - думаю на основе этого срипта возможно сделать скрипт и для автоматического "кидания" Смерти и Разложения. Механика "Смерти и Hазложения" - далее ДНД заключается в том, что Вы оскверняете выбранную область, нанося оказавшимся в ней противникам урон (с глифом, еще и замедляете таргет). Хелп друзья.
Сообщение # 328 написано 07.11.2014 в 07:48
JannaKnopka
Скаут
Скупаю луа скрипты, писать в пм
http://wowjp.net/forum/187-288599-1
Сообщение # 329 написано 07.11.2014 в 13:01
wardaince
Скаут
Ребят,помогите со скриптом на ферала! Суть в том,что бы Дикий Рев заканчивался на тебе тратилось кп на дикий рев.
Сообщение # 330 написано 11.11.2014 в 00:05
Поиск: