THE KINGDOM CODEX · 挂机工具

IKOK 历史版本与脚本扩展说明

IKOK历史版本的功能变化、语法迁移和完整例子,分清1.x客户端与2.x脱机版。

游戏资料历史公告与活动查看来源反馈勘误
我的笔记笔记输入即保存;标签离开输入框后保存。内容只保存在当前浏览器,可在随身笔记中导出。
展开法典
18
本篇收录 12 13,387 字与表格内容
查看本篇的全部关联

01版本与来源

该下载页把1.x称为可看游戏画面的非脱机版,2.x称为脱机版。软件来自网络汇集,部分并非作者直接提供;本资料站只保存版本、来源与下载地址,未安装验收。

原页面下载信息
2 行原文
https://pan.baidu.com/s/18-O6yrvMEUeI4cfoG89i6g
提取码:qbrg

02怎样查这份历史记录

需要编写脚本时,先读变量、反馈、地图与弹窗章节;排查旧脚本在哪版改变时,再查末尾逐版表。飞梦现站记录到2.9.4,2019年存档还保存更早的0.9.3.1起变化。这里只说明这些版本本身,页面版本号不代表本地IKOK工程或今天的服务器运行版本。

渔夫另存的“2.9.1”是同一批软件更新摘录,已并入逐版表。2.9.1说明reboot也进登录队列,但主动重登时队列通常为空,因此原作者认为实际效果与此前一致;这不是绕过队列的另一条规则。

03赋值、下标与长度的演进

1.7.10对预定义数组用(a=2)解释为下标;2.6.6.2改用(&c=1)明确下标。不要把不同版本语法混成一套。数字/字符串类型取决于首次定义或触发,预先用%var声明字符串数组;2.6.6起改变既有类型会报错。

值、下标、长度及循环,按对应版本使用
7 行原文
输入后定位命中行
(c=$vb)
(a=$ob)
(a=$lb)
(&c=1)
(z= 100 % 3)
loop%va
loop%la

scene多字母变量支持始于2.1.8,彼时bc只支持单字母;%0、%1是匹配结果,数字匹配和文本匹配可决定变量类型。2.9.1的%x是在数组中随机选一条,不能按旧用途推断。

2.6.6.2的(c=1)和(%c=1)相同:未定义的c按结果确定数字/数组类型;已有值就替换当前值,空变量则等价add c 1。从2.6.6起改变既有类型会停止并报错,赋值、toreal、loadmapvar、greedy和loadround都会触及这个条件。0.9.5.3已支持in/not in白名单,1.6.10比较前去空格与tab。

IKOK 2.3.0原例;只在对应版本语境中阅读,未更改执行顺序。
17 行原文
输入后定位命中行
%var b
aa
bb
cc
//定义字符串c,如果没有预定义c而直接使用c的时候,
//c会默认为整数类型,这个时候进行赋值运算赋值给c,会不成功
%var c
%scene begin
//将b赋值给c
(c=$vb)
show %vc
//数组b的下标赋值给a
(a=$ob)
show %va
//数组b的长度赋值给a
(a=$lb)
show %va
IKOK 2.1.8原例;只在对应版本语境中阅读,未更改执行顺序。
7 行原文
输入后定位命中行
%var mobid
a
b
c
%scene begin
::%imobid
sing %vmobid
IKOK 1.3.1原例;只在对应版本语境中阅读,未更改执行顺序。
13 行原文
输入后定位命中行
(x=1)#将数值型变量x赋值为1,注意x不需要提前定义
(x="kk")# 将数组变量x当前的值赋值为kk,动态改变当前变量值,注意x需提前定义,不知道有啥用.
或者
(%9=%0) 将存储变量0的值复制给存储变量9
注意:变量a~z在赋值运算中不需要前缀%
2 变量运算调整,加入变量a~z以及存储变量0~9
变量在运算中不需要前缀%
存储变量0~9需要加前缀%,不然会判定为数字
内置变量血量,魔法值,坐标需要加前缀%
%h %H %m %M %sx %sy
支持多变量指令如下
1::%0 %va
上面这条语句可以通过匹配释放匹配魔法给对方a
2.9.1:从数组随机选择一条命令。
5 行原文
输入后定位命中行
%var a
hi
kick
%scene begin
1::%xa

04反馈与定时器

