水流行险 发表于 2021-3-10 23:40:57

Archer30 发表于 2021-3-10 23:31
你必须新建一个ERM文件,然后把我的脚本贴进去。

注意,最前面必须是ZVSE2。。必须用ERA 3.3+。如果开 ...

高手!革新了我的认知!!;jq;
谢谢您的帮助!我的妩媚完美脚本终于完成了

Archer30 发表于 2021-3-10 23:43:18

水流行险 发表于 2021-3-10 23:40
高手!革新了我的认知!!
谢谢您的帮助!我的妩媚完美脚本终于完成了

感谢测试:buxie:

水流行险 发表于 2021-5-31 17:33:55

Archer30 发表于 2021-3-10 23:31
你必须新建一个ERM文件,然后把我的脚本贴进去。

注意,最前面必须是ZVSE2。。必须用ERA 3.3+。如果开 ...

还有一个问题?同样,防止裸城,应该改哪里?

Archer30 发表于 2021-6-1 01:41:28

水流行险 发表于 2021-5-31 17:33
还有一个问题?同样,防止裸城,应该改哪里?
裸城也不行了?
那我写一下。每回合遍历所有城镇,如果裸城就添加对应的一级兵。战后也会检查。不过有驻守城镇的英雄或者来访英雄都会跳过检查。ZVSE2
; Author:   Archer30
; Engine:   ERM 2.0+
; Requires: ERA 3.4+, Era Erm Framework, WoG Scripts (80 base)

; Give a 1st level creature native to the town if a town has no creatue at the end of a battle/turn.


; ============== SETTINGS ==============
!#VRi^townguards_on^:S(TRUE);         
; ============ END SETTINGS ============


!?FU(townguards_RestrainValues);
!!VRi^townguards_on^:F(FALSE)/(TRUE);

!#FU(townguards_RestrainValues):P;

!?FU(WOG_EndOfTurn)&i^townguards_on^;
!#VA(x:y) (y:y) (z:y);

!!OW:C?(player:y);
!!VR(x):S-1;

!!re i;                                 
!!UN:U(OBJ_TOWN)/(ANY_OBJ)/-1/(x)/(y)/(z);
!!br&(x)<0;

!!CA(x)/(y)/(z):O?(owner:y);
!!CA(x)/(y)/(z):H0/?(garrisonHero:y) H1/?(visitingHero:y);
!!FU(townguards_EnsureTownsAreGuarded)&(player)=(owner)/(garrisonHero)=(NO_HERO)/(visitingHero)=(NO_HERO):P(x)/(y)/(z);
!!en;

!?FU(OnAfterBattleUniversal)&i^townguards_on^;
!!OBi^battle_x^/i^battle_y^/i^battle_z^:T?(type:y);

!!if&(type)=(OBJ_TOWN);
!!CAi^battle_x^/i^battle_y^/i^battle_z^:H0/?(garrisonHero:y) H1/?(visitingHero:y);
!!FU(townguards_EnsureTownsAreGuarded)&(garrisonHero)=(NO_HERO)/(visitingHero)=(NO_HERO):Pi^battle_x^/i^battle_y^/i^battle_z^;
!!en;

!?FU(townguards_EnsureTownsAreGuarded);
!#VA(x:x) (y:x) (z:x);
!#VA(firstLevelMons:y);

!!VR(firstLevelMons):C(MON_PIKEMAN)/(MON_CENTAUR)/(MON_GREMLIN)/(MON_IMP)/(MON_SKELETON)/(MON_TROGLODYTE)/(MON_GOBLIN)/(MON_GNOLL)/(MON_PIXIE);

!!re (slotInd:y)/(ARMY_SLOT_FIRST)/(ARMY_SLOT_LAST);
!!CA(x)/(y)/(z):M2/(slotInd)/?(monType:y)/?(monCount:y);

!!FU&(monType)<>(NO_MON):E;
!!en;

