########################以下為設定精鍊裝備與消耗品########################
automacro reading {
    run-once 1
    call {
    $equip = 短劍 [3]
        #$equip 請打上裝備名稱,要加上裝備洞數 (例:鮮紅閃電手槍 [2] or 雙刃短劍 [3])
    $supplies = 強化武器金屬-級數一
        #$supplies 精鍊消耗品,鋁、神之金屬等,請依精鍊物品自行設定
    log 讀取您所要精鍊的物品為"$equip",消耗品為"$supplies"。
          }
}
########################以下為補給精鍊用品########################
macro depletion {
   $i = $supplies
   if ($i == 強化武器金屬-級數一) goto one
   if ($i == 強化武器金屬-級數二) goto two
   if ($i == 神之金屬) goto three
   if ($i == 鋁) goto four
   log 四種精鍊用物品都不是,不然你是拿什麼打!
   goto end
   :one
   log 購買強化金屬級數一,15個。
   do talk @npc (56 68)
   do talk cont
   do talk resp 0
   do talk cont
   do talk num 15
   goto end
   :two
   log 購買強化金屬級數二,15個。
   do talk @npc (56 68)
   do talk cont
   do talk resp 1
   do talk cont
   do talk num 15
   goto end
   :three
   log 執行自動倉庫存取
   do autostorage
   goto end
   :four
   log 執行自動倉庫存取
   do autostorage
   goto end
   :end
}
########金錢少於5萬塊停止精鍊#########
automacro z {
    map prt_in
    zeny < 50000  #這裡可以更改,錢很多刪去也行
    run-once 1
    call {
         stop
               log 您身上的金額低於五萬,自動停止所有動作。
         }
}
########################以下為層層精鍊########################
macro +1 {
   $count = @invamount ($equip)#這是將要精鍊的+0裝備存入變數$count
   while (@invamount ($equip) > 0) as loop1#當身上的+0裝備($equip)大於0時執行迴圈loop1
   $temp = @invamount ($supplies)#將精鍊消耗品的數量存入變數$temp
   if ($temp > 0) goto next #當消耗品大於0的時候至next行
   goto recruit#若不然 則跳至recruit
   :next
        [
   do move 62 65 prt_in#走路至中央精鍊房座標62 65的點
   do eq $equip#裝備已設定要精鍊的物品
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
#這串是忽克連大叔對話精鍊,r3是右手武器位置(r1是衣服吧,其它的請自行上線測試)
   goto ok
   :recruit
   do move 62 65 prt_in#走路至中央精鍊房座標62 65的點
   call depletion#呼叫補給用的外部迴圈
   goto ok
   :ok
   end loop1
   log +0已全部精鍊至+1
   log +0開始精鍊時$count把,全數精鍊後成功@invamount (+1 $equip)把
}
####################以下只是裝備精鍊數字不同,請參考+1即可############################

macro +2 {
   $count = @invamount (+1 $equip)
   while (@invamount (+1 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +1 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +1已全部精鍊至+2
   log +1開始精鍊時$count把,全數精鍊後成功@invamount (+2 $equip)把
}
macro +3 {
   $count = @invamount (+2 $equip)
   while (@invamount (+2 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +2 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +2已全部精鍊至+3
   log +2開始精鍊時$count把,全數精鍊後成功@invamount (+3 $equip)把
}
macro +4 {
   $count = @invamount (+3 $equip)
   while (@invamount (+3 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +3 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +3已全部精鍊至+4
   log +3開始精鍊時$count把,全數精鍊後成功@invamount (+4 $equip)把
}
macro +5 {
   $count = @invamount (+4 $equip)
   while (@invamount (+4 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +4 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +4已全部精鍊至+5
   log +4開始精鍊時$count把,全數精鍊後成功@invamount (+5 $equip)把
}
macro +6 {
   $count = @invamount (+5 $equip)
   while (@invamount (+5 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +5 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +5已全部精鍊至+6
   log +5開始精鍊時$count把,全數精鍊後成功@invamount (+6 $equip)把
}
macro +7 {
   $count = @invamount (+6 $equip)
   while (@invamount (+6 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +6 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +6已全部精鍊至+7
   log +6開始精鍊時$count把,全數精鍊後成功@invamount (+7 $equip)把
}
macro +8 {
   $count = @invamount (+7 $equip)
   while (@invamount (+7 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +7 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +7已全部精鍊至+8
   log +7開始精鍊時$count把,全數精鍊後成功@invamount (+8 $equip)把
}
macro +9 {
   $count = @invamount (+8 $equip)
   while (@invamount (+8 $equip) > 0) as loop1
   $temp = @invamount ($supplies)
   if ($temp > 0) goto next
   goto recruit
   :next
        [
   do move 62 65 prt_in
   do eq +8 $equip
        ]
   do talknpc 63 60 c r3 c r0 c c r0 c c
   goto ok
   :recruit
   call depletion
   goto ok
   :ok
   end loop1
   log +8已全部精鍊至+9
   log +8開始精鍊時$count把,全數精鍊後成功@invamount (+9 $equip)把
}


 


已通過綿密的測試,目前只有一個問題,
就是當你設定的精鍊裝備,編號為0的時候,
他不會自己裝備,會一直敲敲敲同一把,迴圈會卡住
不過只要身上帶著消耗品重登時,重新編號消耗品就會編到0了



 


算是半算動的巨集吧
需要自己鍵入macro +1
這樣他就會把你設定要精鍊的東西全部+1

macro +2亦是..  以此類推
以下是一次觸發+1到+7的巨集


 


macro auto+7 {
   while (@invamount ($equip) > 0) as loop1
   call +1
   end loop1
   while (@invamount (+1 $equip) > 0) as loop2
   call +2
   end loop2
   while (@invamount (+2 $equip) > 0) as loop3
   call +3
   end loop3
   while (@invamount (+3 $equip) > 0) as loop4
   call +4
   end loop4
   while (@invamount (+4 $equip) > 0) as loop5
   call +5
   end loop5
   while (@invamount (+5 $equip) > 0) as loop6
   call +6
   end loop6
   while (@invamount (+6 $equip) > 0) as loop7
   call +7
   end loop7
   log 全數精鍊完成!!
}


 


 


auto+7那一串也是半自動啊
也是要自己鍵入macro auto+7  
只是方便不用從macro +1一直等他打完再+2 再+3..

另外我寫巨集一向都不太用自動觸發
除非是掛機用的,不然做箭做水做肯貝特,
我幾乎都是用半自動去寫
畢竟有時候開上去不是只為了單純一件事



[ 本帖最後由天國 shincheng 大大分享,於 2008-11-12 01:55 編輯 ]

----------------------我是分隔線,另一個自動精練巨集------------------------------------------


只要改武器防具位置、道具名稱、用啥精練,即可。

精煉位置在中央唷。



automacro notSafetyEquip {
  map prt_in
  inventory "強化武器金屬-級數一" > 0
  equipped rightHand 笨拙短劍 [4], +1 笨拙短劍 [4], +2 笨拙短劍 [4], +3 笨拙短劍 [4]
   timeout 23
   call notSafeUpgrade
}


macro notSafeUpgrade {
   do talk @npc (63 60)
   pause 1
   do talk cont 0
   pause 1
   do talk resp 3
   pause 1
   do talk cont 0
   pause 1
   do talk resp 0
   pause 1
   do talk cont 0
   pause 1
   do talk cont 0
   pause 1
   do talk resp 0
   pause 2
   do talk cont 0
   pause 2
   do talk cont 0
       
}


automacro doequip {
console /You failed to refine a weapon!/


 call {  
    pause 1
    do talk cont 0
    pause 1
    do talk cont 0
  pause 1
  do eq 笨拙短劍 [4]


 }
}


automacro unequip {
console /You equip(.*)+4(.*)笨拙短劍/


 call {  
    pause 1
    do talk cont 0
  pause 1
  do eq 笨拙短劍 [4]


 }
}


automacro gg {
 if (@invamount(強化武器金屬-級數一) == 0)
        run-once 1
        call{
        do talk @npc (56 68)
        pause 1
        do talk resp 0
        pause 2
        do talk num 100
        pause 2
        release all
 }
}

arrow
arrow
    全站熱搜

    aaa1314 發表在 痞客邦 留言(0) 人氣()