블랙무어 썹의 Judie (얼라전사)입니다. biel 도 키우지만 요즘은 전사 새로 키우는 재미로 살아서;;처음에 매크로 쓴것은 UseContainerItem()함수를 이용해서 옷갈아 입는 매크로 쓰다가 온몸의 장비 전부를 상점에 팔아치우는 비극을 겪고 한창 장비맞춰가던 흑마를 접게 되어버린 것이 매크로에 매달리게 되는 계기가 되었고 열분과 공유하면 좋을만한 매크로들을 지금은 몇개 쓰게 되었죠.. 기본적인 지식은 플포 팁과노하우 란의 여러분들의 글에서 배웠고 사제계시판에서 for문을 이용한 매크로를 보고 거기서부터 많은 힌트를 얻어서 wowwiki싸이트에서 여러함수로 짜보게 되었습니다.형식은 스크립트/쓰기위한 조건/스크립트 설명/문제점 및 개선할점 으로 각각 서술할것이며, 그저 머리로 짠 스크립트들이 아니라 실제로 지금 저가 쓰고 있는 매크로들이니 복사/붙여넣기만 잘하시면 당장 여러분이 쓰기에 이상없을것입니다
설명까지 곁들이는 이유는 그냥 복사해서 쓰실분은 쓰시고 관심있으신분들이 조금더 발전시킨 형태로 리플을 달아주실것을 기대하기 때문입니다.
매크로를 처음 쓰시는분들이 복사/붙여넣기 할때 주의하실점은 플포의 글은 복사를 하시면 글사이에 엔터가 들어가게 되어있습니다. 복사/붙여넣기를 하신후 와우 매크로 창에서 엔터가 들어간부분을 del키등으로 다 지워주시고 단어와 단어사이에 스페이스 한칸만있도록하시면 이상없이 쓸수 있습니다
$2
more..
/script if( not GetInventoryItemQuality("player",17))
then PickupContainerItem(4,1) PickupInventoryItem(16) UseContainerItem(4,2)
else PickupInventoryItem(17) PickupContainerItem(4,2) UseContainerItem(4,1);
end
조건 : 5번째(마지막 가방)1번에 양손무기를 두고 캐릭이 한손무기와 보조장비를 차고 있으면 됨 2번째 칸이 스왑시 보조무기가 들어갈 칸이니 루팅한 잡탬등이 2번째 칸으로가지 않게 조심해야 함
설명 : 플포에 누구신지 몰라서 죄송한데 누군가 올려주신 매크로입니다 캐릭이 지금 현재 어떤 무기를 들고 있는지 체크하는 부분이 잘되어있는 매크로입니다 다른 형식으로 체크하게 되면 아래 매크로들이 쓰는 포문을 쓸수 없게되며 크기가 너무 커져서 매크로 작성이 힘들게 되죠 또 한가지 장점은 ui플그램을 이용해서 스왑할경우 스왑된 무기가 가방어디있는지모라 나중에 사냥후 잡탬팔때 신경써서 무기를 팔지않게 조심할해야 하나 이매크로는그럴 필요가 없다는 점이죠
흠을 잡는다면 매크로 길이가 길어서 이 매크로에 다른 기능을 추가하기가 힘들다는 정도
**무기 바꾸기 weapon swap(2)**바뀐무기 메시지로>$2
more..
/script PickupInventoryItem(17) if(CursorHasItem()) then b={12,11} else b={11,12};end;for i=1,2,1 do PickupContainerItem(4,b[i]); PickupInventoryItem(i+15);end;for j=1,2,1 do SendChatMessage(GetContainerItemLink(4,j+10),"DND");end
조건: 아까 매크로가 5번째(마지막가방) 첫번째 두번째 가방을 썼던 반면 이매크로는 11.12 즉 가방의 가장 마지막 칸(12칸 가방 기준이며,16칸가방이라면 11,12를 15,16으로 바꿔주셔야 겠죠)을 무기 스왑 공간으로 사용합니다 잡탬이 가장 마지막에 차는 칸이라는 이유때문에
설명 : 캐릭의 현재 상태를 체크하는것은 캐릭왼손에 장비를 착용하고 있는지 아닌지 유무로 한손+방패 인지 양검인지 체크를 하는것은 위의 매크로와 같습니다만 그담 장비를 바꾸는 과정을 for과 배열을 이용 반복함으로써 스크립트 길이를 줄인 경우입니다b={12,11}은 배열 변수로 b[1]은 b 어레이 변수의 첫번째 수를 가르키게 되죠 (이부분은 사제게시판의 자동 인내/보막 매크로 부분을 참조하였습니다) 뒷부분의 j for 문은 이렇게 무기 스왑이 된후 내가 어떤 무기로 스왑했는지 체창에 링크형태로 표시가 되게 하는 스크립트입니다. 난전중에 적의 캐스팅을 끈어야 하는데 방패찼는지 아닌지 등등의 경우에 아주 약간 더 도움이 되는 부분입니다.
문제점 : 249글자 짜리 매크로 입니다 더 다듬을 부분이 많지만 다듬게 되면 255라는 제한을 넘어가버려서 어쩔수 없이 쓰게 되는 매크로 입니다
다른용무중으로 바뀌게 됩니다 쳇메시지 중에 다른 옵을 쓸경우 다른사람도 나의 무기 스왑내용을 다보게 됩니다 썩 기분좋은 것은 아니죠 그렇다면 귓말로 자신에게 보내는 방법도 있는데 그또한 모양을 깔끔하게 하려면 조건절과 배열을 이용해서 변수저장을 한번더 한담에 보내야 하기때문에 글자수의 여유가 생기지 않습니다 귀찮으시면 뒤의 메시지 부분을 없애시고 사용하셔도 ..
**무기 바꾸기 weapon swap(3)**모든장비 스왑>$2
more..
/script if(IsUsableAction(37)) then PickupInventoryItem(17) if(CursorHasItem()) then b={13,12} else b={12,13};end;c={16,17,1,3,15,5,9,10,11,12,7,8,18}for i=1,13,1 do if(i>2) then b[i]=i-2;end PickupContainerItem(4,b[i]); PickupInventoryItem(c[i]);end;end
조건 : 한손무기+보조장비/양손무기 의 위치는 가방의 12칸 13칸입니다 12칸에 양손무기를 두시고 캐릭터가 한손무기+보조장비를 들고 있으면 되구요 5번째 가방 첫번째 칸부터 11칸까지는 제2방어구 셋을 놓습니다 놓는 순서는 본인이 스왑을 몇개를 할것인가에 따라 아래 표와 맞춰서 각자 배열하셔야 합니다 가방크기나 스왑할 아템개수가 다르다면 그에맞춰서 본인이 조절해주세요
Head(머리) Slot 1
Neck(목) Slot 2
Shoulder(어깨) Slot 3
Back(등) Slot 15
Chest(가슴) Slot 5
Shirt(속옷) Slot 4
Tabard(겉옷) Slot 19
Wrist(손목) Slot 9
Hands(손) Slot 10
Waist(허리) Slot 6
Legs(다리) Slot 7
Feet(발) Slot 8
Finger0(손가락) Slot 11
Finger1(손가락) Slot 12
Trinket0(목걸이) Slot 13
Trinket1(목걸이) Slot 14
MainHand(주장비) Slot 16
SecondaryHand(보조장비) Slot 17
Ranged(원거리장비) Slot 18
Ammo(탄약) Slot 0
Actionbar Slot number
1: 1 2 3 4 5 6 7 8 9 10 11 12
2: 13 14 15 16 17 18 19 20 21 22 23 24
3: 25 26 27 28 29 30 31 32 33 34 35 36
4: 37 38 39 40 41 42 43 44 45 46 47 48
5: 49 50 51 52 53 54 55 56 57 58 59 60
6: 61 62 63 64 65 66 67 68 69 70 71 72
배열 c 에 나타난 인벤토리 아템 순서와 맞춰서 가방에 순서대로 넣으셔야 합니다 배열 처음 2개는 16,17 즉 무기와 보조무기 자리입니다 그러니 세번째 배열인 1값 위에표에보시면 1은 머리라고 되어있죠? 그러니 가방에 첫번째칸에 둘 아템은 투구입니다 같은 방식으로 스왑할 방어구들을 순서대로 놓아주시고 자신이 원하지 않는 장비는 배열c목록에서 빼주시고 더 원하는 장비는 추가해주신담에 마지막으로 배열의 전체 크기와 for문의 두번째 값을 일치시켜주시면 됩니다 여기서는 13 즉 모두 13개의 장비를 스왑하겠다는 뜻이죠
맨처음if(IsUsableAction(37)) 부분설명 : 액션바37번째칸(한줄이 12개이니 단축키4번째첫째칸이 되겠죠?)에 전투중에는 불가능한 스킬/행동을 넣어두셔야 합니다 나엘같은경우 그림자숨기 가 좋겠구요 다른 종족이라면 빵/음료수먹기 등을 넣어두시면 됩니다
암흑형상이 아닐경우 부활스킬도 가능합니다
설명 : 저 사제가 쓰는 매크로 입니다 온몸의 장비셋팅을 한번에 바꾸는 메크로 입니다 정신력셋팅과 지능셋팅 혹은 사냥때 암흑뎀쥐추가장비로 사냥하다가 정신력누출시 지정장비로 바꾸어 입으며 효율을 높이기 위한 매크로 입니다 맨처음에 캐릭이 지금 전투중인지 아닌지를 체크하는 항목이 없을경우 전투중일때 무기만 스왑되면서 전체 세팅이 통일이 안되는걸 방지하기 위해 넣어둔것입니다 암흑사제 솔플때 굉장히 유용한 매크로 입니다. 단검+암흑뎀지 추가셋으로 죽이고 정신력 누출시 지정셋으로 재빠른 엠탐하시면 사냥의 효율이 좋죠. 이매크로가 없다면 두가지셋팅중 한가지만으로만 사냥하셔야겠지만..
가방2개에 아템을 셋팅을 하신담에 가방을 통채로 4번과 5번가방을 바꾸시면 바로 지체셋/암흑뎀지추가셋/정신력마나틱셋 세가지 셋팅을 자유로이 스왑수 있습니다. 단 세가지로 다 쓰실경우는 매크로중 무기스왑부분을 약간 더 손보셔야 합니다
전투감지를 하는 조건이 함수로 있긴합니다 UnitAffectingCombat("player") if 절안에 이것을 넣으면 액션몇번에 빵을 놓거나 하는 어거지 방법을 안써도 되지만 굳이 저런 이상한 방법을 한 이유는 스크립트가 더 짧기 때분입니다 위에 쓴 매크로는 스왑시 몇가지 아템을 여전히 그대로 둡니다만 254글자인가 255글자인가 할것입니다. 조금이라도 매크로크기를 줄여야 더 많은 장비를 스왑할수 있기때문에 굳이 저런 이상한 방법을 선택한것입니다 전체 바꿔야 할 장비가 몇개 안된다면 깔끔하게 전투감지 함수를 직접 쓰시기 바랍니다
**무기 바꾸기 weapon swap(4)**양손/쌍수/한+방>$2
more..
/script PickupInventoryItem(17);if(CursorHasItem()) then if(not GetContainerItemInfo(4,12)) then b={2,0};i={17,20};else b={0,1};i={16,17};end else b={1,2};i={16,17};end;for j=1,2,1 do PickupContainerItem(4,b[j]+10); PickupInventoryItem(i[j]);end
조건 : 양손무기를 캐릭이 착용합니다 5번째가방의 10번째칸에는 방패를,11번째칸에는 한손주무기를,12번째칸에는 보조무기를 둡니다 위의 매크로들과 마찬가지로 매크로에 쓰이는 칸들은 잡탬등 다른아템이 들어가지 않게 조심해야 합니다 자신의 가방상태에 맞게 숫자를 조절해주세요 되도록 마지막가방의 마지막칸3개를 사용하시는편이 좋습니다
설명 : 전사용 세가지 무기 스왑 매크로 입니다 차례로 쌍수->한손+방->양손->쌍수..순으로 매크로 버튼을 누를때마다 순환을 하는 무기스왑매크로 입니다. 캐릭상태를 알아내는 조건으로 보조장비칸에 아템이 있는지 없는지 체크하는것과, 가방에 특정칸이 비었는지 아닌지를 체크해서 현재 캐릭이 어떤 장비를 착용하고 있는지를 알아내서 그에맞게 담 스왑상태로 아템을 옮겨 착용하는 원리입니다
단점1 : 매크로가 상태를 인식할 시간이 필요합니다 이때까지 매크로들은 한번 전환이라 인식시간이 문제가 아니였지만 순환의 경우 여러번 연거푸 누를경우 스크립트가 현재 캐릭의 상태를 인식못하는 경우가 생깁니다 빠르게 이 매크로를 연거푸 누를경우 무기가 제대로 바뀌지 않습니다 딸깍딸깍하는 마우스클릭소리를 느끼는정도의 속도로 바꾸어 주시면 정상적으로 무기 스왑이 순환을 합니다
문제점2 : pick 계열의 함수들이 시간을 인식하는데 있어서 애매한점이 있습니다. 머리로짰을때는 아무 이상이 없는데 실제로 매크로가 이상한경우가 생기죠. 여기서 그문제는 빈곳을 찍고난후 아템을 찍게 되면 이론상으로는 아템을 마우스가 들고 있어야 하나 반복되는 포문안에서 시간의 전후를 매크로가 인식을 제대로 못하는 것 같습니다 그래서 빈곳찍고-아템찍고-다른빈곳찍고 하면 아템은 마지막 빈곳에 들어가야 하나 실제로는 먼저 찍은 빈곳으로 들어가버리게 됩니다 이문제를 해결하기 위해서는 for문중간에 조건절을 하나 더넣어서 중간에 포문을 중단시켜야 하나 조건절하나 더집어넣을만한 여유가 없습니다 그래서 어거지로 짜낸 방법이 인벤토리20칸을 접근하는 방법입니다 동작에는 이상이 없으나 정상적인 방법이 아니므로 후에 와우가 에러체크 하는 방법이 바뀌게 된다면 스크립트 오류가 날수 있는 방법입니다. 이것은 이후 전사 스왑매크로들이 모두 지니고 있는 문제입니다.
**무기 바꾸기 weapon swap(5)**방패가격용>$2
more..
/script PickupInventoryItem(17);if(CursorHasItem()) then if(not GetContainerItemInfo(4,12)) then b={2,0};i={17,20};else b={0,2};i={17,20};end else b={1,0};i={16,17};end;for j=1,2,1 do PickupContainerItem(4,b[j]+10); PickupInventoryItem(i[j]);end;
조건 : weapon swap(4)와 동일합니다
설명 : 전사가 방패가격을 할때 편하도록 weapon swap(4)을 수정한것입니다 방패가격을 해야하는 상황일 경우 방패가 착용이 안되었다면 4번 매크로로 순환으로 할경우 지금을 양손을 차고 있을경우 방패로 바꾸는데 두번바꿔야 하죠 상대는 캐스팅빨리하고 있는데 빨리 매크로 두번누르면 무기가 엉켜버리니 문제고 그래서 5번매크로 6번매크로 두개 쓰는 방법을 전 지금 쓰고 있습니다
양검->한손+방패
쌍수->한손+방패
한손+방패->쌍수
매크로의 작동은 복잡해보이지만 쓰시는 분이 생각할것은 간단합니다 방패가격을 해야하는데 방패가 없다 그러면 이매크로를 누르고 방패가격후 다시 한번더 눌러주면 기본상태로 돌아갑니다 (저같은경우 기본상태=쌍수) 즉 방패가격이 나가야 할때 방패가 없다면 이매크로를 누르면 바로 방패가 착용이 됩니다 그런다음 다시 눌러주게 되면 쌍수상태로 돌아가서 사냥을 하게 됩니다 평소에 쌍수를 들고 싸우지 않고 양검을 들고 싸우는 취향의 분이라면 마지막 조건을 바꾸어서 한손+방패 상태일때 양검을 들도록 매크로를 수정해서 쓰시기 바랍니다
방패가격 메크로를 아예 첨부터 짜면 되지않느냐 하는분도 있겠지만 무기가 스왑된걸 와우가 알아차리는데 아주 약간의 시간이 필요합니다 매크로 중 딜레이 명령이 들어가야 방패착용-방패가격-원래무기 이것이 되는데 현재로써 딜레이가 적용되는 시전명령은 없더군요. 시전명령말고 다른것은 시스템 시간을 읽어들어서 딜레이 개념을 적용시킬수 있는것이 있습니다 예를들면 달리기 방향전환 등의 캐릭터 움직임에 대한 것은 딜레이개념을 적용시켜 매크로가 가능합니다. 또한 버프시간 체크등도 시스템시간과 비교해서매크로 안에 인식하는것이 가능합니다 자세한것은 참조싸이트에서 보시길..
**무기 바꾸기 weapon swap(6)**한방뎀지용>$2
more..
/script PickupInventoryItem(17);if(CursorHasItem()) then if(not GetContainerItemInfo(4,12)) then b={2,1};i={17,16};else b={0,1};i={16,17};end else b={1,2};i={16,17};end;for j=1,2,1 do PickupContainerItem(4,b[j]+10); PickupInventoryItem(i[j]);end;
조건 : 4번과 동일
설명 : <전사>제압등의 한방 뎀지를 위한 매크로 입니다 쌍수나 한손+방패상태로 싸우다가 제압등의 한방뎀지를 노려야 할때 양검으로 바꾸게 되는 매크로 입니다
쌍수->양검
한손+방패->양검
양검->쌍수
**무기 바꾸기 weapon swap(7)**방태전환+방패착용>$2
more..
/시전 방어 태세
/script if(GetContainerItemInfo(4,10)) then PickupInventoryItem(17);if(CursorHasItem()) then b={12,10};i={17,20} else b={11,10};i={17,20};end;for j=1,2,1 do PickupContainerItem(4,b[j]); PickupInventoryItem(i[j]);end;end;
조건: 4번과 동일
설명 : 방어태세로 바꾸면서 지금 캐릭이 어떤 무기상태이던간에 한손+방패 상태로 바꾸어 주는 매크로 입니다 글 맨첫머리에서 매크로 사이에 엔터가 있으면 안된다고 했으나 이매크로에서는 첫째줄과 둘째줄에 엔터를 하셔서 줄을 바꿔주시기 바랍니다
**무기 바꾸기 weapon swap(8)**광태전환+쌍수착용>$2
more..
/시전 광폭 태세
/script if(GetContainerItemInfo(4,12)) then PickupInventoryItem(17);if(CursorHasItem()) then b={10,12};i={17,19} else b={11,12};i={16,17};end;for j=1,2,1 do PickupContainerItem(4,b[j]); PickupInventoryItem(i[j]);end;end;
조건 : 4번과 동일
설명 : 광폭태세로 바꾸면서 지금 캐릭이 어떤 무기상태이던간에 쌍수 상태로
바꾸어 주는 매크로 입니다
글 맨첫머리에서 매크로 사이에 엔터가 있으면 안된다고 했으나 이매크로에서는
첫째줄과 둘째줄에 엔터를 하셔서 줄을 바꿔주시기 바랍니다
**무기 바꾸기 weapon swap(9)**보조무기간 스왑>$2
more..
/script if(not GetContainerItemInfo(4,12)) then PickupContainerItem(4,8); PickupInventoryItem(17);DEFAULT_CHAT_FRAME:AddMessage(GetContainerItemLink(4,8));end;
조건 : 4번과 동일 +
5번째 가방 8번째 칸에 제2의 보조무기를 두어야 합니다
설명 : 쌍수로 싸우게 될경우 보조무기를 바꾸어야 할경우가 있습니다
전체 공격이 옵으로 봍은무기는 파플때 안써야 할경우도 있고, 상대의 무기를 벗기는 옵을
지니는 보조무기를 잠시 사용하는 등등 발동효과에 따라 쌍수상태에서 보조무기를
다른 보조무기로 바꾸고 싶을때 쓰는 매크로 입니다 쌍수상태가 아니라면 보조무기가
바뀌지 않습니다. 별로 많이 쓰이게 되는건 아니지만 혹시라도 쓰실분을 위해서..
**공격 Attack**always>$2
more..
/script if(not IsCurrentAction(37)) then if(not UnitCanAttack("player","target")) then TargetNearestEnemy();end;AttackTarget();end
조건 : 37번 액션버튼 4째단축키 줄의 첫번째 버튼이 공격 스킬 버튼이어야 합니다
스킬창의 일반 탭의 "공격" 스킬
설명 : 난전중에 전사가 겪는 어려움을 해결하고자 만든 매크로입니다
동작
타겟이 안잡혀있거나 아군을 타겟으로 잡았을경우 ->가장가까운적을 타겟으로 지정후 공격
적을 타겟으로 잡고 공격안하고 있을경우 -> 타겟변화없이 그 적을 공격
타겟을 공격하고 있는 도중 -> 공격 중지 없이 계속 공격
기본적인 공격 버튼대신 이매크로를 쓰게 되면 두가지를 해결해줍니다
이미 공격중인 몹을 다시 공격버튼을 눌러 공격중지를 시키는 경우가 없습니다
난전중에는 특히나 공속이 느린 무기라면 지금 내 캐릭이 몹을 치는건지 서있는건지
보고 판단하기에 시간이걸릴수도 있습니다 이 매크로는 공격해지가 안되는 공격버튼입니다
다른 한가지 좋은점은 여러마리 몹중 한마리를 죽이고 나서 다음 몹을 선택할경우에
여유가 있고 콘트롤이 좋은 분이라면 몹을 직접 오른클릭하거나 왼클릭+공격버튼 혹은 탭으로 가까운 몹을 선택후 공격버튼을 누를것입니다. 하지만 정신없는 상황에서 한마리 죽고 나서 다음몹을 선택하면서 여러동작을 하기어려울경우 이 매크로는 타겟을 없을경우 혹은 아군을 타겟으로 찍을경우 매크로실행시 가장가까운 적을 선택 공격하게 됩니다
**공격 Attack cancel**>$2
more..
/script if(IsCurrentAction(37)) then AttackTarget();end
조건 : 37번 액션버튼 4째단축키 줄의 첫번째 버튼이 공격 스킬 버튼이어야 합니다
스킬창의 일반 탭의 "공격" 스킬
설명: 위의 공격 매크로를 쓸경우 반대로 공격을 무조건 취소시키는 매크로 입니다
파플중 양변등 공격을 중지해야하는경우 쓰게 됩니다
**위협의 외침**>$2
more..
/시전 위협의 외침
/script if(IsCurrentAction(37)) then AttackTarget();end
조건 : 37번 액션버튼 4째단축키 줄의 첫번째 버튼이 공격 스킬 버튼이어야 합니다
스킬창의 일반 탭의 "공격" 스킬
설명 : <전사용>갈때까지 간 상황에서 쓰게 되는 것이 위협의 외침이죠
그런데 외치고 나서 바로 공격 캔슬하지 않으면 타겟된 몹이 바로 반격 들어오게 되는데 그것을 방지합니다 일대일상황에서나 일대다상황에서나 좋은 결과를 볼수 있습니다
이상적으로 작동하려면 타겟된 몹은 돗 뎀지를 받지 않고 있어야 하고 주위몹은 저항없이 도망을 쳐야 하겠죠. 그럼 유유히 붕대질을^^
추가로 저 뒤에 자신에게 붕대감기 매크로까지 더해서 쓰는것도 좋은방법이나 돗뎀지가 들어올경우 약간 더 기다려서 없어지고 난후 붕대질하는편이 좋은 편도 있어서 그것은 사용하시는 분의 취향에 따라 결정하기 바랍니다
**원거리 공격 range attack**>$2
more..
/script if(not IsCurrentAction(37)) then AttackTarget();end;a={9,18,19,20};for i=1,4,1 do if(IsUsableAction(i+37)) then CastSpell(a[i],"일반");end;end
조건 : 38번 단축키(단축키4번째줄 2번째버튼)부터 차례로 원거리 공격 스킬을 올려주셔야 합니다 여기서는"석궁 발사" "총 발사" 투척 "활 발사"등등등
그리고 스킬창의 일반탭에서 그스킬들이 몇번째 있는지 세어서 각각 순서대로 a 배열에 차례대로 써주셔야 합니다
설명 : <전사용> 전사가 풀링시 원거리 무기를 바꿀때마다 단축키도 바꿔주는 번거로움을 줄여줍니다. 라고 말하지만 무기바꾸면 탄약도 바꿔줘야 하니 크게 도움이 되는것은 아닙니다
이매크로 뒤에 "%%%"을 풀링합니다 라는 매크로를 추가해서 사용하신다면 파플때
풀링용매크로로 좋을것입니다 (/ㄴ %t 를 풀링합니다) 기왕 풀링용 매크로 만드는김에
원거리 공격 매크로도 덤으로 만들어두면 좋겠죠...타겟을 파티원에게 주의시키는 매크로는 아래에 자세히 또 언급할 예정입니다
**소생**>$2
more..
/script r=9;l={8,14,20,26,32,38,44,50,56};t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("소생("..i.." 레벨)");break;end;end;if( SpellIsTargeting() ) then CastSpellByName("소생(9 레벨)")SpellTargetUnit("player"); end
조건 r=9 부분에서 자신이 배운 소생중 가장 높은 레벨은 씁니다 r=몇,
마지막 줄에 "소생(9 레벨)" 부분을 자신이 배운 소생중 가장 높은 레벨을 씁니다
설명 : <사제용> 자신보다 랩이 현격히 많이 낮은 유저들과 같이 할경우 소생이 들어가지 않습니다 (쟁이나 도와줄때 등등) 이때 랩에 맞춰서 자동으로 그 대상이 받을수 있는 최고 레벨의 소생을 들어가게 하는 매크로 입니다
타겟이 적이거나 타겟이 없는 상태라면 자신에게 소생이 들어가게 됩니다
적을 타겟으로 삼은경우 last enemy 함수를 쓴것과는 다르게 순간적으로라도 타겟의 이동이 없습니다 적을 타겟팅한 상태 그대로 자신에게 소생들어갑니다
인내 소생 보막의 매크로는 모두 거의 같은 형식에 약간의 수치만 바뀐것으로 사제게시판에 있던것을 수정해서 올렸습니다 원출처는 외국싸이트라고 들었는데 출처는 정확히 모르겠네요
주의점 : 일반 인던 공대에서는 사용하지 않는편이 좋습니다 매크로 길어질수록 특히나 이런 긴 포문이 들어간 경우는 랙이 좀 생기는 경향이 있어서.. 공대 바글바글한 인원사이에서 랙을 조금이라도 줄이시려면 이매크로 단축키 버튼대신 9레벨 소생 스킬을 그냥 올려주세요.. 다른 사제 자동 래밸 인식 매크로들도 마찬가지..
**인내**>$2
more..
/script r=6;l={1,12,24,36,48,60};t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("신의 권능: 인내("..i.." 레벨)");break;end;end;
조건 r=6 부분에 자신이 배운 인내중 가장 높은 레벨을 씁니다 r=몇
설명 : 위의 상치와 동일
인내는 마나소모가 많고 급하게 시전할경우가 드물어 샐프캐스팅부분은 생략하였습니다만 타겟이 적이거나 없을경우 자신에게 셀프캐스팅되길 바라신다면 아래부분을 더 추가하시면 됩니다
역시 레벨은 자신이 배운 최고 레벨로 수정해주셔야 합니다
소생과 동일하게 타겟이동없이 원래 타겟 유지한상태로 자신에게 인내들어갑니다.
/script if( SpellIsTargeting() ) then CastSpellByName("신의 권능: 인내(6 레벨)"); SpellTargetUnit("player");end;
**보막**>$2
more..
/script r=10;l={6,12,18,24,30,36,42,48,54,60};t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("신의 권능: 보호막("..i.." 레벨)");break;end;end;
조건 :
r=10 부분에 자신이 배운 보호막중 가장 높은 레벨을 씁니다 r=몇
보막은 셀프캐스팅이 들어갈경우 파플때 곤란해지는 경우가 많더군요 위급할때 타겟 찍는걸 실수해서 (파티창 클릭한다는게 약간 빗겨가서 캐릭이 선택안될때가 많죠..)셀프캐스팅으로 자신에게 들어오면 위급한 파티원은 5초 쿨타임으로 누워버리게 됩니다
**속박(타겟메시지)**>$2
more..
/script t=UnitLevel("target"); CastSpellByName("언데드 속박(2 레벨)");
/script if( not SpellIsTargeting() ) then SendChatMessage("[Lv"..t.."] %t 에게 속박 시전중");end;
조건 : 언데드 속박(2 레벨) 부분을 자신이 배운 언데속박 최고레벨로 바꿔주세요
설명 : 보통 /ㄴ %t 를 속박합니다 혹은 양변합니다 라는 메크로를 많이쓰시는데
인던들어가면 몹이름은 거의 같은경우가 많아서 실제로 법사가 어떤 몹을 양변하는지 사제가 어떤 몹을 속박하는지 구분이 안갈때가 많습니다 이럴때 몹 레벨까지 같이 표시가 된다면 구별할수 있는경우가 훨씬더 많아집니다 대부분 v체크 하고 사냥하기 때문에 몹이름보다 몹레벨로 구분할수 있는경우가 많죠.. 레벨과 이름도 같은경우도 종종 있어서 알아보기 힘들때도 있지만 몹이름만 나올경우보다는 파티원에게 타겟정보를 줄때 훨씬 유용합니다
속박 양변 풀링 추방 등등 파티원에게 몹 타겟팅에 대한 정보를 알릴때 모두 유용하게 쓰일것입니다
부활때도 랩까지는 필요없겠지만 쓰면 좋겠죠..
참고로 이런 타겟팅 메시지는 파티말,공대말,이모션등의 색깔있는 메시지보다 일반 하얀색 메시지가 젤 눈에 띕니다 이모션(=공대말 주황색)은 공대말과 몹의 도망 메시지와 같은색이라 잘눈에 안띄고 파티말은 공대로 갔을경우 남에게 알려지지 않습니다
**붕대질**>$2
more..
/script UseAction(13,3,1);
/script if( SpellIsTargeting() ) then SpellTargetUnit("player"); end
/script n=GetActionCount(13)-1;DEFAULT_CHAT_FRAME:AddMessage(format("[ %s ] 개의 붕대가 남았습니다 ",n));
조건 : 13번째 액션버튼(단축키 2번째 줄 첫번째 버튼)에 붕대를 올려놓고 4번째 가방 첫째칸에 붕대를 놓아두어야 합니다
설명 : 많이들 쓰시는 붕대질 매크로에 남은 붕대개수가 자신만 볼수 있는 메시지로 쳇창에 표시 되는 기능을 추가 한 매크로 입니다
동작
적을 타겟팅하고 있거나 타겟이 없을경우 자신에게 붕대질이 됩니다. 이때 타겟의 이동은 없습니다. (타겟이동이 있을경우 곤란해 지는경우가 많아서;;) 아군을 타겟팅할 경우 그 아군에게 붕대질 들어갑니다
**상치**>$2
more..
/script CastSpellByName("상급 치유(4 레벨)");
/script if( not SpellIsTargeting() ) then SendChatMessage("%t 님에게 상급치유를 시전합니다(4초)" , "PARTY"); else SendChatMessage("상급치유를 시전합니다(4초)" , "PARTY");end
조건 : 상급치유 레벨을 자신이 배운 최고 레벨로 바꿔주세요
설명 : 상급치유시 메인탱의 마음을 조금더 편안하게 해주는 매크로.. 많이들 쓰시는 기능에 아군 힐대상 캐릭을 먼저 찍지않고 단축키부터 눌렀을경우 타겟메시지가 이상하게 나가는것을 약간 보완한 매크로 입니다. 속박과는 달리 파티말로 하는것이 젤 적당한거 같군요. 다른 파티사람이 힐해주는경우는 드물고.. 대규모 공대에서 공대말로 저런메시지가 난무하게 되면 결국 쓸모없이 눈만 어지럽히는결과가..
**도움**>$2
more..
/도움
/script class = UnitClass("player");if(class) then SendChatMessage(""..class.." %p1 맞고 있어요^^","YELL");end;
조건: 없음
설명 : 사제의 경우 소실이후에 몹애드될경우 파티원들이 알아서 떼주면 좋겠지만 가끔씩 사제가 맞고 있다는 사실을 모를때 쓰는 매크로 입니다 체창에는 주황색 이모션 표시와 캐릭터의 외침소리가 나가면서 빨간색 외침이 표시됩니다 또한 맞는사람의 직업과 아디가 표시되어서 특히 사제의 경우 사제가 맞고 있다는 경고를 뚜렷이 하게 해주죠.. class를 굳이 변수로 받아 쓴 이유는 보통 여러캐릭을 하시기 때문에 캐릭바꿀때마다 메크로까지 바꿔야 하는 번거로움을 없에기 위해서입니다. 포문으로 몇번 돌려서 쳇창을 도배해보면 어떨까 생각만 해보고 아직 포문으로 도배를 해본적은 없네요
if절 이 매크로에서는 필요없는것인데 다른 매크로에서 따온 매크로라 그냥 들어가 있네요.. player가 아니라 target으로 할경우 target 값이 nil값이 되면서 스크립트 오류를 막는 조건절입니다. player가 없을경우는 없으니 간단하게
/도움
/script class = UnitClass("player");SendChatMessage(""..class.." %p1 맞고 있어요^^","YELL");
하시면 되겠네요
클래스를 인식할수 있는 저 함수를 이용해서 성기사 자동 축복 메크로를 만드는것이 가능합니다 와우위키에는 영어버젼으로 나와있는데 한글로 바꾸면 사용가능하니 관심있으신분은 써보세요..
/script class = UnitClass("target"); if ( ( class == "Rogue" ) or ( class == "Warrior" ) ) then
CastSpellByName("Blessing of Might(Rank 1)"); else CastSpellByName("Blessing of Wisdom(Rank 1)"); end
전 성기사할때 하늘아리 버프돌림이를 써서 굳이 이걸 매크로로 만들어 쓸 필요는 못느끼겠네요.
상대방 랩인식하는 조건절과 클래스 인식하는 조건절을 합하면 성기사 자동 축복 메크로도 상당히 유용하게 만들수 있다는 생각이 들긴하지만...
**살펴보기**>$2
more..
/살펴보기
/script a={};for i=1,18,1 do link=GetInventoryItemLink("target",i);if(link) then a[i]=link; else a[i]=0;end;end;for j=1,18,3 do SendChatMessage(""..a[j]..a[j+1]..a[j+2].."", "DND");TakeScreenshot();end;
조건 : 대상 캐릭과 살펴보기가 가능할 정도로 가까이 있어야 함
설명 : 조금은 무례한 매크로 입니다^^;;
상대방의 장비 살펴보기 창을 열면서 상대방의 모든장비를 링크로 체창에 표시하는 동시에 스샷을 찍습니다. 단점은 스크린샷 함수가 시간을 필요로 하는 함수라 포문으로 여러번 찍질못합니다 결국 체창 위로 올라간 장비이름은 스샷으로 찍히질 않습니다 별로 이런거 스샷까지 찍어서 하드용량 늘리고 싶지 않다 하시는분은 마지막 TakeScreenshot();부분을빼주시면 됩니다. 어떤 때 쓰시면 유용한지는 인던 뛰실때 이 매크로 있으면 금방 깨닫게 되실껍니다. 또한 상대진영 플레이어의 장비를 모양만으로 추측하지 않고 직접 링크된형태로 모조리 볼수 있습니다. 필드서 상대진영과 일대일할때 장비를 알수 있다면 그에 대응하는것도 조금더 유리하겠죠. 내가 죽더라도 동작하는 매크로이니 상대진영플레이어에게 죽었다면 한번 장비 쭉 살펴본담 시작하는것도 좋은방법..
매크로에 관심이 있으시다면 저 두곳만 연구하셔도 자신의 직업과 자신이 하고 싶은 매크로 얼마든지 만들수 있다고 생각합니다. 가장 큰 어려움은 255글자라는 제약일뿐..뭐좀 만들어보려면 넘어가버리니..
화일문으로 무한반복을 시키면서 시간함수를 이용해서 딜레이 만드는 것은 하지마세요
그거하다가 컴 먹통 여러번 되고는 그냥 포기했습니다. 브레이크로 화일문 중지가 잘안되더군요 혹시 성공하신분 있으시면 댓글 부탁드리구요^^
아직 더 하고 싶은 부분은 말탔을때 장비 갈아입는것에 대해서 입니다. 박차등 속도올리는아템을 하늘아리 자동박차로 자동으로 갈아입었을때 그상태에서 매크로로 장비를 갈아입을경우 엉망이 됩니다. 255글자라는 제약만 없으면 손쉽게 해결될 문제이지만 짧게 압축해서 저걸 해결하기는 힘드네요.. 관심있으신분은 그부분좀 연구 부탁드리구요..
흑마 성기사 사제 전사 네직업만 한터라 다른직업에 관해서는 못올린점 죄송해요 매크로 함수 어떤게 있는지 나온 싸이트도 위에 올려드렸고 저가 만든 매크로 모두 간단히라도 설명해서 올려드렸으니 자신이 필요한 매크로 만들어 쓰실수 있을거라 생각합니다 좋은 매크로 있으시면 댓글등으로 같이 나누었으면 좋겠습니다..
주구장창 긴 글이었네요.. 눈아퍼랑;;