~注意:請先確認其他巨集段落是否正常在嘗試此方法~
~以下是我最近爬文看到眾多問題的其中幾個~
研究了漫久打個賞錢吧YCT61B 其中有一段巨集如下:
---------------以上省略---------------
automacro f {
console /您獲得了 (.*) zeny/
call {
$asd = 0
pause 1
do chat leave
---------------以下省略---------------
請注意看 console /您獲得了 (.*) zeny/ 這一句
仔細看清楚後 看看你的黑窗裡面
發現 疑怎麼跟視窗裡面的不太一樣
以上紅色圈圈是我發現跟我的不太一樣之處
請把 console /您獲得了 (.*) zeny/
改成你所看到的 如果照著打還是不行
試著去 \logs 找這段
[Jan 19 01:07:20 2011.20] 您接受了最終的交易
[Jan 19 01:07:20 2011.33] 交易完成
[Jan 19 01:07:20 2011.34] 您 獲得 3,000 zeny.
∼如果的你訊息儲存紀錄是關閉的請打開∼
把 您 獲得 3,000 zeny. 複製起來~!!!!
內的3,000改成(.*)
修改後便成這樣=>您 獲得 3,000 zeny.(複製後更改3000為(.*))=>您 獲得 (.*) zeny.
再把修改好的字串 您 獲得 (.*) zeny. 丟到剛剛所告知的巨集段落
修改後內容如下
automacro f {
console /您 獲得 (.*) zeny./
call {
$asd = 0
pause 1
do chat leave
我更改成這樣後~就開始跑很順沒有出現問題了~
至於有人會說我的出現deal 錯誤 or 多了一個 } 這是不影響的 他依舊是會跑
deal 錯誤 是因為有一段
macro start {
$asd = 1
do deal no
pause 1
紅字這邊所造成~你才剛開上線沒有完成過任何交易 怎麼會有東西讓你拒絕呢?
多了一個 } 這方面 我是過刪調or 不刪都不會造成影響
如果討厭看到黃字就去刪調吧
一個 { 對應一個 } 如果巨集一開始有出現兩次 { { 那麼最底下因該要有兩個 } }
如果你看到上面只有 { 一個 下面卻 } } 有兩個 那就是這邊多了~
------------以下是我正在使用而且可以使用的巨集------------
automacro a {
console /您現在已在遊戲中/
call {
if (@invamount(藍色魔力礦石) == 0) goto qk
#當藍色魔力礦石=0時qk= =
stand
pause 3
do chat create "a-1 b-2 c-3 d-4 " 2 0 4528
#a-1 b-2 c-3 d-4 = 聊天室名稱
pause 1
do sit
stop
:qk
do sit
stop
}
}
automacro b {
console /(.*) ((.*)) 向您要求一個交易/
run-once 1
call {
do deal
pause 15
#15秒內不動作取消交易
do deal no
stop
}
}
automacro c {
console /(.*) 加入物品以交易: (.*)/
call {
#加入物品取消交易
do deal no
stop
}
}
automacro d {
console /(.*) 加入 (.*) z 以交易/
call {
$a = $.lastMatch2
if ($a = .*) goto bb
if ($a = .*) goto bb
if ($a = .*) goto bb
#$a = ".*" = 傳陣金額
pause 1
#當金額!=你販賣的金額取消交易
do deal no
stop
:bb
pause 1
do deal
pause 1
do deal
pause 10
do deal no
#輸入金額10秒內未完成交易者取消交易
stop
}
}
automacro f {
console /您 獲得 (.*) zeny./
call {
$asd = 0
pause 1
do chat leave
$a = $.lastMatch1
if ($a = .*) goto a1
if ($a = .*) goto b2
if ($a = .*) goto c3
#$a = ".*" = 傳陣金額
:a1
call aa1
#執行macro aa1
stop
:b2
call bb2
stop
:c3
call cc3
stop
}
}
automacro k {
console /LXCollect ((.*)) 向您要求一個交易/
call {
if ($asd = 0) goto asa
do deal no
stop
:asa
if ($a = .*) goto a1
if ($a = .*) goto b2
if ($a = .*) goto c3
:a1
call aa1
#執行macro aa1
stop
:b2
call bb2
stop
:c3
call cc3
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 地圖名稱
#a = 地圖名稱
pause 1
$aa2 = @invamount(藍色魔力礦石)
#施放傳送之陣"後"的藍色魔力礦石數量
if ($aa1 == $aa2) goto ax
#當施放傳送之陣前後藍色魔力礦石相等判定傳送失敗跳至:ax
call start
stop
:ax
pause 1
call axx
#執行macro axx
stop
}
macro axx {
call aa1
#執行macro aa1
}
macro bb2 {
$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 地圖名稱
#a = 地圖名稱
pause 1
$aa2 = @invamount(藍色魔力礦石)
#施放傳送之陣"後"的藍色魔力礦石數量
if ($aa1 == $aa2) goto ax
#當施放傳送之陣前後藍色魔力礦石相等判定傳送失敗跳至:ax
call start
stop
:ax
pause 1
call bxx
#執行macro axx
stop
}
macro bxx {
call bb2
#執行macro aa1
}
macro cc3 {
$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 地圖名稱
#a = 地圖名稱
pause 1
$aa2 = @invamount(藍色魔力礦石)
#施放傳送之陣"後"的藍色魔力礦石數量
if ($aa1 == $aa2) goto ax
call start
stop
:ax
pause 1
call cxx
#執行macro axx
stop
}
macro cxx {
call cc3
# call cc3
#執行macro aa1
}
macro start {
$asd = 1
do c 請再次光顧我唷^^ 看不到請重登看看唷~
do deal no
pause 1
do chat create "a-1 b-2 c-3 d-4 " 2 0 4528
pause 1
do sit
release b
stop
} |