本帖最後由 妖狐鳴門 於 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
}
} |