| 本帖最後由 妖狐鳴門 於 2010-7-16 16:22 編輯 
 我現在的傳送巨集尚算免強可行,可是當遇到兩個問題便會呆了下來~
 1) 當我在施技時有人交易我,我便會呆了下來,不會再開聊天~
 2) 當一名玩家跟我交易後,當我還沒把聊天室關起來便有第二名玩家跟我交易,
 當遇到這問題後那第一名玩家便會被我無視了~
 請問各位大大到底我的巨集出現了什麼問題?我曾找回以前的文章看過,
 可是也不可行~我試過利用run-once 和 relase,可是反而導致連接受交易也不會~
 希望各位大大教一教我吧>^<"
 
 
 
 以下是我從別forum中找回來的巨集再加以自己的修改而成,,,,,"
 
 ####################
 #    ###飛機場###  #
 ####################
 automacro a {
 console /Your Coordinates/
 call {
 pause 1
 if (@invamount(藍色魔力礦石) == 0) goto qk
 #當藍色魔力礦石=0時qk=   =
 pause 1
 do chat create "朱諾1300莫斯科1400米糕1500金波1600" 2 0 77878
 #a-1 b-2 c-3 d-4 = 聊天室名稱
 do deal no
 pause 1
 do sit
 stop
 :qk
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 do sit
 stop
 }
 }
 automacro b {
 console /(.*) ((.*)) Requests a Deal/
 call {
 do deal
 pause 13
 #13秒內不動作取消交易
 do deal no
 stop
 }
 }
 
 automacro c {
 console /(.*) added Item to Deal: (.*)/
 call {
 #加入物品取消交易
 do deal no
 stop
 }
 }
 automacro d {
 console /(.*) added (.*) z to Deal/
 call {
 $a = $.lastMatch2
 if ($a = 1,300) goto bb
 if ($a = 1,400) goto bb
 if ($a = 1,500) goto bb
 if ($a = 1,600) goto bb
 #$a = ".*" = 傳陣金額
 pause 1
 #當金額!=你販賣的金額取消交易
 do deal no
 stop
 :bb
 pause 1
 do deal
 pause 1
 do deal
 #輸入金額10秒內未完成交易者取消交易
 pause 10
 do deal no
 stop
 }
 }
 
 automacro e {
 console /You gained (.*) zeny/
 call {
 do chat leave
 $a = $.lastMatch1
 if ($a = 1,300) goto a1
 if ($a = 1,400) goto b2
 if ($a = 1,500) goto c3
 if ($a = 1,600) goto d4
 #$a = ".*" = 傳陣金額
 :a1
 call aa1
 #執行macro aa1
 stop
 :b2
 call bb2
 stop
 :c3
 call cc3
 stop
 :d4
 call dd4
 stop
 }
 }
 macro aa1 {
 $aa1 = @invamount(藍色魔力礦石)
 #施放傳送之陣"前"的藍色魔力礦石數量
 $x = @arg("$.pos", 1)
 $y = @arg("$.pos", 2)
 $x0 = @eval($x - @rand(1,3))
 $y0 = @eval($y - @rand(1,3))
 do sl 27 $x0 $y0
 pause 1
 do warp yuno
 #a = 地圖名稱
 pause 1
 $aa2 = @invamount(藍色魔力礦石)
 #施放傳送之陣"後"的藍色魔力礦石數量
 if ($aa1 == $aa2) goto ax
 #當施放傳送之陣前後藍色魔力礦石相等判定傳送失敗跳至:ax
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 stop
 :ax
 pause 1
 do c 傳送失敗
 do c 再來一次
 call axx
 #執行macro axx
 stop
 }
 }
 macro axx {
 call aa1
 #執行macro aa1
 }
 #以下類推..
 macro bb2 {
 $bb1 = @invamount(藍色魔力礦石)
 $x = @arg("$.pos", 1)
 $y = @arg("$.pos", 2)
 $x0 = @eval($x - @rand(1,3))
 $y0 = @eval($y - @rand(1,3))
 do sl 27 $x0 $y0
 pause 1
 do warp mosk_fild02
 #b = 地圖名稱
 pause 1
 $bb2 = @invamount(藍色魔力礦石)
 if ($bb1 == $bb2) goto bx
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 stop
 :bx
 pause 1
 do c 傳送失敗
 do c 再來一次
 call bxx
 stop
 }
 }
 macro bxx {
 call bb2
 }
 macro cc3 {
 $cc1 = @invamount(藍色魔力礦石)
 $x = @arg("$.pos", 1)
 $y = @arg("$.pos", 2)
 $x0 = @eval($x - @rand(1,3))
 $y0 = @eval($y - @rand(1,3))
 do sl 27 $x0 $y0
 pause 1
 do warp lou_fild01
 #c = 地圖名稱
 pause 1
 $cc2 = @invamount(藍色魔力礦石)
 if (cc1 == cc2) goto cx
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 stop
 :cx
 pause 1
 do c 傳送失敗
 do c 再來一次
 call cxx
 stop
 }
 }
 macro cxx {
 call cc3
 }
 macro dd4 {
 $dd1 = @invamount(藍色魔力礦石)
 $x = @arg("$.pos", 1)
 $y = @arg("$.pos", 2)
 $x0 = @eval($x - @rand(1,3))
 $y0 = @eval($y - @rand(1,3))
 do sl 27 $x0 $y0
 pause 1
 do warp lhz_fild01
 #d = 地圖名稱
 pause 1
 $cc2 = @invamount(藍色魔力礦石)
 if ($dd1 == $cc2) goto dx
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 stop
 :dx
 pause 1
 do c 傳送失敗
 do c 再來一次
 call dxx
 stop
 }
 }
 macro dxx {
 call dd4
 }
 automacro g {
 console /You are sitting/
 call {
 do c 傳陣已開,謝謝您=]
 if (@invamount(藍色魔力礦石) == 0) goto qk
 pause 1
 do chat create "朱諾1300/莫斯科1400/米糕1500/金波1600" 2 0 77878
 do deal no
 pause 1
 do sit
 
 :qk
 do c 為己為人,請等待我開了聊天室才交易我,以免吃錢!
 do sit
 stop
 }
 }
 |