Модератор форума: staford11  
Использование Lua скриптов.
wardaince
Скаут
Цитата spice28 ()
Ребят,пожалуйста помогите с скриптом на отражения заклинания на варриора
+ Ребят,пожалуйста скиньте скрипт на отражение. C меня +++
Сообщение # 301 написано 28.10.2014 в 20:37
printf
Скаут
Столько скриптов крутых выложили, ребят может есть у кого автофейк киков.(не скриптовых инсант, а обычных)

upd Почему то spellstopcasting() не стопает каст, для проверки вбивал простую абилку, каст продолжается. Пошел другим путем через JumpOrAscendStart() при проверке обычной абилкой персонаж прыгает тем самым стопая каст, однако кик проходит. Скрипт реагирует уже на свершившееся действие, так как у интераптов гораздо меньше флайтайм чем у блайндов скатеров итд кик проходит.

Код
10/29 04:12:02.177  SPELL_CAST_SUCCESS,0x000000000000091A,"Gmnil",0x10548,0x0000000000032829,"Milahz",0x511,44572,"Глубокая заморозка",0x10
10/29 04:12:02.267  SPELL_CAST_SUCCESS,0x0000000000032829,"Milahz",0x511,0x000000000000091A,"Gmnil",0x10548,32379,"Слово Тьмы: Смерть",0x20
10/29 04:12:02.267  SPELL_DAMAGE,0x0000000000032829,"Milahz",0x511,0x000000000000091A,"Gmnil",0x10548,32379,"Слово Тьмы: Смерть",0x20,1251,0,32,0,0,0,nil,nil,nil
10/29 04:12:02.267  SPELL_AURA_APPLIED,0x0000000000000000,nil,0x80000000,0x0000000000032829,"Milahz",0x511,32409,"Слово Тьмы: Смерть",0x20,DEBUFF
10/29 04:12:02.363  SPELL_AURA_APPLIED,0x000000000000091A,"Gmnil",0x10548,0x0000000000032829,"Milahz",0x511,44572,"Глубокая заморозка",0x10,DEBUFF

0.186 флайтайм дипа


Код
10/29 04:12:58.605  SPELL_CAST_START,0x0000000000032829,"Milahz",0x511,0x0000000000000000,nil,0x80000000,48063,"Великое исцеление",0x2
10/29 04:13:01.003  SPELL_CAST_SUCCESS,0x000000000000091A,"Gmnil",0x10548,0x0000000000032829,"Milahz",0x511,2139,"Антимагия",0x40
10/29 04:13:01.017  SPELL_CAST_FAILED,0x0000000000032829,"Milahz",0x511,0x0000000000000000,nil,0x80000000,48063,"Великое исцеление",0x2,"Прервано"
10/29 04:13:01.017  SPELL_INTERRUPT,0x000000000000091A,"Gmnil",0x10548,0x0000000000032829,"Milahz",0x511,2139,"Антимагия",0x40,48063,"Великое исцеление",2
10/29 04:13:01.017  SPELL_AURA_APPLIED,0x000000000000091A,"Gmnil",0x10548,0x0000000000032829,"Milahz",0x511,55021,"Антимагия - немота",0x40,DEBUFF

и всего лишь 0.014 флайтайм кика


Так же попробовал через MoveForwardStart() и MoveForwardStop() - тоже самое. Несмотря на то что многие активно рекламируют автофейки, да и сам я видел ребят которые действительно скриптами фейкают(несколько секунд втыкая потом почему каст стопнулся) не представляю как эти скрипты могут работать. Правда тестировал ночью при пинге в 9мс на фане циркуля, может днем флайтайм увеличивается у киков. Быть может просто нужен spellstopcasting(), но у меня он почему то не работает.
Сообщение # 302 отредактировано printf - Среда, 29.10.2014, 04:42
Justqwerty
Скаут
Так сможет кто-нибудь дополнить мой скрипт до блайнда,скатера,седакта?)
Сообщение # 303 написано 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.
Сообщение # 304 отредактировано printf - Среда, 29.10.2014, 11:29
Justqwerty
Скаут
Код

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


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

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

Вот так?

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




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

SpellStopCasting(), в lua важен регистр.
Сообщение # 306 отредактировано 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                   
Сообщение # 307 отредактировано 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 ()
Я писал с правильным регистром, просто на форуме так отписал.

Какой спелл ты кастовал?
Сообщение # 308 отредактировано 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, чтобы диспел сначала шел по мне, а потом напарнику.
Сообщение # 309 отредактировано printf - Среда, 29.10.2014, 21:54
Kelwin
Сержант
Цитата printf ()
Простое нажатие работало, с проверкой на коварный удар нет, швд же отлично отдавалось

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

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

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

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

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

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

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

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

Этот скрипт фейкается. Можно сделать чтобы он кидал швд только когда каст успешно проходил?
Сообщение # 317 написано 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")
Сообщение # 318 отредактировано cheburator2000 - Пятница, 31.10.2014, 21:06
Justqwerty
Скаут
Цитата cheburator2000 ()
Привет всем) помогите плс со скриптом на ваниш) Нашел у вас на форуме скрипт на ваниш но он срабатует даже когда кто-то другой юзает например "блайнд" или даже когда я сам жму "блайнд" у меня срабатует "ваниш"... Может кто-то сможешь исправить его что бы он правильно работал... а то я в етом не сильно шарю...буду очень благодарен))Вот собственно и он :


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


Да есть пиши скайп alexgtx_TDA
Сообщение # 321 написано 01.11.2014 в 18:52
partik1995
Скаут
Всем привет_) Подскажите пожалуйста скрипт на айсблок мага что бы ловить "Лик смерти" буду очень благодарен))))
Сообщение # 322 написано 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)
Сообщение # 323 написано 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. от + не откажусь (кому помог со скриптом)


Кто знает как сделать чтобы швд не кидалось в фейки? Тестили с другом этот скрипт, на середине каста друг фейкает, но скрипт все равно кидает швд.
Сообщение # 324 написано 02.11.2014 в 13:06
GeimerMSI
Центурион
Народ, когда я юзаю Gagarina у меня Wow сворачивается автоматически примерно: каждые 2-3мин, Как исправить? как тока я его выключаю вов работает нормально..
Кто подскажет? +10 обеспеченно
Сообщение # 325 написано 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
Сообщение # 326 написано 02.11.2014 в 20:47
Justqwerty
Скаут
Цитата tobmaps ()
tobmaps

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

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

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

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

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

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

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

который означает что каст успешно завершен, полагаю, безнадежная идея. А по условию вам в ЛС уже давал ответ.
Сообщение # 328 отредактировано 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 минут.
Сообщение # 329 отредактировано Hellix - Понедельник, 03.11.2014, 20:42
FL1CKER
Скаут
Доброго времени суток господа, нужен скрипт для ДК на "Смерть и Разложение", который бы кидался автоматом прямо под ноги таргету. Есть скрипт на автосферы для монка. Суть его заключаеся в том, что монк кидает их прямо под ноги таргету, тем самым заставляя дымиться, воспламеняться, и подгорать его пу..., так о чем это я - думаю на основе этого срипта возможно сделать скрипт и для автоматического "кидания" Смерти и Разложения. Механика "Смерти и Hазложения" - далее ДНД заключается в том, что Вы оскверняете выбранную область, нанося оказавшимся в ней противникам урон (с глифом, еще и замедляете таргет). Хелп друзья.
Сообщение # 330 написано 07.11.2014 в 07:48
Поиск: