hell____fire 发表于 2017-6-13 17:53:06

一个提升对战速度的erm

和朋友对战,两人都抱怨游戏进程太慢了,因此把战斗调成了自动,直到双方碰面时才又调成手动。因此想到能否有这样一个erm方便对战的玩家?
检测是否多人游戏,是开启以下功能,否略过:
开启wog的“选择随机城堡类型的脚本”(主要可以在对战时平衡野外城镇),并且当人类玩家与ai战斗时强制自动战斗,当人类玩家与人类玩家战斗时强制手动战斗。
这样便可大大节省对战的时间,提高对战的体验,不知道有没有erm高手可以帮忙做一个这样的脚本。

选择随机城堡类型脚本代码如下(在wog脚本文件夹下面的53 wog - map options.erm中)

********************************************************************************
   Select Neutral Town Types
********************************************************************************

Functions used: FU50..FU53
ERM Numbers: 220
Variables used: v1..v4, z-1..z-10, y1..y6, y-1..y-13, x1, x16

--------------------------------------------------------------------------------


!?PI;
!!UN:P220/?y-13;
!!FU&y-13<>1:E;

!!FU50:P;
!!UN:U98/-1/?y-11;
!!VRv2:S-1;
!!DO51/1/y-11/1&y-10<9/y-11>0:P;

--------------------------------------------------------------------------------


!?FU50;
!!VRz-1:Sz125053;
!!VRz-2:Sz125054;
!!VRz-3:Sz125055;
!!VRz-4:Sz125056;
!!VRz-5:Sz125057;
!!VRz-6:Sz125058;
!!VRz-7:Sz125059;
!!VRz-8:Sz125060;
!!VRz-9:Sz125061;
!!VRz-10:Sz125062;

!!IF:G0/1/511/-1/-2/-3/-4/-5/-6/-7/-8/-9/-10/0/0/0;


!!VRy-1:S-1; !!VRy-2:S-1; !!VRy-3:S-1;
!!VRy-4:S-1; !!VRy-5:S-1; !!VRy-6:S-1;
!!VRy-7:S-1; !!VRy-8:S-1; !!VRy-9:S-1;

!!VRy-10:S0;

!!VRy1:Sv1;
!!VRy1:&1;
!!VRy-10&y1=1:-1;
!!VRyy-10&y1=1:S0;

!!VRy1:Sv1;
!!VRy1:&2;
!!VRy-10&y1=2:-1;
!!VRyy-10&y1=2:S1;

!!VRy1:Sv1;
!!VRy1:&4;
!!VRy-10&y1=4:-1;
!!VRyy-10&y1=4:S2;

!!VRy1:Sv1;
!!VRy1:&8;
!!VRy-10&y1=8:-1;
!!VRyy-10&y1=8:S3;

!!VRy1:Sv1;
!!VRy1:&16;
!!VRy-10&y1=16:-1;
!!VRyy-10&y1=16:S4;

!!VRy1:Sv1;
!!VRy1:&32;
!!VRy-10&y1=32:-1;
!!VRyy-10&y1=32:S5;

!!VRy1:Sv1;
!!VRy1:&64;
!!VRy-10&y1=64:-1;
!!VRyy-10&y1=64:S6;

!!VRy1:Sv1;
!!VRy1:&128;
!!VRy-10&y1=128:-1;
!!VRyy-10&y1=128:S7;

!!VRy1:Sv1;
!!VRy1:&256;
!!VRy-10&y1=256:-1;
!!VRyy-10&y1=256:S8;

!!IF&v1=0:M1/z125063;
!!FU50&v1=0:P;

--------------------------------------------------------------------------------


!?FU51;
!!UN:U98/-1/-1/2;
!!CA2:O?y1;
!!FU&y1>=0:E;

!!CA2:T?y2;
!!VRy3:Sy-10 *-1;
!!VRy-12:S0;

!!DO52/1/y3/1:Py2;
!!FU&y-12=1:E;

!!VRy4:Sy3 -1;
!!VRy5:Sy-10 Ry4;
!!VRy6:Syy5;
!!CA2:Ty6 I0;

!!DO53/0/6/1:Py6;


