本篇收录 3 节4,087 字与表格内容
查看本篇的全部关联 使用前,先确认这些设置
- 需要原IKOK支持timer与greedy排除坐标,五个魔棒定位、坐骑、四套承重及国库操作权限。
- heft=690是载物售卖线、heft2=1是留物基准、heft3=650用于分辨坐骑状态,三者用途不同。
来源脚本供研究参考,未在当前游戏环境运行验证。
01用途与执行流程
一个拾取号轮转五个传送魔棒定位,按四具尸体一批出售;还包含每日紫晶购买和国库投资。
- trans依TELEPORT 5至1,定位在各坑中心上一步;按最大负重小于650判断是否summon HORSE 1。
- 等尸体至少14具,未达28则按x范围跑6/24/42/60/78,50中心再读取。
- greedy避开五个商店坐标,每拾四具或负重>690就卖到负重1,结束存款并换下一定位。
- 23:59:59查询银行和store,紫晶不少于450执行store 4 2 1与store 2 2 1;原作者解释为买镇国石和月卡。
- 7:03回home,向smith、armory、trainyard、hero_guild、furnace及weapon、armor、new_class、technology各投入200万。
02这份代码的适用限制
03完整代码
196 行原文
%timer 23:59:59 記錄
%timer 7:03:00 投資
#timer的用法具體可見IKOK更新文件,會強制在該時點跳轉至對應scene
%var develop
smith
armory
trainyard
hero_guild
furnace
%var research
weapon
armor
new_class
technology
%var thatmuch
2000000
#上面3個變數是國家發展和研究對應的具體專案和投資金額
%var trans
TELEPORT 5
TELEPORT 4
TELEPORT 3
TELEPORT 2
TELEPORT 1
#撿錢號需要用到傳送魔棒,定位按順序來即可。定位位置建議為每一坑中心點往上1步的位置,比如中心點為6,50,則魔棒定位點為6,48,以此類推
%var heft
690
#這是我的撿錢號一次撿4套裝備的實際負重,自行修改
%var heft2
1
#這是我的撿錢號身上實際無物品時候的負重+1的數值(即裸體負重為0),在代碼中的作用即只要對應條件觸發,身上的負重大於1就保持出售物品
%var heft3
650
#這是撿錢號未上馬時大於其現有最大負重但小於其上馬時最大負重的數值,用於判斷是否已騎馬。用狀態判斷亦可,但負重比較簡單直接。例:未上馬時最大負重500,上馬時最大負重700,則該變數內的數值可取501~699,只要當前最大負重小於該數值,即可判斷沒有坐騎從而需要召喚
%public_bc
next:0.34:你要往哪個方向 ?
call:drop:你拿不動了 !
%scene begin
(start=%now)
if(%HEFT<heft3)
do(true)
5:summon_bc:summon HORSE 1
enddo
endif
#上面這個if就是判斷是否已上馬的案例
10:trans_bc:%vtrans
loop60
1:check_bc:jump
endloop
if(%heft>heft2)
loop30
1:click_bc:@&click 櫃檯
endloop
do(%heft>heft2)
0.34::sell 1
0.34::sell 2
0.34::sell 3
enddo
endif
#轉換了地圖後,如果身上有雜物,則負重必然高於設定值,這個IF段就是用於清空身上落在錢包下方的物品
loadmapvar corpse c
do($lc<14)
1::
loadmapvar corpse c
show %lc
enddo
#這個作用是在坑內等待打額點的號清坑,每1秒抓一次現場屍體數量,直到場上的屍體多於14具,才開始下面的動作。這裡的14,可設定為2~27,因為額點號殺怪原則上是28只怪同時死,但難免有時候會有先後,設定屍體大於14再開始動,主要是防止極端情況下只死了一半的怪撿錢號就跑到比較偏的位置,從而抓不到28具屍體的位置碼,從而減少了撿錢數量
loadmapvar corpse c
show %lc
if($lc!=28&&%sx>=1&&%sx<=11)
0.5::run 6,50
endif
if($lc!=28&&%sx>=19&&%sx<=29)
0.5::run 24,50
endif
if($lc!=28&&%sx>=37&&%sx<=47)
0.5::run 42,50
endif
if($lc!=28&&%sx>=55&&%sx<=65)
0.5::run 60,50
endif
if($lc!=28&&%sx>=73&&%sx<=83)
0.5::run 78,50
endif
#這段連續的if就是判斷撿錢號現在所處的位置。我的方案中,國內5坑的中心點分別為6,50;24,50;42,50;60,50;78,50。當場面上的屍體多於14具後,額點號清完場走人了,坑中心位置讓出來了,撿錢號就會跑去當前坑中心,再抓一次屍體,這樣就一定可以確保是28具屍體了
loadmapvar corpse c
show %lc
call sell
clearmapvar corpse
0.5::@&click 銀行櫃檯
0.5::deposit %g
::%itrans
(end=%now)
(duration=end-start)
#log 本坑前後合計用時---->【%vduration】<----秒
#這裡的LOG#掉了,主要是當時用來檢測撿錢要多久,代碼穩定了,就不需要log了,不佔用資源
%bc trans_bc
retry:1:你正忙%*
retry:2:你剛剛才轉換過區域%*
next:2.5:你進入區域%*
next:1:你在原地跳了%*
retry:1:傳送魔棒還有%*秒才能再進行傳送。
%bc summon_bc
retry:1:你對著空中做了些奇怪的手勢%*
break:1:你往神聖白馬一跳,順利地騎上了神聖白馬。
break:1:你已經騎著馬了,不需要再召喚了。
next:1:你的座騎才回去不久,讓他休息一會兒再召喚吧。
%bc click_bc
break:0.34:這是一張生意場所經常使用來記帳的櫃檯。
%scene sell
loop10
1:click_bc:@&click 櫃檯
endloop
greedy c t 6,44 24,44 42,44 60,44 78,44
#這個貪心演算法後方加入的5組座標,是每坑的商店位置,用於避免貪心演算法將這種不可跑到的位置算成了一個方便撿多件物品的位置。greedy命令在後方加座標的用法可詳見IKOK更新文件
foreach t
run %vt 8
loadround c s
foreach s
remove c %vs
3:get_bc:get ALL_ITEM_IN %vs
(p=p+1)
show %vp
if(p==4||p==8||p==12||p==16||p==20||p==24||p==28||%heft>heft)
do(%heft>heft2)
0.34:sell_bc:sell 1
enddo
endif
#上面這個IF段的作用即每4套屍體進行一次售賣。如果你的號無法撿這麼多就酌情修改,比如能撿3套,就是P==3\6\9\12...以此類推。但需要注意的是,5城25坑的方案中,因為時間非常緊,額點號無法等待NPC近身,所以不少NPC會死在較遠的位置,導致撿錢號撿起該位置的物品會無法售賣,需要往商店靠近才可以賣,從而嚴重降低撿錢效率,因此建議要確保能撿4套,這樣時間才能趕上。
run %vt 8
loop
loop
(p=0)
return
%scene center
if(%sy>55)
0.5::go n
endif
return
#根據觀察,按照現有的坑造型(裝備店在上方),基本賣不掉的裝備往上走1步就可以賣掉,所以出現無法與視線外商店交易的提示時,往上走1步即可(之前的方案是往坑中心跑,效率相對低),大大提升了效率
%scene 記錄
0.34::
2:score_bc:sc
log 截至本日終,身上合計%g枚金幣,銀行存款%1
2:store_bc:store
if(%1>=450)
0.5::store 4 2 1
0.5::store 2 2 1
endif
#這段IF是在錢包裡有超過450枚紫金時候自動買鎮國石和月卡,不需要的可以去掉
jump begin
%scene 投資
10:trans_bc:home me
loop60
1:check_bc:jump
endloop
5:cityst_bc:city_stat
log 本輪投資前國庫金幣剩餘>%1<
foreach develop
0.5::develop %vdevelop %vthatmuch
loop
foreach research
0.5::research %vresearch %vthatmuch
loop
5:cityst_bc:city_stat
log 本輪投資後國庫金幣剩餘>%1<
jump begin
%bc cityst_bc
next::%b%*國庫存底 : 金幣 %# 枚 稅率%*
%bc store_bc
next::%b%*你有 %# 枚紫晶,你想要買什麼%*
%bc score_bc
next:0.34:%b%*銀行有 %* 枚金幣%*
%bc get_bc
retry:0.34:你現在不能拿這具屍體%*
retry:0.34:你上一個動作還沒有完成 !
retry:0.34:你上一個動作沒有%*
next:0.34:這裡沒有任何東%*
next:0.34:你撿起%*
%bc sell_bc
break:0.34:你不能把這個東西賣%*
break:0.34:what ?
call:center:你無法與你視線範圍外的商店進行交易 ...
%scene drop
call center
loop3
1:click_bc:@&click 櫃檯
endloop
do(%heft>heft2)
0.34::sell 1
0.34::sell 2
0.34::sell 3
enddo
return
%bc check_bc
break:0.34:你高興地像小孩子似的蹦蹦跳跳。
break:0.34:在%*及時空魔法%*↗来源与版本
飞梦/17KOK、渔夫与2001年典藏版出现数值或机制冲突时,以飞梦所记相应服务器的后续有效规则为正文依据;同站更新按明确生效日期处理。旧规则保留年代与服别,未明日期的差异就近说明;原资料对照用于追溯。
对照原资料
查看 1 份来源与保存记录
台湾渔夫资料站
捡钱号【注释版,5城25坑方案中负责捡5坑】
查看保存记录
- 来源编号
k57- 资料集
- ikok代码
- 保存时间
- 2026-09-07
- 原始位置
- 打錢代碼/捡钱号【注释版,5城25坑方案中负责捡5坑】.txt