!!CA(x)/(y)/(z):T?(townType:y);      
!!CA(x)/(y)/(z):M2/(ARMY_SLOT_FIRST)/(firstLevelMons)/1;


水流行险 发表于 2021-6-1 02:21:29

Archer30 发表于 2021-6-1 01:41
裸城也不行了?那我写一下。回合结束遍历所有城镇,如果裸城就添加对应的一级兵。这个就不涉及战 ...
这些码好漂亮啊;hap;;tf;

水流行险 发表于 2021-6-1 02:45:23

本帖最后由 水流行险 于 2021-6-1 02:48 编辑

水流行险 发表于 2021-6-1 02:21
这些码好漂亮啊
我的目的是让防止裸奔和裸城为守城服务,就是一定会发生守城战。

//从魔法行会要招募的8级生物守护神
!?BF&1000;战斗开始前时设置战场   加&1000是只有人类参加时
!!BA:S?y3; 检测是否是攻城
!!FU&y3=0:E;如果不是攻城则退

!!CA998:T?y17;获取城镇的类型
! !CA998:B3/0;检查编号为0一级魔法行会 守护神建筑是否建造    最好改为1级1/3 --3/3--5/3倍数对应魔法行会
! !FU&-1:E;[没有神器]   ------空白的三行是原始脚本

!!VRi:S0;等级数初始化
!!CA998:B3/0;检查1级
!!VRi&1:+1;等级数+1
!!CA998:B3/1;检查2级
!!VRi&1:+1;等级数+1
!!CA998:B3/2;检查3级
!!VRi&1:+1;等级数+1
!!CA998:B3/3;检查4级
!!VRi&1:+1;等级数+1
!!CA998:B3/4;检查5级
!!VRi&1:+1;等级数+1    现状 i=等级数

!!BH1:N?y30;检测守城英雄编号???守城英雄?如果没有守城英雄则退出。
!!FU&y30<0:E;[没有英雄就退出]---------------应改为没有英雄就等于0,怎么改?
!!HEy30:Ed/?y29;检测守城英雄等级

!!VRy10:S0;[获得最高英雄等级]
!!re y1/0/155/1:;
!!HEy1:O?y2 Ed/?y3/1;
!!if&y2=你要的颜色/y3>y10:;
      !!VRy10:Sy3;[记录最高等级]
!!en:;
!!en:;

!!VRy28:Sy17+150;设置怪物类型为城镇类型+150
! !VRy27:Sy29:1;召唤的数量跟守城英雄等级挂钩*或:
! !VRy27:Sy29:i;召唤的数量跟守城英雄等级成正比同时与魔法行会等级成反比:
!!VRy27:Sy29+y10:i;召唤的数量跟(守城英雄等级+最高英雄等级)成正比同时与魔法行会等级成反比:
!!BU:Sy28/y27/97/1/-1/0;在指定位置上召唤与英雄等级数量得8级怪物 97中心城门

水流行险 发表于 2021-6-1 03:10:49

Archer30 发表于 2021-6-1 01:41
裸城也不行了?那我写一下。每回合遍历所有城镇,如果裸城就添加对应的一级兵。这个就不涉及战后的检 ...
这个也要攻城战后检查啊,如果两个电脑连续攻击,就会出现漏洞,这和英雄裸奔一样。

Archer30 发表于 2021-6-1 03:24:18

水流行险 发表于 2021-6-1 03:10
这个也要攻城战后检查啊,如果两个电脑连续攻击,就会出现漏洞,这和英雄裸奔一样。
你一直在提这个连续攻击会产生bug的问题,这边不能复现。{:1_278:}
你的城如果在战后没有兵,那么这场战斗你的城已经失守了(除非你的城有一个裸奔的英雄带指挥官)。如果不是,上传存档看看

这个添加兵力的功能是在OnEveryDay上触发的,所有颜色的玩家行动前,都会触发一次

水流行险 发表于 2021-6-1 03:29:29

Archer30 发表于 2021-6-1 03:24
你一直在提这个连续攻击会产生bug的问题,这边不能复现。你的城如果在战后没有兵,那么这场战斗你的城 ...
我的兵都是放置的“预备役”;就是赢了以后这些兵都会清零。然后这时下一个电脑又会来。如果是有守城英雄,英雄战后就会自动多出一个小兵,就可以继续战斗;tl;

!!FU&y30<0:E;[没有英雄就退出]---------------应改为没有英雄就等于0,怎么改?

Archer30 发表于 2021-6-1 03:55:33

水流行险 发表于 2021-6-1 03:29
我的兵都是放置的“预备役”;就是赢了以后这些兵都会清零。然后这时下一个电脑又会来。如果是有守城英雄 ...
总的来说,对于需不需要检测战后防止裸城的问题。

1. 你的城有英雄——那么英雄会有防止裸奔的脚本强行加兵
2. 你的城没有英雄——那么战后你的城如果没兵,说明已经战败了。战败后,新城主如果让这个城保持裸城,那么在下一个玩家行动前这个城会被防止裸城脚本强行塞兵

结论:裸城脚本不需要检测战后,没错?

这里没看懂“没有英雄就等于0”,具体什么等于0?
如果是BH:N的检测结果不准确,试试BA:H,也是检测英雄的

防止裸城的脚本加入了驻守和来访英雄的检查,如果有这两个英雄其中之一,则跳过加兵(有英雄的话会被防止英雄裸奔的脚本加兵的)

水流行险 发表于 2021-6-1 04:39:11

本帖最后由 水流行险 于 2021-6-1 04:44 编辑

Archer30 发表于 2021-6-1 03:55
总的来说,对于需不需要检测战后防止裸城的问题。

1. 你的城有英雄——那么英雄会有防止裸奔的脚本强 ...
我的城只有一个兵(没有英雄),第一次战斗我的总兵力是一个兵,加上预备役放置的很多兵。然后我在战斗中胜利了,但是这一个兵死了,同时预备役放置的兵在战后会清理。这时,城镇没有易主,接着,第二个电脑又来攻城。如果我没有一个小兵,就视为空城,不触发攻城战,城镇立即易主。所以要战后裸城检查。


关于召唤八级生物,没有守城英雄时,让其等级为0,不应该终止函数,所以两个红字的地方要修改一下。
!!VRy27:Sy29+y10:i;召唤的数量跟(守城英雄等级+最高英雄等级)成正比同时与魔法行会等级成反比



ZVSE
**守城方开始战斗前自动增加预备役
**战后不保留部队
**EXricSin制作,2016.3.22于wog论坛编辑,独孤求败收录铭记
**FU29423-29425
===================================================

//从魔法行会要招募的8级生物守护神
!?BF&1000;战斗开始前时设置战场   加&1000是只有人类参加时
!!BA:S?y3; 检测是否是攻城
!!FU&y3=0:E;如果不是攻城则退

!!CA998:T?y17;获取城镇的类型

!!VRi:S0;等级数初始化
!!CA998:B3/0;检查1级
!!VRi&1:+1;等级数+1
!!CA998:B3/1;检查2级
!!VRi&1:+1;等级数+1
!!CA998:B3/2;检查3级
!!VRi&1:+1;等级数+1
!!CA998:B3/3;检查4级
!!VRi&1:+1;等级数+1
!!CA998:B3/4;检查5级
!!VRi&1:+1;等级数+1    现状 i=等级数

!!BH1:N?y30;检测守城英雄编号???守城英雄?如果没有守城英雄则退出。
!!FU&y30<0:E;[没有英雄就退出]---------------应改为没有英雄就等于0
!!HEy30:Ed/?y29;检测守城英雄等级

!!VRy10:S0;[获得最高英雄等级]
!!re y1/0/155/1:;
!!HEy1:O?y2 Ed/?y3/1;
!!if&y2=你要的颜色/y3>y10:;
      !!VRy10:Sy3;[记录最高等级]
!!en:;
!!en:;

!!VRy28:Sy17+150;设置怪物类型为城镇类型+150
!!VRy27:Sy29+y10:i;召唤的数量跟(守城英雄等级+最高英雄等级)成正比同时与魔法行会等级成反比:
!!BU:Sy28/y27/97/1/-1/0;在指定位置上召唤与英雄等级数量得8级怪物 97中心城门

===================================================

//从高级到低级检测要招募的预备役生物
!?BF&1000;战斗开始前时设置战场   加&1000是只有人类参加时
!!BA:S?y4; 检测是否是攻城
!!FU&y4=0:E;如果不是攻城则退

**y8y9=0by default
!!CA998:T?y17;获取城镇的类型

!!CA998:B3/43;检查编号为高级巢穴7的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/6/y18/?y26; //monster type
!!FU29424:Py26/6/y9; //buy y26 /level 6/single recruit

!!CA998:B3/42;检查编号为高级巢穴6的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/5/y18/?y25; //monster type
!!FU29424:Py25/5/y9; //buy y25

!!CA998:B3/41;检查编号为高级巢穴5的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/4/y18/?y24; //monster type
!!FU29424:Py24/4/y9; //buy y24

!!CA998:B3/40;检查编号为高级巢穴4的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/3/y18/?y23; //monster type
!!FU29424:Py23/3/y9; //buy y23

!!CA998:B3/39;检查编号为高级巢穴3的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/2/y18/?y22; //monster type
!!FU29424:Py22/2/y9; //buy y22

!!CA998:B3/38;检查编号为高级巢穴2的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/1/y18/?y21; //monster type
!!FU29424:Py21/1/y9; //buy y21

!!CA998:B3/37;检查编号为高级巢穴1的建筑是否建造
!!VRy18:S0;
!!VRy18&1:S1-y8;
!!UN:Ty17/0/y18/?y20; //monster type
!!FU29424:Py20/0/y9; //buy y20


!?FU29424; //征召怪物编号 x1/等级 x2/x3=是否单招(0 or 2)
!!CA998:M1/x2/?y12/?y13; //current reserve
!!VRy1:S1000000; //min recruits by resources
!!VRy1&y13<=y12/y1>y12:Sy12; //min recruits by reserve
!!VRy1&y13>y12/y1>y13:Sy13; //min recruits by reserve UP
!!FU&y1=0:E; //end if no available
!!DO29425/0/10/1:Px1/y1;//place on field


!?FU29425; //放置怪物 x1=type x2=quantity
!!VRy10&x16=0:S14; //设置当前格子
!!VRy10&x16=1:S184;
!!VRy10&x16=2:S47;
!!VRy10&x16=3:S149;
!!VRy10&x16=4:S81;
!!VRy10&x16=5:S115;
!!VRy10&x16=6:S31;
!!VRy10&x16=7:S167;
!!VRy10&x16=8:S65;
!!VRy10&x16=9:S133;
!!VRy10&x16=10:S99;
!!VRy11:Sy10-1; //设置前一个格子

!!MA:Xx1/?y1;检测怪物属性
!!VRy1:&1;//双格兵?
!!BU:Oy10/?y2 Ey10/?y3; //检测当前格子是否已占
!!VRy6:Sy2 &4; //quick sand
!!VRy7:Sy2 &8; //mine
!!BU:Oy11/?y4 Ey11/?y5; //检测前一个格子是否已占
!!VRy8:Sy4 &4;
!!VRy9:Sy4 &8;

!!if|y2=0/y6=4/y7=8:; //当前格子是否已占
!!FU&y3>-1:E; //end if occupied
!!if&y1=0:; //单格兵直接召唤
    !!BU:Sx1/x2/y10/1/-1/0;          放置x1类型x2数量y3位置1右边-1无编号0不重画
    !!VRx16:S1000000;
!!el:; //双格兵还要检测前一个格子是否已占
    !!if|y4=0/y8=4/y9=8:;
      !!FU&y5>-1:E; //end if occupied
      !!BU:Sx1/x2/y10/1/-1/0;summon放置x1类型x2数量y3位置1右边-1无编号0不重画
      !!VRx16:S1000000;
    !!en:;
!!en:;
!!en:;

===================================================

//战后清理战场和城镇

!?BA1&1000; 战后触发加&1000是只有人类参加时
!!BA:S?y1; //检测攻城?
!!FU&y1=0:E;

!!BA:H0/?y3; //attacker hero
!!HEy3:O?y4;
!!FU&y4<0:E;

**如果攻城胜利则巢穴清零
!!CA998:M1/0/0/0;
!!CA998:M1/1/0/0;
!!CA998:M1/2/0/0;
!!CA998:M1/3/0/0;
!!CA998:M1/4/0/0;
!!CA998:M1/5/0/0;
!!CA998:M1/6/0/0;

***Erm over***




Archer30 发表于 2021-6-1 05:01:30

水流行险 发表于 2021-6-1 04:39
我的城只有一个兵(没有英雄),第一次战斗我的总兵力是一个兵,加上预备役放置的很多兵。然后我在战斗中 ...

那确实必须战后检查,这应该能搞定?核心检查条件在取消英雄裸奔的脚本已经写清楚了

这里的红字问题我还是没有完全理解。你用i这个变量表示等级,那么等级为0:
!!VRi&y30<0:S0;
非常直白

但后边这个红字很难理解为什么这么设置(以及你的问题是啥?),为什么打算和魔法行会等级成反比?除以任何数之前都必须检查数是否为0,不然会有ERM错误,前面的语句已经让魔法行会为0级或没有守城英雄时i为0了,这里你打算怎么处理呢?考虑魔法行会0级或守城英雄不存在时,i为1,每加一级魔法行会,i+1?

另外的问题是,如果没有驻地的英雄,则来访英雄在攻城战中也会加入战斗,这在你的脚本中没有考虑呀

水流行险 发表于 2021-6-1 15:10:59

本帖最后由 水流行险 于 2021-6-1 16:14 编辑

Archer30 发表于 2021-6-1 05:01
那确实必须战后检查,这应该能搞定?核心检查条件在取消英雄裸奔的脚本已经写清楚了

这里的红字问题我 ...
来访英雄不用考虑,游戏的硬码会自动处理,当城镇里面有英雄就是野战,没有英雄就是攻城战。

以下是脚本的原型,表示在守城战在97位置召唤八级生物数量=守城英雄等级/该城魔法行会等级。我要变成数量=(守城英雄等级+该势力最高英雄等级)/该城魔法行会等级。仅此而已。主要是解决电脑不守城出现的偷城现象。


ZVSE
**守城方开始战斗前自动增加预备役
**战后不保留部队
**EXricSin制作,2016.3.22于wog论坛编辑,独孤求败收录铭记
**FU29423-29425
===================================================

//从魔法行会要招募的8级生物守护神
!?BF&1000;战斗开始前时设置战场   加&1000是只有人类参加时
!!BA:S?y3; 检测是否是攻城
!!FU&y3=0:E;如果不是攻城则退
!!CA998:T?y17;获取城镇的类型
!!VRi:S0;等级数初始化
!!CA998:B3/0;检查1级
!!VRi&1:+1;等级数+1
!!CA998:B3/1;检查2级
!!VRi&1:+1;等级数+1
!!CA998:B3/2;检查3级
!!VRi&1:+1;等级数+1
!!CA998:B3/3;检查4级
!!VRi&1:+1;等级数+1
!!CA998:B3/4;检查5级
!!VRi&1:+1;等级数+1    现状 i=等级数