ignore命中后忽略同一信息在该bc中的后续规则;%root_bc优先于%public_bc且不受提权影响。不要声明%bc root_bc或%bc public_bc,否则覆盖。%timer在运行中按24小时制精确到秒触发,先清call栈、循环栈,再跳目标;重连仍须begin段判断时刻。原例运行说明写kiss而定时目标写cast机,按实际代码目标理解。

IKOK 2.6.6原例;只在对应版本语境中阅读,未更改执行顺序。
16 行原文
输入后定位命中行
%var a
man
%var b
kk
%timer 00:00:00 打经验
%timer 04:00:00 cast机
%scene begin
if(%hh>=0 && %hh<4)
jump 打经验
else
jump cast机
endif
%scene 打经验
1::kill %va
%scene cast机
1::cast strong on %vb
2.6.6.1:先排除腐烂无名尸体,避免后一条具名尸体规则误触发。
2 行原文
ignore::腐烂的尸体(corpse)位于%*
call:get:%*的尸体(corpse)位于%*

1.6.14开始,%h/%m/%sx/%sy的条件由角色状态改变触发,例如jump:kill:%sx==10&&%sy==12;此前只有新消息才触发。1.6.3的priority是暂时不响应public_bc,priority inverse恢复;2.6的root_bc优先级更高,不受提权影响。这不同于ZKOK同名指令只反转三层匹配顺序。

IKOK 1.7.12原例;只在对应版本语境中阅读,未更改执行顺序。
13 行原文
输入后定位命中行
%hook
例如,有两个人物,autobota以及autobotb,autobota想接受autobotb的状态信息
%hook
autobotb
%scene begin
if ( %h@autobotb < 100 )
5::cast 加血 on autobotb
endif
或者在bc中加入
%public_bc
jump:cast:%h@autobotb < 100
由于机器人的载入不一致,判断要观察的角色是否载入可以用 %h@autobotb == -1 来判断
支持所有目前支持的角色变量
IKOK 1.7.11原例;只在对应版本语境中阅读,未更改执行顺序。
4 行原文
%scene begin sing_bc
10::sing
%bc sing_bc
next:1:你高兴的%*
IKOK 2.1.6原例;只在对应版本语境中阅读,未更改执行顺序。
6 行原文
输入后定位命中行
%var s
stage1
%scene begin
10::
(s="stage2")
jump %vs

05地图与拾取

loadmapvar把指定ID的物件/生物坐标写入变量;2.2.1明确限制当前视野。greedy生成跑点,loadround求当前可拾范围与尸体集合的交集,可在拾取后remove掉坐标。后续greedy支持多个排除点,使用变量、坐标或地址码排除柜台等点。旧作者每坑6~7点是测试样本。

游戏命令
11 行原文
输入后定位命中行
loadmapvar corpse u
loadmapvar magic wolf g
greedy u j
loadround u l
remove u %vl
@run x,y
@run (x,y)
@run 343255
@run %va
toreal %va (5,10) b
toreal %va c b

八个尸体位置可用usevar corpse a代替逐项定义:(5,8)、(5,9)、(6,10)、(5,11)、(5,12)、(4,11)、(4,10)、(4,9)。旧版@look1查物件,@look2查生物,支持(5,10)、[25,152]、321324三种表达。原作者估计全屏220点、每点至少0.1秒,要22秒,因此只建议小范围扫描。

IKOK 2.0.18原例;只在对应版本语境中阅读,未更改执行顺序。
28 行原文
输入后定位命中行
loadmapvar corpse u
#先捡周围8个尸体,捡一个,就从u中删除一个
loop8
#将当前正在捡的尸体坐标从变量u中删除
remove u %vc
0.4::get ALL_ITEM_IN %vc
::%ic
0.4::sell 1
0.4::sell 1
0.4::sell 1
0.4::sell 1
endloop
#对变量u进行贪心算法,结果保存在变量j中
greedy u j
foreach j
run %vj
#当前坐标覆盖的点与尸体坐标取交集
#得出当前坐标可以拾取的尸体坐标,存入变量l
loadround u l
foreach l
remove u %vl
0.4::get ALL_ITEM_IN %vl
0.4:sell_bc:sell 1
0.4:sell_bc:sell 1
0.4:sell_bc:sell 1
0.4:sell_bc:sell 1
loop
loop
IKOK 1.8.1原例;只在对应版本语境中阅读,未更改执行顺序。
13 行原文
输入后定位命中行
(z=0)
foreach u
run %vu
0.4::get ALL_ITEM_IN %vu
::%iz
if (z % 2 == 0)
0.5::look 1@xxxxx
loop8
0.4::sell 1
endloop
endif
loop
这种写法可以避免尸体覆盖,导致尸体具体数量不准确,捡卖多循环的问题
IKOK 0.9.5.4原例;只在对应版本语境中阅读,未更改执行顺序。
21 行原文
输入后定位命中行
%var a
(5,8)
(5,9)
(6,10)
(5,11)
(5,12)
(4,11)
(4,10)
(4,9)
%scene begin
foreach a
1::look %vm
1:get_bc:get ALL_ITEM_IN %va
0.5::sell 1
0.5::sell 1
0.5::sell 1
0.5::sell 1
loop
%bc get_bc
continue::这里什么也没有
以上语句会在遇到地上无东西的时候,不进行sell,直接捡下一个位置,节约2秒时间
IKOK 0.9.5.4原例;只在对应版本语境中阅读,未更改执行顺序。
27 行原文
输入后定位命中行
%var a
(5,8)
(5,9)
(6,10)
(5,11)
(5,12)
(4,11)
(4,10)
(4,9)
%var b
(3,7)
(6,7)
(6,13)
(3,13)
%scene begin
toreal b c
foreach c
2::run %vc
foreach a
1::look %vm
1:get_bc:get ALL_ITEM_IN %va
0.5::sell 1
0.5::sell 1
0.5::sell 1
0.5::sell 1
loop
loop

06弹窗与背包

弹窗分为输入文字、选择列表和直接点击按钮三类。@%% 的第一个参数是按钮编号或名称,第二个可填文字或列表序号;@%%0/@%%取消用于关闭,@%%1 或按钮名称用于确认。列表可按内容或序号选择,柜台商品在该版只支持物品 ID。

0关闭、1开启四类信息设置;均为命令参考,不在页面执行
17 行原文
输入后定位命中行
@%%1 1000
@%%确定 1000
@%%0
@%%取消
@%%1 1
@%%训练 等级
@%%刷新
@%%2 boots
@&click 草靶(target)
@&look 草靶(target)
@&bag 0
@&dclick 神奇魔棒 1
@&drop 0
@&set dialog 0
@&set other 0
@&set debug 0
@&set obj 0

目标类型要分清:@&click 点击地图物件,@&look 查看生物,草靶(target)这样的括号 ID 可缩小匹配范围。@&bag 单击背包物品,@&dclick 双击;2.7.1.1 起,同名魔棒可指定0、1、2号,@&drop 也使用从0开始的背包序号。背包序号与弹窗按钮从1开始的顺序不同。

07变量与调试

变量含义
%n玩家ID
%N玩家名称
%k职业
%K昵称
%Y城邦
%map地图ID
%sc当前地址码
%nowUnix秒
%hh / %mm / %ss时/分/秒
%heft / %HEFT当前/最大负重
%ucon / %ustr / %usta / %udex / %uint / %ukar体质/力量/毅力/敏捷/智慧/运气
%damage / %hit / %damage2 / %hit2两组伤害/命中
%uac / %udb正防/额防
%h / %H;%m / %M当前/最大HP;当前/最大MP。
%sx / %sy当前横/纵坐标。
%g / %e身上金币/经验。
%la变量a长度;1.8.1整数长度为1。

%hook声明需要观察的其他角色,%h@autobotb读取其HP,-1可判断尚未加载。show的输出可供bc匹配;输入框@show变量仅在运行或暂停时可用。死亡记录回溯100条,debug可包含发出命令;异常以cmd error/bc error区分。

游戏命令
3 行原文
show %h@autobotb
@show %va
save

1.6.4允许直接1::%va或1::%0发送变量中的游戏命令;单独::%za、::%ia、::%da、::%xa仅运算,不发送。2.9.1将%x改为随机选一条数组命令直接发出;组合变量和文字仍可使用。

IKOK 2.9.1原例;只在对应版本语境中阅读,未更改执行顺序。
5 行原文
输入后定位命中行
%var a
hi
kick
%scene begin
1::%xa

2.5的 add/remove 曾自动保存,2.5.1 改为显式 save。1.7.8的 add 不重复追加已有值;2.6.7.5、2.6.7.9 分别修正越界和下标变化。@show 显示普通文字不受变量读取时的运行/暂停条件限制。

08旧客户端安装、登录与编码