!!VRy7:S0;
!!CA2&y2=0/y6<>6/y6<>7:B4/4;
!!VRy7&y2=0/y6<>6/y6<>7:S5;
!!CA2&y2=6/y6=0:B4/3;
!!VRy7&y2=6/y6=0:S4;
!!CA2&y2=7/y6=0:B4/3;
!!VRy7&y2=7/y6=0:S4;
!!CA2&y2=6/y6<>0/y6<>7:B4/3 B4/4;
!!VRy7&y2=6/y6<>0/y6<>7:S6;
!!CA2&y2=7/y6<>0/y6<>6:B4/3 B4/4;
!!VRy7&y2=7/y6<>0/y6<>6:S6;

!!FU&y7=0:E;


!!VRy14:S13;
!!UN:J0/7/?y15;
!!VRy14&y15<>0:-1;
!!UN:J0/9/?y16;
!!VRy14&y16<>0:-1;
!!VRy17:S0;
!!VRy17|y7=4/y7=6:S1 Ry14;
!!VRy13:S0;
!!VRy13&y17=1:S19;
!!VRy13&y17=2:S58;
!!VRy13&y17=3:S23;
!!VRy13&y17=4:S38;
!!VRy13&y17=5:S50;
!!VRy13&y17=6:S59;
!!VRy13&y17=7:S29;
!!VRy13&y17=8:S56;
!!VRy13&y17=9:S22;
!!VRy13&y17=10:S55;
!!VRy13&y17=11:S65;
!!VRy13&y17=12:S48;
!!VRy13&y17=13/y15=0:S7;
!!VRy13&y17=13/y15=1:S9;
!!VRy13&y17=14:S9;
!!CA2&y13>0:G4 G3/0/y13;

!!VRy18:S0;
!!VRy18|y7=4/y7=6:S1 Ry14;
!!VRy18&y18>0/y18=y17:S1 Ry14;
!!VRy18&y18>0/y18=y17:S1 Ry14;
!!VRy13:S0;
!!VRy13&y18=1:S19;
!!VRy13&y18=2:S58;
!!VRy13&y18=3:S23;
!!VRy13&y18=4:S38;
!!VRy13&y18=5:S50;
!!VRy13&y18=6:S59;
!!VRy13&y18=7:S29;
!!VRy13&y18=8:S56;
!!VRy13&y18=9:S22;
!!VRy13&y18=10:S55;
!!VRy13&y18=11:S65;
!!VRy13&y18=12:S48;
!!VRy13&y18=13/y15=0:S7;
!!VRy13&y18=13/y15=1:S9;
!!VRy13&y18=14:S9;
!!CA2&y13>0:G3/1/y13;

!!VRy19:S0;
!!VRy19|y7=4/y7=6:S1 Ry14;
!!VRy19&y19>0/y19=y17:S1 Ry14;
!!VRy19&y19>0/y19=y17:S1 Ry14;
!!VRy19&y19>0/y19=y18:S1 Ry14;
!!VRy19&y19>0/y19=y18:S1 Ry14;
!!VRy13:S0;
!!VRy13&y19=1:S19;
!!VRy13&y19=2:S58;
!!VRy13&y19=3:S23;
!!VRy13&y19=4:S38;
!!VRy13&y19=5:S50;
!!VRy13&y19=6:S59;
!!VRy13&y19=7:S29;
!!VRy13&y19=8:S56;
!!VRy13&y19=9:S22;
!!VRy13&y19=10:S55;
!!VRy13&y19=11:S65;
!!VRy13&y19=12:S48;
!!VRy13&y19=13/y15=0:S7;
!!VRy13&y19=13/y15=1:S9;
!!VRy13&y19=14:S9;
!!CA2&y13>0/y6=2:G3/2/y13;



!!VRy10:S8;
!!UN:J0/6/?y11;
!!VRy10&y11<>0:-1;
!!UN:J0/8/?y12;
!!VRy10&y12<>0:-1;
!!VRy8:S0;
!!VRy8|y7=5/y7=6:S1 Ry10;
!!VRy9:S0;
!!VRy9&y8=1:S18;
!!VRy9&y8=2:S36;
!!VRy9&y8=3:S40;
!!VRy9&y8=4:S66;
!!VRy9&y8=5:S67;
!!VRy9&y8=6:S68;
!!VRy9&y8=7:S69;
!!VRy9&y8=8/y11=0:S6;
!!VRy9&y8=8/y11=1:S8;
!!VRy9&y8=9:S8;
!!CA2&y9>0:G5 G4/0/y9;

!!VRy20|y7=5/y7=6:S1 Ry10;
!!VRy20&y20>0/y20=y8:S1 Ry10;
!!VRy20&y20>0/y20=y8:S1 Ry10;
!!VRy9:S0;
!!VRy9&y20=1:S18;
!!VRy9&y20=2:S36;
!!VRy9&y20=3:S40;
!!VRy9&y20=4:S66;
!!VRy9&y20=5:S67;
!!VRy9&y20=6:S68;
!!VRy9&y20=7:S69;
!!VRy9&y20=8/y11=0:S6;
!!VRy9&y20=8/y11=1:S8;
!!VRy9&y20=9:S8;
!!CA2&y9>0/y6=2:G5 G4/1/y9;

--------------------------------------------------------------------------------



!?FU52;
!!VRy1:Sx16 *-1;
!!VRy-12&x1=yy1:S1;
!!VRx16&x1=yy1:S99;

--------------------------------------------------------------------------------



!?FU53;
!!CA2:M2/x16/?y1/?y2;
!!FU|y1<0/y2=0:E;

!!MA:Ly1/?y3;
!!VRy4:S0 R1;
!!UN:Tx1/y3/y4/?y5;
!!CA2:M2/x16/y5/y2;

--------------------------------------------------------------------------------





XEricSin 发表于 2017-6-13 17:53:07

ZVSE

!?BA52;
!!BA:O?y1/?y2 Q?v4444;
!!FU|y1<0/y2<0:E;
!!OW:Iy1/?y3 Iy2/?y4;
!!BA&y3=0/y4=0:Q0;

!?BA53;
!!BA:Qv4444;


那这样吧,我一直以为BA:Q时一次性的,居然不是。

tianxiawd9 发表于 2017-6-13 18:03:50

大神果然厉害,佩服啊,但怎么用啊,

XEricSin 发表于 2017-6-14 06:40:01

游戏里调成自动战斗就好了啊,人打人必须是手动的,不是吗?

hell____fire 发表于 2017-6-14 07:35:05

XEricSin 发表于 2017-6-14 06:40
游戏里调成自动战斗就好了啊,人打人必须是手动的,不是吗?

不是的,游戏里调成自动战斗,人和人打也是自动。

兽哥哥 发表于 2017-6-14 13:36:28

决战前调回手动就是喽

hell____fire 发表于 2017-6-14 15:00:01

兽哥哥 发表于 2017-6-14 13:36
决战前调回手动就是喽

关键是自动化更舒服啊,另外除了这点外这个脚本还希望实现在多人对战时开启“选择随机城堡类型”脚本,对对战也非常有用,比如用随机图对战便可以去掉双方所属城镇。

XEricSin 发表于 2017-6-14 20:32:22

试试这个自动战斗的脚本,不保证有效

ZVSE

!?BA0;
!!BA:O?y1/?y2;
!!OW:Iy2/?y4;
!!BA&y4=0:Q0;

!?BA50;
!!BA:O?y1/?y2;
!!OW:Iy2/?y4;
!!BA&y4=0:Q0;

hell____fire 发表于 2017-6-14 21:37:25

XEricSin 发表于 2017-6-14 20:32
试试这个自动战斗的脚本,不保证有效

ZVSE


XEricSin大师你好,这个试了后全部变成手动了,没有自动战斗。单人游戏开自动战斗都会变成手动。我个人觉得脚本应该限制在多人游戏中会比较好些

XEricSin 发表于 2017-6-15 11:56:04

hell____fire 发表于 2017-6-14 21:37
XEricSin大师你好,这个试了后全部变成手动了,没有自动战斗。单人游戏开自动战斗都会变成手动。我个人觉 ...

那这样吧。不要叫我大师。

ZVSE

!?BA0;
!!BA:O?y1/?y2;
!!OW:Iy1/?y3 Iy2/?y4;
!!BA&y3=0/y4=0:Q0;

!?BA50;
!!BA:O?y1/?y2;
!!OW:Iy1/?y3 Iy2/?y4;
!!BA&y3=0/y4=0:Q0;