!!BH1:N?y30;检测守城英雄编号???守城英雄?如果没有守城英雄则退出。
!!FU&y30<0:E;[没有英雄就退出]
!!HEy30:Ed/?y29;检测守城英雄等级
!!VRy28:Sy17+150;设置怪物类型为城镇类型+150
!!VRy27:Sy29:i;召唤的数量跟(守城英雄等级)成正比同时与魔法行会等级成反比:
!!BU:Sy28/y27/97/1/-1/0;在指定位置上召唤与英雄等级数量得8级怪物 97中心城门

Archer30 发表于 2021-6-1 18:22:49

水流行险 发表于 2021-6-1 15:10
来访英雄不用考虑,游戏的硬码会自动处理,当城镇里面有英雄就是野战,没有英雄就是攻城战。

以下是脚 ...
我终于看懂了

看看是不是这么一回事
魔法行会等级为0和1,都是除以1//从魔法行会要招募的8级生物守护神
!?BF&1000;战斗开始前时设置战场   加&1000是只有人类参加时
!!BA:S?y3; 检测是否是攻城
!!FU&y3=0:E;如果不是攻城则退

!!CA998:T?y17;获取城镇的类型

!!VRy11:S0;等级数初始化
!!CA998:B3/0;检查1级
!!VRy11&1:+1;等级数+1
!!CA998:B3/1;检查2级
!!VRy11&1:+1;等级数+1
!!CA998:B3/2;检查3级
!!VRy11&1:+1;等级数+1
!!CA998:B3/3;检查4级
!!VRy11&1:+1;等级数+1
!!CA998:B3/4;检查5级
!!VRy11&1:+1;等级数+1    现状y11=等级数
!!VRy11&y11<1:S1;没有魔法行会则将y11设置为1

!!BH1:N?y30;检测守城英雄编号

!!if&y30<0;检测英雄是否存在
!!VRy29:S0;没有英雄则将y29为0
!!el;
!!HEy30:Ed/?y29;有英雄则获取守城英雄等级
!!en;

!!BA:O?y31/?y32;检测守城方势力
!!VRy10:S0;获得最高英雄等级

!!re y1/0/155/1:;
!!HEy1:O?y2 Ed/?y3/1;
!!if&y2=y32/y3>y10:;
      !!VRy10:Sy3;记录最高等级
!!en:;
!!en:;

!!VRy28:Sy17 +150;设置怪物类型为城镇类型+150
!!VRy27:Sy29 +y10 :y11;召唤的数量跟(守城英雄等级+最高英雄等级)成正比同时与魔法行会等级成反比:
!!BU:Sy28/y27/97/1/-1/0;在指定位置上召唤与英雄等级数量得8级怪物 97中心城门



水流行险 发表于 2021-6-1 20:15:33

本帖最后由 水流行险 于 2021-6-1 20:54 编辑

Archer30 发表于 2021-6-1 18:22
我终于看懂了

看看是不是这么一回事

对,是这个意思。;tq;没有魔法行会就退出。不是和1级一样。!!VRy11&y11<1:S1;没有魔法行会则将y11设置为1   这里应该是没有魔法行会就退出
还有一点,i与y11,这个https://www.h3wog.com/forum.php?mod=viewthread&tid=54390&extra=page%3D1&page=4



水流行险 发表于 2021-6-1 21:21:23

水流行险 发表于 2021-6-1 20:15
对,是这个意思。没有魔法行会就退出。不是和1级一样。!!VRy11&y11

!!FU&y11<1:E;如果没有魔法行会则退

水流行险 发表于 2021-6-1 22:39:52

Archer30 发表于 2021-6-1 18:22
我终于看懂了

看看是不是这么一回事
这样可以吗?
ZVSE2
; Author:   Archer30
; Engine:   ERM 2.0+
; Requires: ERA 3.4+, Era Erm Framework

loop through all towns and add in first level creature to the garrison if a town is with no army daily    防止裸城

!?FU(OnEveryDay);                     
!!FU(TownMustHaveArmy):P;