1.8要求把core.jar、jarhook.dll、runw-1.8.bat放在原目录,配iKing1.3,使用真实角色ID;当时不支持多开,可保留1.7,也无需重新注册lw.dll、dm.dll。1.8.3修不同角色暂停互相影响,并要求更新core.jar与jarhook.dll,避免用ikok.jar覆盖core.jar;调整包名后可与1.7.17共存。

客户端1.4曾在1.7.0获得兼容,但1.7.1/1.7.2又因CPU高和启动慢建议不用。Windows2008内存读取问题当时建议管理员和2008兼容模式;1.6.7起模拟按键改小窗消息发送,手工输入和脚本可并存。1.8.4监视并关闭插件3.1233错误,1.7.16每10秒检查客户端停止运行弹窗。

1.3.4简繁合并后,原作者指定Unicode启动文件并提醒保存config.cfg;1.5.2/1.5.3处理UTF-8和BOM。1.4.1信息合并默认关闭,开启会影响>>匹配;1.8当时还有小窗消息不全、IKOK不显示含>>消息的问题,2.7.1.4另作多行合并处理。

1.3.5发现消息超时和定时重启可各登录一次:超时1分钟、计划7:05时,可能7:01重连后7:05再登。旧建议是关闭定时重启,或让超时大于“定时重启时刻−服务器重启时刻+账号数×单账号登录时间”;作者认为两种都不理想,不能包装成完整修复。

09重启、跳出、白名单与记录的原例

restart重跑脚本,reboot重启客户端,shutdown关闭:具体延迟单位随版本演进,1.3.1写reboot秒数,2.0.3又记录由分钟改秒。查旧脚本应结合版本。call需要返回时使用return;不再回去只弹栈则用pop。

IKOK 1.3.1原例;只在对应版本语境中阅读,未更改执行顺序。
7 行原文
输入后定位命中行
%scene reboot
reboot %1
%public_bc
jump:reboot:%b%*断线%#秒钟
4 bc段支持reboot指令,格式如下
reboot:10:xxxxx
匹配成功后 ,立即断线,十秒后重启
IKOK 1.1.0原例;只在对应版本语境中阅读,未更改执行顺序。
6 行原文
输入后定位命中行
%scene begin
1::sing this is begin!
call work
%scene work
1::sing this is work!
pop
IKOK 0.9.5.3原例;只在对应版本语境中阅读,未更改执行顺序。
13 行原文
输入后定位命中行
%var a
zhangsan
lisi
%public_bc
jump:give:%b%+(%$)告诉你:给钱%*
%scene begin
wait50
%scene give
if( %1 not in a )
1::tell %1 对不起,你不在白名单中
jump begin
endif
1::give 1000000 to %1
IKOK 0.9.4.2原例;只在对应版本语境中阅读,未更改执行顺序。
13 行原文
输入后定位命中行
%scene begin
::%ia
::sing %va
log %va
2)在bc中写法为 log::需要记录的内容
%bc
log::你正忙著呢 !
%public_bc
log::%*你被通缉%*
3增加shutdown指令,在bc中使用
%public_bc
shutdown::%*你被通缉%*
shutdown会记录原因
IKOK 0.9.3.1原例;只在对应版本语境中阅读,未更改执行顺序。
5 行原文
输入后定位命中行
%public_bc全局行为控制段指令
%public_bc
retry:0.5:你正忙著呢 !
retry:0.5:但是什么事也没发生。
retry:0.5:(你发出的命令过多了, 每秒超过3个, 超过的命令将被拒绝)

102.9至2.0逐版变化

