kosisiyo 发表于 2015-9-16 19:16:19

ERM文件解析工具

本帖最后由 kosisiyo 于 2015-9-18 07:14 编辑

ERM是一种反人类的语言,功能逆天却读起来像天书...
为此花了几天时间写了个脚本工具,把ERM解析的好看懂一点。

还没完工,只作了触发器和不多的几种接收器。

使用:

下载附件,解压缩,可以看到一个 ERM2TXT.BAT功能: 将WOG游戏的ERM脚本解析为可读文本的工具。执行后会在程序所在目录下生成一个与ERM同名的文本文件。

使用方法有四种
1.[推荐]用鼠标拖一个erm文件到本程序图标上执行
2.[推荐]用鼠标拖一个erm文件到本程序窗口,按键执行。
3.命令行格式:   erm2txt drive:path\file.erm, 可用于被其他脚本调用。
4.在下方输入文件名,按键执行。

链接:http://pan.baidu.com/s/1jGGmPYe


疗效如下,从猪大的9合一里面随便摘了一段更换宠物的
=========我是华丽的分割线==========
触发器_函数调用(1012) 而且 (x1=13)                        ;!?FU1012&x1=13;
if(x1<>13)结束函数                        ;!!FU&x1<>13:E;
!!IF&x3<2000:M^更换指挥官需要2000金,您的金钱不足!^;
if(x3<2000)结束函数                        ;!!FU&x3<2000:E;
!!CO-1:E?x5;
!!IF&x5<>1:M^您还没有雇佣指挥官!^;
if(x5<>1)结束函数                        ;!!FU&x5<>1:E;
!!CO-1:T?x4;
if(and(x4<0,x4>8))结束函数                        ;!!FU&x4<0/x4>8:E;
x5=v3515 &256                        ;!!VRx5:Sv3515 &256;
if(x5=0)z3=^开启^                        ;!!VRz3&x5=0:S^开启^;
if(x5=256)z3=^关闭^                        ;!!VRz3&x5=256:S^关闭^;
if(x4=0)z8=^圣骑士^                        ;!!VRz8&x4=0:S^圣骑士^;   
if(x4=1)z8=^圣师^                        ;!!VRz8&x4=1:S^圣师^;
if(x4=2)z8=^圣堂守卫^                        ;!!VRz8&x4=2:S^圣堂守卫^;   
if(x4=3)z8=^女妖^                        ;!!VRz8&x4=3:S^女妖^;
if(x4=4)z8=^收魂使者^                        ;!!VRz8&x4=4:S^收魂使者^;   
if(x4=5)z8=^嗜杀者^                        ;!!VRz8&x4=5:S^嗜杀者^;
if(x4=6)z8=^食人魔领袖^                        ;!!VRz8&x4=6:S^食人魔领袖^;
if(x4=7)z8=^萨满^                        ;!!VRz8&x4=7:S^萨满^;
if(x4=8)z8=^星界灵^                        ;!!VRz8&x4=8:S^星界灵^;
z9=^当前指挥官是{%Z8}需要更换吗?^                        ;!!VRz9:S^当前指挥官是{%Z8}需要更换吗?^;
z22=^不需要更换^                        ;!!VRz22:S^不需要更换^;
z23=z125043                        ;!!VRz23:Sz125043;   
z24=z125044                        ;!!VRz24:Sz125044;
z25=z125045                        ;!!VRz25:Sz125045;
z26=z125046                        ;!!VRz26:Sz125046;   
z27=z125047                        ;!!VRz27:Sz125047;
z28=z125048                        ;!!VRz28:Sz125048;
z29=z125049                        ;!!VRz29:Sz125049;   
z30=z125050                        ;!!VRz30:Sz125050;
z31=z125051                        ;!!VRz31:Sz125051;
z32=^%Z3 弱化女妖特技(无法魅惑3级以上兵种)^                        ;!!VRz32:S^%Z3 弱化女妖特技(无法魅惑3级以上兵种)^;
v10=0                        ;!!VRv10:S0;
!!IF:G1/10/1/9/22/23/24/25/26/27/28/29/30/31/32/0;
x6=v10                        ;!!VRx6:Sv10;
if(or(x6<2,x6>1024))结束函数                        ;!!FU|x6<2/x6>1024:E;
if(and(x6=1024,x5=0))v3515=v3515 | 256                        ;!!VRv3515&x6=1024/x5=0: |256;
if(and(x6=1024,x5=256))v3515=v3515 - x5                        ;!!VRv3515&x6=1024/x5=256:-x5;
x7=-1                        ;!!VRx7:S-1;
if(x6=2)x7=0                        ;!!VRx7&x6=2:S0;
if(x6=4)x7=1                        ;!!VRx7&x6=4:S1;
if(x6=8)x7=2                        ;!!VRx7&x6=8:S2;
if(x6=16)x7=3                        ;!!VRx7&x6=16:S3;
if(x6=32)x7=4                        ;!!VRx7&x6=32:S4;
if(x6=64)x7=5                        ;!!VRx7&x6=64:S5;
if(x6=128)x7=6                        ;!!VRx7&x6=128:S6;
if(x6=256)x7=7                        ;!!VRx7&x6=256:S7;
if(x6=512)x7=8                        ;!!VRx7&x6=512:S8;
if(or(x7<0,x7>8))结束函数                        ;!!FU|x7<0/x7>8:E;
!!OW:R-1/6/d-2000 R-1/6/?x3;
!!CO-1:Tx7;
立即调用函数1012(1,x2,x3)                        ;!!FU1012:P1/x2/x3;
**END**
!?OB54;
立即调用函数1012(52)                        ;!!FU1012:P52;
页: [1]
查看完整版本: ERM文件解析工具

捐赠