올커니하면서
2013-02-14 22:53
조회: 42,421
추천: 26
글 내용의 대부분은 가로 640px의 이미지 파일로 작성되었습니다. 모바일 환경 열람을 권하지 않습니다.
입문자가 필요한 표시기를 만들 때 필요한 기술을 소개하기 위한 예제의 설정 과정을 소개한 것입니다. 분류 1 예제는 커스텀 함수를 사용하지 않는 초급 기능으로만 구성하였으므로 import string은 포함하지 않았습니다. '13.03.21 : 예제 추가 '13.02.19 : 예제 2-1 오류 확인. 애니메이션 함수 수정(Import string은 수정 안됨) '13.02.18 : 예제 1-1 오류 확인. 댓글로 수정 '12.02.16 : 예제 추가
목차 분류: 전사, 주문 알림, 이벤트 트리거, 다중 트리거, 애니메이션
분류: 내부쿨, 이벤트 트리거, 표시기 겹치기
분류: 사냥꾼, 상태 바, 유동적 그룹, 버프 없음 알림
분류: 수도사, 커스텀 트리거, 커스텀 dynamic info, 커스텀 애니메이션
Import String ======================================================================================================
dGvFmaGiH0LeQQrjrDkj0QeQKxjLGzPuUfiL2frQFbsQHPkDmrzzsj1ZaPAAKGRjLOTbsX3eQOXbIIZPe5EcL9bIuhuvSqq4HGezIGe1fjsSrPu6JcvXibj4KqGvsuZukvUjiQANcXpLsvlvjWtfmvq1vvIARcvWxHiVfcDxiQ9c8xIyWuhgQfdsYJjPjdkxwLnRu9zr1OvsoTKETsOzRQUnK2nHFlYWvsTCs9CPy6kUUuTDj47cvOXlropjQ1luLEpiHMpicDFquz)ObmLqg1ukMDjYlMsYeIGMZsqtkeLUtic2Zuc1WkHoqisUDiIoYqLA1fjnidaheqbbyGamaCqyUstB)48gqO9ldVDiiIuaHMbRUytOgVhisg0acLA)(EZnGiqBRFFbHMbRUytB)48gqO9ldVDiiIuab1EZKqHFLgqyVluNAsuUiLPPPP)jv8NUa(3p6y0rJszAAA66onspscdop)0pOPUyGaRre6itpRobLPPPPPPPPlG)9JogD27lDCrxgfpRKE)Ns6Yi9ijm488t)GM6IbcSgrOJmn0shp3aVIELlwKUfOZkshx0i9ijm488t)GM6IbcSgrfqMgQPxwuhOWH)ZkipUu5OR)yLpD0IuMMMMMMMMUa(3p6y0O4zL07)usxUa(3Vw4v6wwKwAPPJg)4hLY0000NagLPPPP1301c6c4F)O8jGbcDXOR55Ngaheu7ntcfe27c1PMeLlszAAAA9nDTGgPhjHbNNF6h0uxmqG1iMHmDSy0I6NYNagyab1EZKqHFLMLxddphiCfoXacWQnR)yLHFLM2D7dieFvqy0188tdGdcJYRpqqT3mjuqqT3mj0WGvxSbe27c1PMeLlszAAA6Fsf)PBgS6I0XOFPmnnnDDNgPhjHbNNF6h0uxmqG1icDKPNvNGY00000000ndwDr6y0Ovrz6Y0O4zL07)usxMgPhjHbNNF6h0uxmqG1icDKPHw645g4v0RCr6I0TaDgDXn6S3IuMMMM(eWOmnnnT(MUwq3my1fP8jGbcxHtmnGWYrqaCjplVGhqqT3mjuOCxJNAsac7DH6utIYfPmnnn9pPI)0O4s7AS6utc6y0VsdnuMMMM(NuXFAyDnEQjbDmAyDnEQjbDstNrzAAA6Fsf)PVsRRA8utc4v0Jog9vADvJNAsaVIE0jn9lLPPPPPmnnnDDNgPhjHbNNF6h0uxmqG1icDKPNvNGY00000000xP1vnEQjb8k6rhJgPhjHbNNF6h0uxmqG1icDKPmnnnnnnnnSUgp1KGognkU0UgRo1KGoUOxwuhOWH)ZkipUu5OR)yLpD0I0qnnspscdop)0pOPUyGaRrubKPmnnn9jGrzAAAAkttttRVPRf0W6A8utIn6R06Qgp1KaEf9O8jGbcQ9MjHgbJEGWExOo1KOCrkttttx3Pr6rsyW55N(bn1fdeynIkGm9S6euMMMMMMMM(NuXF6c4F)YOJrJ0JKWGZZp9dAQlgiWAevazkttttttttx3PlG)9lJglGrxa)7xgnKMEjfwAPLwIEwDckttttttttttttxa)7xgDm6Mrxf5sVN0O4PC04lD2oA0n6c4F)YG6S333333IuMMMMMMMM((nxDNUa(3VmAin9skSe9S6euMMMMMMMMMMMMUa(3Vm6y0nJUkYLEpPrXt5OXx6S9fJUrxa)7xguN9((wKY00000000NagLPPPPPPPP1301c6c4F)YOmnnn9jGr5tadeu7ntcfe27c1PMeLlszAAA6Fsf)P)1MHognumQsT44wjiHweTsTAHsvreQKITj6gDuLGSXTuveH0k1QfkvfrOsk2MOB0rHKqkfPvQvluQkIqLuSnrHCuMMMM(NuXFAbg92ORQjXg9vADvJNAsaVIEB0fW)(LrhJwu)uMMMMMY00007jnDnw2gn0PHLOmnnnnnnnTaJEB0s2ORQjXgTKnAjB0s2OVsRRA8utc4v0BJwYgTKnAjB0s2OLSrlzJwYgDb8VFz0XOxwuhO8bv999Yrx)XkF6OB0)AZGyf5IuMMMMMMMMUUtlWOh9S6e0qL(WlsFcyuMMMM(eWOmnnnnLPPPPr6rsyW55N(bn1fdeynDmAOOaJEB0v1KyJ(kTUQXtnjGxrVn6c4F)YGCuMMMMwFtxlOfy0JMqIXOf1pLpbmqqT3mjueOMeGWExOo1KOCrkttttRVPRf0i9ijm488t)GM6IbcSgXwJmDsthnkLpbmqqD1PUiiCfoXacQ9MjHkzuE9bcndE6nGbeMk6PB7hN3acTFz4TdbrKci8tyya4GGo9paCqaT)NkaoyadyabSOIINAsaGdcO4Qaaheut)KEbGizGWO86deu7ntcfeAuX)Reisgi0BojQPFsdGaeut)K(bejdeG114PMeGqRbb8F9kmiYliuce5feuge5feut)KgUYRpqqT3mjuqqn9t64bejdeut)KgcqKmqqn9t622fQGG(MUwqV3fQtnjkxKY00001DAKEKegCE(PFqtDXabwJygY0XIrhvjiBClvfriTsTAHsvreQKITjk9S6euMMMMMMMMwFtxlOZ2OZ2OF3OZOmnnn99BU6onspscdop)0pOPUyGaRrmdz6yXOJcjHuksRuRwOuveHkPyBIspRobLPPPPPPPP1301c6Sn63n63n6mkttttF)MJY000000006B6Ab97gD2g97gDgLPPPPpbmkFcyGGon45arEbHgv8)ugejdmGbeMR0eQX7bIKbzab9Lxtc4kV(abCxJHkSgeGvBw)Xkd)knlOMVAaH4laHPIE6qnEpqKmfaH5knD9bcs5xyzeqhjPrbHkmqim488tt)GM6IbeIJvyZkqefEbbOcRUyUo1fWGsPFsdGdIOaOTTuHxfGE2sXj0eNTCPwVe0Kb2H2wQayabrhfUUMNF6gqKmqq52VV3CdislFbHKUEIbp1KaeIdszbWrau6PDsqqK4GuwqqkGWQRMVAarA97lyaHgqitAfKooLgYacfarYu49fmaaa
======================================================================================================
설정값
유형 : 개인추가 이벤트 유형 : 상태 체크... : 이벤트 이벤트 : UNIT_AURA
-- 개인추가 조건 function() local list = {"작은 시간차", "중간 시간차", "큰 시간차"} local name, icon, expirationTime, value1 = nil for i=1, 3 do name, _, icon, _, _, _, expirationTime, _, _, _, _, _, _, _, value1 = UnitDebuff("player", list[i]) if name then break end end WA_StaggerAmountBar = {name, icon, expirationTime, value1} return name ~= nil end
-- 커스텀 untrigger function() return WA_StaggerAmountBar[1] == nil end
-- 지속시간 정보 function() local maxfraction = 0.6 local duration = duration or 1 local expirationTime = expirationTime or 0 if WA_StaggerAmountBar[3] then expirationTime = WA_StaggerAmountBar[3] duration = maxfraction * UnitHealthMax("player") / WA_StaggerAmountBar[4] end return duration, expirationTime end
-- 이름 정보(내용은 틱당 데미지) function() if WA_StaggerAmountBar[4] then local value1 = WA_StaggerAmountBar[4] if value1 and value1 > 949999 then value1 = string.format("%.1fm", value1/1000000) elseif value1 > 949 then value1 = string.format("%.1fk", value1/1000) end return value1 end end
-- 아이콘 정보 function() return WA_StaggerAmountBar[2] or "" end
-- 중첩 정보 function() local stack = 0 if WA_StaggerAmountBar[3] then stack = min( (math.floor(WA_StaggerAmountBar[3] - GetTime()) + 1), 10) end return stack end
-- 디스플레이탭 %c 텍스트 function() local value = "" if WA_stagger_amount_bar[3] then value = 100 * (math.floor(WA_StaggerAmountBar[3] - GetTime()) + 1) * WA_StaggerAmountBar[4] / UnitHealthMax("player") value = math.floor(value+0.5) .. "%%" end return value end
-- 애니메이션 색상 함수 function() if WA_StaggerAmountBar[1] then if WA_StaggerAmountBar[1] == "중간 시간차" then return 1, 1, 0, 1 elseif WA_StaggerAmountBar[1] == "큰 시간차" then return 1, 0, 0, 1 else return 0, 1, 0, 1 end end end
Import String ====================================================================================================== dKuBraGirPUesvQrbr5uqKEfqvmlG0TaQyxss9lKQKgMKIJjk0Yev4zqeMMKextIeTnrbFtuY5evKMNePCpOyFavIdkrTqjj9qjIjIaUiqzJsKQpIGmsrfvNusPvk8srfLzIu5MavPDkk6NqunuKQAPiqpfrtvs1vHiARsKWxriNvIKMROIyVq6VGAWQdlvlgPkEmQmzu1LrzZaXNfvA0sItd41IQMTuUTe2ni)gjdhHA5q45q10f56iLTJG67qPXduPopqvTEGkP5JuLy)0OzeTokzbkjpkjpADus8uNlpEjuqPoaubdkHsICKSozTeamusqOGsKaGRm0mZrvqj70suO0dkjapkzodO1kHQOOdX7e1bsOKC0Wtuf1zG7ekji0G4sauqidPgU7EJIR3CSDGKJXjQmCEGwJJQOOdXJTdKGX2bsofchcOz4U7aG4y7ajpvHbz4U7U7oaio2oqYbxCIkdNhO14Okk6q8y7aj4ufem8kunEpvHbz4U7U7U7UJTdKCmE2zB4U7U7oRHZaaXX2bsEPHXRXtvyqgU7U7U7U7y7ajhJND2gU7U7UZA4md3D3D3D3DSDGKJXXtiaGYTAqOqu0tilB6D15aKSb1X2bsi1WD3D3DgeVH7U7U7iyjAiGCSDGKH7UZG4nyq8gggggggggggggggggggggggggggggggggggggggggggggOK0GsiaYnxgc06OKC0WtufOKGqdIlbqbHmKA4U7aG4evgopqRXrvu0H4X2bsWy7ajVdX7evgopqRXrvu0H4X2bsWy7ajhCXjQmCEGwJJQOOdXJTdKGtvqWWRq149ufgKH7U7U7iyjAiG8ecAmd3DNbXBWG4nmmmmmmmmmmmmmmqtOKiy5cqbvh8jMHscWrbHsYdGtCRd(KPoxECus6nhkjeTI6iaYnxgcC0mZikzJQZJwhLKgodMR1XXrRkkjcQgdTokzbTwcaToAcnHssdNbdXimdbk9GssdNbJtmJdTQOKCToooADusCaOCBmuYCosMzDWiiAcLKgodMJQGE6j0QIsItmJdTokjoauUngAMzenHMqj5OHNOkQZa3jKKy(EIHsYimdkHsYdGtCRd(1YrbHswluIHaKohlNulhfeEoPm9a0asGpCoNguIHaoNb0ALqvu0H4rjXtDU840NcakHswh50hLmHai3CziqRJsMaFIzOKC0WtufOK80q0tauqOK5aLKrygucLSKk9KdEz449CzOK0GyeMbLqjtafmEusoA4jQIm7fmusddusoA4jQcusqObXLaOGqgJWmOeOE1vxnsnC3DIkdNhO14Okk6q8y7aj4ufem8kunEhJxt1iH7Gd44KSKNQGGHxHQX7vyiygU7orLHZd0ACuffDiESDGem2oqYX4evgopqRXrvu0H4X2bsWy7ajNcHxJH7UB4U7aG4mcZGsogmE20NUYLkyeeMGGriWYeMa1swUQ0bgbY2tvyqgU7U7U3O46nhhophOopCEohJtiwIKywRvcfvJNcleYqIQutoYasnC3D3DVrX1BEYX4eILQduWqgsnC3D3DNOYW5bAnoQIIoep2oqcgBhi5yCC48Co4X5HZZ5GJNmC3D3DhaeNOYW5bAnoQIIoep2oqcgBhi5LggNOYW5bAnoQIIoep2oqcovbbdVcvJ3tvyqgU7U7U7U7iyjAiG8ecAmd3D3D3zq8gU7oRHZaaXzeMbLCmy8SjPpy0rhCjih50raKtuMWeeSYeOuZ2tvyqgU7U7U3O46nhNywRvlVJXRU6QnC3D3DhaehNywRvlVJbJJevPMCKbpvHbz4U7U7U7Utuz48aTghvrrhIhBhibJTdKCmEngU7U7U7U7iyjAiG8ecAmd3D3D3zq8gU7oRHZaaXzeMbLCmy8Slb5G3QwUomDiNqWGvkalZ6WizMLET0vhmccgbY2tvyqgU7U7U3O46nhguVGHJ3ZLbQddQddQJtrdbhlZEbduhNIgcowP365IdQddQddQddQddQddQJtmR1QL3X4vxD1gU7U7UdaIxWWX75YCmy8SjPpy0rhCjLjRdtwVmbRNTtHWly449CzogmE2K0hm6OdUKYK1HjrYskbmsYS9ufgKH7U7U7U7oaio9aKQME6q8idNIgcowP365IdQxd4UuMXmIuhdgpJ5iNMLNQWGmC3D3D3D3D3Daq8cgoEpxMJbJNnj9bJo6GlPmzDyY6Ljy9S9oeVJtmR1QL3XGXZkRSYqwEQcdYWD3D3D3D3D3D39gfxV54W55a15HZZ5yCcXsKeZATsOOA8uyHqgsuLAYrgqQH7U7U7U7U7U7U7nkUEZHb1Hb1Hb1Hb1Hb1Hb1564jyoChJtiwIKywRvleiuilRSYkdzHud3D3D3D3D3D3D3BuC9MNCmoHyP6afmKHud3D3D3D3D3D3D3jQmCEGwJJQOOdXJTdKGX2bsoghhopNdECE48Co44jhCCUoEcMdNEnJ1utngU7U7U7U7U7U7UdaItuz48aTghvrrhIhBhibJTdK8sdJtuz48aTghvrrhIhBhibNQGGHxHQX7Pkmid3D3D3D3D3D3D3D3DeSeneqEcbnMH7U7U7U7U7U7U7miEd3D3D3D3D3DN1WzaG44eZATA5DmyCKOk1KJm4Pkmid3D3D3D3D3D3D3jQmCEGwJJQOOdXJTdKGX2bsogVuA4U7U7U7U7U7U7ocwIgcihKEdNz4U7U7U7U7U7SgodaehNywRvlVl9cgpRSYkdz5Pkmid3D3D3D3D3D3D3BuC9MJdNNduNhopNJXjelrsmR1kHIQXtHfczirvQjhzaPgU7U7U7U7U7U7U3O46nhhMdhuNhMd3X4eILijM1ALqr14PWcHSSYkRmKfsnC3D3D3D3D3D3DNOYW5bAnoQIIoep2oqcgBhi5yCC48Co4X5HZZ5GJJdZH7GJZdZHB4U7U7U7U7U7U7oaiorLHZd0ACuffDiESDGem2oqYlnmorLHZd0ACuffDiESDGeCQccgEfQgVNQWGmC3D3D3D3D3D3D3D3rWs0qa5je0ygU7U7U7U7U7U7UZG4nC3D3D3D3D3DgeVH7U7U7U7odI3WD3D3DgeVH7UZG4nC3Dd3DhblrdbKdsVHZmyq8gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggOK4eZATm7fm0mRbLKryguchLSeKdERA56W0HCcbdwPaSmRdJKzw61sxDWiiyeauN(0vUubJGWeemcbwMWeOwYYvLoWiaOoj9bJo6Glb5iNocGCIYeMGGvMaLkkjnCgmoXSwlZEbdTQOKC0WtufWjWNygkjJWmOekjhn8evbCfaEgkjhn8evbAcnHsIJsMXQRs1zvDofLKWOzMXQutnOjuua ======================================================================================================
설정값
유형 : 개인추가 이벤트 유형 : 이벤트 이벤트 : COMBAT_LOG_EVENT_UNFILTERED, PLAYER_REGEN_DISABLED, SPELL_COOLDOWN_READY
-- 개인추가 조건 function(event, ...) WA_killcommandwait_threshold = 0.3 -- Set threshold here WA_killcommandwait_wait = WA_killcommandwait_wait or 0 if event == "PLAYER_REGEN_DISABLED" then local s_kc, d_kc = GetSpellCooldown(34026) local t = GetTime() WA_killcommandwait_wait = s_kc + d_kc - t if WA_killcommandwait_wait <= WA_killcommandwait_threshold then return true end elseif event == "SPELL_COOLDOWN_READY" then local spellId = ... if spellId == 34026 then WA_killcommandwait_wait = 0 return true end elseif event == "COMBAT_LOG_EVENT_UNFILTERED" then local _, message, _, _, sourceName, sourceFlags, _, _, _, _, _, spellId = ... if message == "SPELL_CAST_START" or message == "SPELL_CAST_SUCCESS" then if bit.band(sourceFlags, 0x511) == 1297 then if message == "SPELL_CAST_START" and spellId == 77767 then local s_kc, d_kc = GetSpellCooldown(34026) local _, _, _, _, _, _, cast_cs = GetSpellInfo(77767) local t = GetTime() WA_killcommandwait_wait = s_kc + d_kc - t - cast_cs/1000 if WA_killcommandwait_wait <= WA_killcommandwait_threshold then return true end elseif spellId == 34026 then WA_killcommandwait_wait = 5 return false elseif spellId ~= 77767 then local s_kc, d_kc = GetSpellCooldown(34026) local s_cs, d_cs = GetSpellCooldown(77767) WA_killcommandwait_wait = s_kc + d_kc - s_cs - d_cs if WA_killcommandwait_wait <= WA_killcommandwait_threshold then return true end end end end end return false end
-- 커스텀 untrigger function() if WA_killcommandwait_wait and WA_killcommandwait_wait > WA_killcommandwait_threshold then return true end end
-- 디스플레이탭 %c 텍스트 function() local wait = WA_killcommandwait_wait or nil if wait then if wait > WA_killcommandwait_threshold then wait = "" elseif wait <= 0 then wait = "" else wait = string.format("%.2f", wait) end return wait end end
연재 목록: WeakAuras 소개 - #3 예제(이 글)
올커니하면서
- 레벨
- 라이센스
- 경험치
-
491,647
(65%)
/ 504,001
( 다음 레벨까지 12,354 / 마격까지 10,553 남음
)
- 포인트
-
이니 409,478
베니 1,296
제니 3,153
- 명성
- 8,701
- 획득스킬
-
|