版本这次改变了什么
2.9.4增加三服挂机支持。
2.9.1新增登录队列与间隔,掉线、重启、reboot均排队;批量登录勾选会停止自动登录;%x改为从变量中随机取指令。
2.8.19优化Netty、收发信息和内存;4321端口已占用则不启动代理,多开仅一份代理服务。
2.8.18修复地图错误。
2.8.17日志清理范围3~300天;标题加地图ID及昵称;SWT批量登录不再修改各账号的登录与运行选项。
2.8.16修保存脚本多加换行;登录倒计时可设3~300秒。
2.8.15修停止运行异常;自动清7天前日志;批量登录默认倒计时30秒。
2.8.14修两处白屏与死亡日志换行,死亡记录加坐标。
2.8.13处理穿戴装备、卸载脚本引发的错误。
2.8.12修拾取后物品残留,减少地图刷新;Swing左栏选择角色更准确。
2.8.11消息、状态栏、死亡日志与内存优化;bc独立线程,正则预编译;修SWT背包及白屏;新增副手、卸装信息,左栏备注带ID。
2.8.10地图改Canvas,改善拖窗口;左栏加运行状态,默认960×640。
2.8.9修背包白屏,自动打开登录框并保存自动运行/批量登录状态。
2.8.8修白屏,仅保留error.log输出。
2.8.7修多处白屏、地图拖影;增加地面物品及error.log,多格物品仍不精确;loadMapVar可取双ID之一,地图隐藏时仍可用@%%。
2.8.6柜台窗口增加背包卖出列表,状态栏加间隔。
2.8.5修关闭窗口白屏及人物物品重叠丢图。
2.8.4修左栏偶发白屏,支持数字键盘回车。
2.8.3修登录中切界面、点背包错误;脚本文字颜色与游戏一致。
2.8.2修训练窗口白屏、账号列表重复;@%%不再不必要地激活窗口,登录加快。
2.8.1重写UI,改进性能和内存,地图增加金币药物杂项装备尸体图标;Linux要求64位且当时未测,仅体验版。
2.7.1.4修负重刷新,脚本解析错误可见;多行消息处理>>,调整账号排序。
2.7.1.3修时空门、路标不弹窗及经验金币不刷新。
2.7.1.2属性改弹窗并过滤颜色,最小化暂停状态栏刷新;修车夫传送后坐标不变。
2.7.1.1@&dclick支持从0开始的同名物品序号,增加@&drop序号;面板加属性,优化状态变化更新。
2.6.7.14修%root_bc、%public_bc不响应和边缘MOB重复。
2.6.7.13修弹窗按钮错误;增加@&bag <序号或名称>单击背包,序号从0开始。
2.6.7.12账号密码错误时每1分钟重登。
2.6.7.11修草人转职按钮缺失。
2.6.7.10增加窗口标题备注设置。
2.6.7.9修remove引发变量下标变化。
2.6.7.8修嵌套if的else;bc增加属性、金额、经验、正额防、伤害、命中、负重、最大负重/MP/HP判断,作者注明未测。
2.6.7.7run从每0.34秒发改为每秒发、每0.2秒检查坐标;登录后取得角色名称与昵称才启动脚本。
2.6.7.6赋值表达式中的未出现变量默认0。
2.6.7.5修remove下标越界,剩余越界记录日志。
2.6.7.4toreal允许相对坐标字面量作参数,也可用坐标变量。
2.6.7.3修登录框。
2.6.7.2修表达式错误导致慢运行;扩大批量登录框,新增备注列。
2.6.7修修改昵称后sc读取旧%K;loop支持整数变量及长度,如loop%va、loop%la;loop/foreach缺少结尾会提示,其他形式未测。
2.6.6.2下标赋值改(&c=1);(c=1)与(%c=1)同义,未定义变量依结果定类型,已有有值变量重赋当前值、空变量等价add;错误提示加行号。
2.6.6.1过滤昵称颜色;bc新增ignore,命中后终止同消息后续匹配,防尸体无名化与具名匹配冲突。
2.6.6赋值改变已有变量类型时停止并报错,涉及赋值、toreal、loadmapvar、greedy、loadround;bc错误只报不停止;增加%timer并修hook与密码错误无法关闭窗口。
2.6.5输入框@show支持文字与变量,变量仅运行/暂停有效;收包内存优化,Netty升4.1.42。
2.6.4修密码错误窗口关闭;默认国服地址及客户端1.5.0.49,国服旧配置须更新版本字段。
2.6.3内存优化、提前加载bc;logDebug可记录脚本运行。
2.6.2信息和脚本光标可设颜色;三击选行并复制到命令输入栏。
2.6.1修public_bc失效,脚本字体跟随信息。
2.6增加最高优先级%root_bc,不受提权影响;禁止%bc public_bc或%bc root_bc以免覆盖。加字体设置和Java9高分屏启动run-2-hidpi.bat。
2.5.3断线清地图,修reboot间隔错误延续及i弹窗选项不对应。
2.5.2修窗口不能关闭。
2.5.1新save保存脚本;add、remove不再自动保存;修Windows/Linux换行。
2.5修取消内存清理勾选错误;本版add、remove会自动保存,下一版改为save。
2.4.2普通信息默认100行可调,地图固定100行自动清理;重启内存释放优化。
2.4.1Linux要求原文glic2.12以上;修物品数量变化及死亡停止,但作者尚未确定后者原因。
2.4增加Linux支持和日志线程,修偶发死亡、物品数量变化及其他问题。
2.3.0金庸纪念版:@run兼容@&run,支持@&kill;表达式支持$vb/$ob/$lb值、下标、长度;修死亡记录时间,合并部分日志,loadmapvar支持变量。
2.2.7改善换装提示,修地图变量遗漏;@run接受x,y、(x,y)、地址码和变量。
2.2.4修多字母变量::%i不执行及MOB死后不换图。
2.2.2点装备显示属性;标题显示备注、名称(ID)、VIP时间。
2.2.1地图名称ID查询限当前视野:相对x -5~5、y -10~10;原页另列视野外x -6~6、y -13~13。
2.2.0弹窗开关、负重显示及当前视野查询;@&set控制dialog、other、debug、obj四类信息,0关1开。
2.1.8变量首次使用决定数字/字符串类型,bc可从匹配%0、%1赋值;scene支持多字母变量,bc当时仅单字母。
2.1.7增加bc赋值表达式,可为数字或字符串。
2.1.6jump、goto、call在scene及bc中均可用变量目标。
2.1.5修无ID物品引发@&click错误和经验不变;死亡日志回溯100条,debug启用时可记录发出的命令,保存在logs。
2.1.4新增%map地图标识。
2.1.3弹窗文字合并供bc匹配,调整bc控制、修文本顺序;@&dclick等同背包双击。
2.1.2修停止滚动无效。
2.1.1修大法传送后坐标未清;greedy允许多个排除点,参数可为变量坐标、x,y或地址码;路径缩短并改善柜台可见性。
2.1.0贪心拾取增加边界与最短路径,修柜台不在视野;修昵称、职业、国籍、阶级乱码。
2.0.19run改鼠标命令,h无记录、debug显示run x,y;来源测试点柜台后无需再list或重点。
2.0.18修输入/消息乱码,信息可供bc匹配;greedy与loadround依据周围9点优化尸体拾取,作者样本每坑跑6~7点。
2.0.17物品和MOB名称简繁转换;修clearmapvar并发、弹窗内存溢出、界面白屏及hook并发;show支持%h@xxx,点人物物品可显示信息。
2.0.16修弹窗繁体乱码和%n/%N/%k/%K读取。
2.0.15增加错误细节、三类弹窗@%%、@&click物件、@&look生物及身份变量;修坐标偏移、末字乱码、shutdown重启,并加进入地图信息。
2.0.14bc改异步控制、网络池每客户端1线程;UI加消息、属性和频道开关,属性当时未调用;修自动运行与hook。
2.0.6修debug显示,主界面加ID与备注,过滤装备颜色,子窗标题备注+ID。
2.0.5增加图形与装备栏,调整重登,修1.8已有的通信问题及初始y=19坐标错误。
2.0.3修消息不显示;reboot时间单位由分钟改秒。