!?FU(TownMustHaveArmy);
!#VA(x:y) (y:y) (z:y);                  
!!VR(x):S-1;                           
!!re i;                                 
!!SN:F^FindNextObject^/(OBJ_TOWN)/(ANY_OBJ)/?(x)/?(y)/?(z)/-1;
!!br&v1=(FALSE);                     
!!re f/(ARMY_SLOT_FIRST)/(ARMY_SLOT_LAST);
    !!CA(x)/(y)/(z):M2/f/?(monType:y)/?(monCount:y);
    !!co 2&(monType)>(NO_MON)/(monCount)>0;
!!en;
!!CA(x)/(y)/(z):T?t;                  
!!VR(firstLevelMon:y):C(MON_PIKEMAN)/(MON_CENTAUR)/(MON_GREMLIN)/(MON_IMP)/(MON_SKELETON)/(MON_TROGLODYTE)/(MON_GOBLIN)/(MON_GNOLL)/(MON_PIXIE);
!!CA(x)/(y)/(z):M2/(ARMY_SLOT_FIRST)/(firstLevelMon)/1;
!!en;

!?FU(OnAfterBattleUniversal);
!#VA(x:y) (y:y) (z:y);                  
!!VR(x):S-1;                           
!!re i;                                 
!!SN:F^FindNextObject^/(OBJ_TOWN)/(ANY_OBJ)/?(x)/?(y)/?(z)/-1;
!!br&v1=(FALSE);                     
!!re f/(ARMY_SLOT_FIRST)/(ARMY_SLOT_LAST);
    !!CA(x)/(y)/(z):M2/f/?(monType:y)/?(monCount:y);
    !!co 2&(monType)>(NO_MON)/(monCount)>0;
!!en;
!!CA(x)/(y)/(z):T?t;                  
!!VR(firstLevelMon:y):C(MON_PIKEMAN)/(MON_CENTAUR)/(MON_GREMLIN)/(MON_IMP)/(MON_SKELETON)/(MON_TROGLODYTE)/(MON_GOBLIN)/(MON_GNOLL)/(MON_PIXIE);
!!CA(x)/(y)/(z):M2/(ARMY_SLOT_FIRST)/(firstLevelMon)/1;
!!en;


Archer30 发表于 2021-6-1 23:01:46

水流行险 发表于 2021-6-1 22:39
这样可以吗?
ZVSE2
; Author:   Archer30


虽然也行,但效率太差。你不需要在每次战后遍历所有城镇,你只需要在攻城战后检查这场战斗中的防守的城镇是否是裸城

水流行险 发表于 2021-6-2 00:23:09

Archer30 发表于 2021-6-1 23:01
虽然也行,但效率太差。你不需要在每次战后遍历所有城镇,你只需要在攻城战后检查这场战斗中的防守的城镇 ...

:shufu:这……太难了,快救救我!

水流行险 发表于 2021-6-2 16:38:47

Archer30 发表于 2021-6-1 23:01
虽然也行,但效率太差。你不需要在每次战后遍历所有城镇,你只需要在攻城战后检查这场战斗中的防守的城镇 ...
好奇问一下,城镇的建筑物编号是0-43共44个,我如果
!!VRi:S0;等级数初始化
!!CA998:B3/0;检查1级
!!VRi&1:+1;等级数+1
!!CA998:B3/1;检查2级
!!VRi&1:+1;等级数+1
!!CA998:B3/2;检查3级
!!VRi&1:+1;等级数+1
!!CA998:B3/3;检查4级
!!VRi&1:+1;等级数+1
!!CA998:B3/4;检查5级
!!VRi&1:+1;等级数+1    现状 i=等级数

一直……到43,有什么问题吗?也就是说,先建了19号,然后21号,然后才见0号。能运作吗?@Archer30 @XEricSin @贤知有您
页: 1 [2] 3
查看完整版本: 【已解决】如何取消裸奔及裸城?

捐赠