XEricSin 发表于 2017-6-15 11:57:25

其实era本来就有个快速战斗选项的功能,每次战斗前弹框选择战斗方式,为什么不用呢?

hell____fire 发表于 2017-6-15 14:37:54

XEricSin 发表于 2017-6-15 11:57
其实era本来就有个快速战斗选项的功能,每次战斗前弹框选择战斗方式,为什么不用呢?
还是不行老大,全部变成手动了,即使在单人游戏设自动战斗都会变成手动。虽然era本来就有个快速战斗选项的功能,每次战斗前弹框选择战斗方式,但是这个不分单人和多人,不说单人游戏也要多点,开了这个脚本玩一局对战要多点几十下,和开始设自动最后设手动效率没有提高啊......

贤知有您 发表于 2017-6-15 20:13:22

话说,单从脚本看,XEric忘记还原了。

hell____fire 发表于 2017-6-21 11:47:54

本帖最后由 hell____fire 于 2017-6-21 12:04 编辑

XEricSin 发表于 2017-6-16 00:42
ZVSE

!?BA52;

不好意思大大,之前设置为手动战斗下,对战双方便是一直手动;但如果设置为自动战斗,便可以实现对ai自动对人类手动了。但能不能进一步手动战斗也可以对ai自动改变成自动呢?
因为我不怎么理解erm,我的理解是您的erm是这样写
检测是否多人游戏,是开启以下功能,否略过:
设置当人类对人类时,不管游戏如何设置,自动开启手动战斗。

因此脚本还少设置了一个:设置当人类对ai时,不管游戏如何设置,自动开启自动战斗(当然仍然应当是在多人游戏下)

hell____fire 发表于 2017-6-21 12:15:54

另外,如何在多人游戏下开启“选择随机城堡类型的脚本”呢,我尝试将该脚本从原脚本中剥离出来独立成一个脚本,然后用您写的“
ZVSE

!?BA52;”
开头,开启相关选项后仍然是单人游戏都会弹出选择随机城堡类型对话框

XEricSin 发表于 2017-6-22 17:17:46

hell____fire 发表于 2017-6-21 12:15
另外,如何在多人游戏下开启“选择随机城堡类型的脚本”呢,我尝试将该脚本从原脚本中剥离出来独立成一个脚 ...

你的要求太多了
我的逻辑很简单,如果人打人就强制手动,否则按照当前的设置战斗。
所以你得自己调手动或者自动。我不可能知道你什么时候要手动什么时候自动。要是给你定死了,你有不满意怎么办?

野城用BA触发器没有啊,BA是战斗时触发。野城脚本可能是原作者禁止联网使用的,你应该到元脚本里找开关。

hell____fire 发表于 2017-6-26 22:37:39

XEricSin 发表于 2017-6-22 17:17
你的要求太多了
我的逻辑很简单,如果人打人就强制手动,否则按照当前的设置战斗。
所以你得自己调手动 ...

XEricSin大大你好,研究了下我理解了,BA是战斗时触发而不是游戏前触发。其实我的想法也很简单,就是在多人游戏时,进入游戏前便启用对ai自动战斗和对人手动战斗,并且使原版的选择随机城堡类型脚本也在多人游戏中启用(单人游戏中不启用)。因为这样一是大大加快对战速度,同时可以在对战中去掉双方所选城镇,这样对战平衡性更高。你使用的触发器不是游戏刚载入便触发而是游戏中人和人战斗时触发,我在erm帮助中找到了多人游戏的触发器是!?IP#;,我先研究下到时再请教,谢谢:)

hell____fire 发表于 2017-7-31 11:43:53

XEricSin 发表于 2017-6-13 17:53
ZVSE

!?BA52;


XEricSin大大不好意思,之前忙于工作没时间研究erm,最近研究了下可能这个脚本是最好的解决办法。我研究了下之前我说的触发器!?IP#似乎不起作用,wog里面似乎没有限制脚本于多人游戏下执行单人游戏无效的,最多是限制脚本于单人游戏里面多人游戏失效的...如果您知道有限制脚本于多人游戏下执行单人游戏无效的脚本思路,有时间请您告知或者提示我下,麻烦了谢谢:)
页: [1]
查看完整版本: 一个提升对战速度的erm

捐赠