111.8至1.0逐版变化

版本这次改变了什么
1.8.6run变量0时跳过;命令与bc错误显示并记日志,bc错误不中断;增加属性变量。show增100延迟,修日期导致登录失败、连续插入消息影响脚本,移除远程主机关闭提示。
1.8.5修public_bc响应;loadmapvar支持含空格ID,如magic wolf。
1.8.4修public_bc响应、简繁同义字转换;守护进程拦截插件版本3.1233错误窗口。
1.8.3需更新core.jar及jarhook.dll;修暂停一个角色连带他人,调整文字转换与包名,使1.8和1.7.17可共存,避免ikok.jar覆盖core.jar。
1.8.2因服务器每秒3指令限制不精确,bc取消补差并恢复1.7计时;不勾小窗信息就不建转发线程。
1.8.1支持取余,%两边须空格;%l读长度,整数长度1;%d对整数减1。可用于每捡2/3次卖出一次。
1.8core.jar、jarhook.dll、runw-1.8.bat放原目录,配iKing1.3,不能多开;保留1.7、无需重注册lw.dll或dm.dll,填真实角色ID。新增秒级%now、%heft/%HEFT、loadmapvar、物品/生物信息分类和网络代理;小窗可能漏消息,IKOK信息当时不显示含>>消息。
1.7.17修run。
1.7.16每10秒检查iKing Client停止运行窗口并关闭;账号debug显示发出指令。
1.7.15修暂停连带消息暂停;run先检查坐标,设maxtime每秒发、未设每340ms发;scene log支持变量,修restart/reboot/shutdown,bc支持无时间参数restart。
1.7.14新增%hh、%mm、%ss时间变量供判断。
1.7.13修被hook角色未启动导致脚本不运行;读取间隔50~100ms,逐行间隔由10ms改为总间隔除行数。
1.7.12修延迟执行导致停止及::%i异常;新增%hook跨角色属性,未加载可用属性==-1判断;消息读取频率可调。
1.7.11%scene可指定bc,反馈的next能调整该段等待。
1.7.10%o兼容%z,数组下标归零或整数清零;当时预定义数组赋数字被解释为下标、赋字符串改值,下标从0起。
1.7.9bc支持%x变量集合匹配,新增%sc当前地址码。
1.7.8bc jump/call错误提示,提权优化,add支持变量且不重复追加。
1.7.7Windows2008内存读取问题建议管理员及2008兼容;do支持break/continue,jump出循环会清栈,需返回用call;修暂停停止后重启及scene continue被当break,bc break/continue默认300ms,兼容(5::)等待。show可供bc匹配,add/remove增删预定义变量内容。
1.7.6bc next/retry恢复300ms;服务器每秒3指令仍可能拒绝且h无记录,修重登内存读取。
1.7.5修bc块。
1.7.4优化小窗查找;取消匹配默认300ms及部分100ms等待,改由代码控制;多线程转发,读取失败重启、成功才执行脚本。
1.7.3修重启后不能读取客户端内存。
1.7.2客户端1.4当时CPU高、画面启动慢,登录模块回退1.6.14;修线程过多与内存读取失败,运行错误显示在信息面板。
1.7.1恢复旧绑定模式,修无响应检测死循环;作者当时不建议用客户端1.4挂机。
1.7.0兼容客户端1.4、读取繁体人物资料、优化绑定,增加当前/最大负重变量。
1.6.14修带等待的retry/next期间不响应public_bc;两者默认等0.3秒,有参数则用指定等待。修批量登录自动运行;bc/public_bc的HP、MP、坐标判断改由实际状态变化触发,此前须有消息。
1.6.13突出显示左侧选中标签。
1.6.12修仅含空格的空行导致脚本无法运行。
1.6.11匹配行末保留空格和tab,不再自动裁去。
1.6.10in、not in比较变量时先去空格与tab;与匹配文本保留空白不是同一操作。
1.6.9修Windows10重复登录。
1.6.8修bc匹配包含冒号时失败。
1.6.7由模拟按键改向小窗发送sendmessage,运行脚本时玩家仍可在客户端手工输入。
1.6.6修if/else/endif。
1.6.5修变量错误,原文未进一步列条件。
1.6.4取消输入后等30ms再回车,处理偶发回车失效,作者仍待观察;直接%va或%0~%9可发送命令,单独%i/%z/%d/%x只运算。
1.6.3敏捷统一读%udex、取消%uDEX;修pop。priority临时不响应public_bc,priority inverse恢复;脚本线程运行当时未详测。本版加入30ms回车延迟,下一版取消。
1.6.2查找信息窗失败立即排入重启,处理内存异常;初加%udex、%uDEX与%uzf,敏捷区分下一版更正。
1.6.1为兼容旧版,默认人物ID等于账号。
1.6增加金币%g与经验%e;账号管理、主界面显示人物ID,当时不验证;调整坐标位置。
1.5.6修前台鼠标登录。
1.5.5修绑定失败超时未reboot,窗口查找和绑定限5秒、超时排重启,信息窗原等待不变;防绑定失败弹窗方案待观察,当时建议服务器挂机用前台。
1.5.4修启动ikingxp.exe找不到窗口却不重启。
1.5.3修UTF-8 BOM读取和脚本不存在时登录异常。
1.5.2脚本统一转UTF-8,修部分变量读取。
1.5.1优化登录;右键可载入/卸载脚本,输入框上下箭头调历史;合并简繁脚本识别。
1.4.1增加全局信息合并开关,默认关闭,运行中可改;开启前须检查原脚本对>>的匹配。
1.3.7再修偶发双重消息,调整监听线程增强重启可靠性,效果待观察。
1.3.6定时重启默认开启;登录关键步骤默认延迟1000ms,若账号密码挤到同一输入框应调大。
1.3.5修双重消息、定时登录空异常;发现消息超时先重连、随后定时重启导致两次登录,解决办法见下文。
1.3.4尽量将a~z及0~9存储值识别为整数;if增加else。键鼠间隔默认500ms、最多5秒;关键登录延迟另写“500秒”,原文单位疑点保留。简繁合并,用run - unicode.bat或runw - unicode.bat;旧作者建议保留config.cfg并避开非Unicode启动文件。
1.3.3存储变量可识别为整数供if/do/运算使用,暂不支持小数。
1.3.2修tell %1等捕获变量。
1.3.1scene增加数值/字符串/捕获变量赋值;a~z无需%前缀,捕获与内建变量需要。reboot支持秒数与bc;窗口500行、默认滚动,可右键关闭滚动。
1.2.3修相对坐标。
1.2.2释放ikingxp.exe内存改可选;重启改为全部关闭、释放内存再顺序启动;修格中心与相对坐标。
1.2.1补bc return;每小时释放客户端内存、reboot时GC、command清对象三项当时均待观察;登录日志写logs/日期-log.txt。
1.1.1usevar corpse简写八个周边位置;scene增加reboot、restart、stop、pause。
1.1.0批量登录全选,替代旧lulu操作;可选后台鼠标。退出释放COM的旧方法是否有效未确定;改写iking.cfg开小窗,替代Ctrl+F3;加窗口绑定判断与pop。
1.0.1修toreal无坐标参数不能转换。
1.0优化run性能。

120.9早期逐版变化

版本这次改变了什么
0.9.6.4修toreal不能转相对坐标。
0.9.6.3run增加maxTime,超过时间进入下一命令。
0.9.6.2run支持地址码;toreal格式增起点坐标、相对位置变量及结果变量。
0.9.6.1初加run,支持1,2、[1,2]、地址码、普通与捕获变量,当时不支持相对地址;未来改名仅是设想。加Windows文字缩放参数处理点错位置,修匹配与@look捕获变量,增字体、工具合集。
0.9.5.9繁体另发补丁;修bc jump/call对HP、MP判断不响应。
0.9.5.8修break。
0.9.5.7scene支持shutdown与tab;加入%x随机、%d向上取值;繁体当时未测,批量登录增加click on lulu;@look1物件、@look2生物可用相对、绝对、地址码,限制扫描范围的原因见下文。
0.9.5.6紧急修retry及do,do当时要求配enddo;不能用后期loop写法反推此版。
0.9.5.5bc加入HP/MP判断,例如HP<500时shutdown;作者标未验证。
0.9.5.4for/loop及其bc支持continue/break;空地拾取后可跳过4次卖出;toreal相对位置转换用于24人坑四点拾取,原例look %vm未定义m。
0.9.5.3修jump后重入foreach/loopNum未从0开始,增加break;bc可%i计数;if增加in/not in白名单及普通数值判断。账号管理修改到重登才生效,批量勾选当时不保存;作者要求详测。
0.9.5.1修shutdown后不能手工登录、无logs目录不能记日志,增加匹配调试工具。
0.9.4.2修登录失败未reboot;scene和bc增加log;bc shutdown会记录原因,统一写logs;修::%0为游戏命令时不执行。
0.9.4.1lw.dll实现后台鼠标登录及自动开小窗;只显示已登录账号,支持单账号关闭。
0.9.3.1初加%public_bc,可匹配忙碌、无效果、每秒超过3命令而重试;当时更新方式为覆盖ikok.jar。

来源与版本

飞梦/17KOK、渔夫与2001年典藏版出现数值或机制冲突时,以飞梦所记相应服务器的后续有效规则为正文依据;同站更新按明确生效日期处理。旧规则保留年代与服别,未明日期的差异就近说明;原资料对照用于追溯。

对照原资料
查看 4 份来源与保存记录
17KOK 资料站

ikok下载

查看保存记录
来源编号
17-live-120221728b745761
保存时间
2026-09-08
17KOK 资料站历史快照 · 2019-07-20

ikok下载-软件下载

查看保存记录
来源编号
17-abd948f5c92647f6
保存时间
2026-09-07

原文署名飞梦

正文注明“本资料来自17kok.com 转载请保留”,依该声明保留出处与署名;不将此声明扩大用于其他页面或来源不明配图。

台湾渔夫资料站

2.9.1

查看保存记录
来源编号
k2-2
资料集
ikok代码2
保存时间
2026-09-07
原始位置
2.9.1.txt
台湾渔夫资料站

iKok更新说明(从0.9.3.1版至2.8.19版)

查看保存记录
来源编号
k2-5
资料集
ikok代码2
保存时间
2026-09-07
原始位置
iKok更新说明(从0.9.3.1版至2.8.19版).txt