收起左侧

[求助] 城门无法自动回血

[复制链接]
DeagleY发表于 2021-6-11 15:31:53
大佬好 发现个小问题 去掉<unittype>AbstractWall</unittype>之后 三种城墙都可以正常回复血量 但城门去掉后 还是无法自动回血 以下是城门的protoy标签 大佬帮我看看 是哪里出了问题 谢谢
<UnitType>LogicalTypeValidSabotage</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>ColonyBuilding</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>Building</UnitType>
<Flag>CollidesWithProjectiles</Flag>
<Flag>Doppled</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>PlayerOwnsObstruction</Flag>
<Flag>SelectWithObstruction</Flag>
<Flag>UseAlignedObstructionOnMinimap</Flag>
<Flag>wallBuild</Flag>
<Flag>ColonyBuilding</Flag>
<Flag>Tracked</Flag>

こはね发表于 2021-6-12 23:51:05
这几天都在写php,明天我去试一下城门自动回血
こはね发表于 2021-6-13 00:09:32
已经是第二天了

刚才试了一下,可以自动回血
自己看视频


方法是仍然是删除<unittype>AbstractWall</unittype>然后civs添加对应回血设定。


如果无效只能你自己检测你哪里出错,有可能是细节问题


civs.xml
<unitregen>
<unittype>CWallGate</unittype>
<rate>100.0</rate>
</unitregen>



protoy.xml
<Unit id ='482' name ='CWallGate'>
<DBID>523</DBID>
<DisplayNameID>29634</DisplayNameID>
<ObstructionRadiusX>5.0000</ObstructionRadiusX>
<ObstructionRadiusZ>1.0000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>land</MovementType>
<AnimFile>buildings\wall\wall_gate.xml</AnimFile>
<AllowedHeightVariance>4.0000</AllowedHeightVariance>
<ImpactType>Stone</ImpactType>
<Icon>buildings\wall\wall_portrait</Icon>
<PortraitIcon>buildings\wall\gate_portrait</PortraitIcon>
<RolloverTextID>29633</RolloverTextID>
<ShortRolloverTextID>29632</ShortRolloverTextID>
<InitialHitpoints>3000.0000</InitialHitpoints>
<MaxHitpoints>3000.0000</MaxHitpoints>
<LOS>7.0000</LOS>
<BuildPoints>15.0000</BuildPoints>
<Cost resourcetype ='Wood'>50.0000</Cost>
<BuildingWorkRate>1.0000</BuildingWorkRate>
<AllowedAge>0</AllowedAge>
<Decay delay ='0.0000' duration ='0.0000'></Decay>
<Armor type ='Siege' value ='0.0000'></Armor>
<UnitType>LogicalTypeValidSabotage</UnitType>
<UnitType>LogicalTypeVillagersAttack</UnitType>
<UnitType>LogicalTypeHandUnitsAttack</UnitType>
<UnitType>LogicalTypeShipsAndBuildings</UnitType>
<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
<UnitType>BuildingClass</UnitType>
<UnitType>ColonyBuilding</UnitType>
<UnitType>MilitaryBuilding</UnitType>
<UnitType>Building</UnitType>
<UnitType>CountsTowardMilitaryScore</UnitType>
<UnitType>HasBountyValue</UnitType>
<Flag>CollidesWithProjectiles</Flag>
<Flag>Doppled</Flag>
<Flag>Immoveable</Flag>
<Flag>NoBloodOnDeath</Flag>
<Flag>NonAutoFormedUnit</Flag>
<Flag>ObscuresUnits</Flag>
<Flag>PlayerOwnsObstruction</Flag>
<Flag>SelectWithObstruction</Flag>
<Flag>UseAlignedObstructionOnMinimap</Flag>
<Flag>wallBuild</Flag>
<Flag>ColonyBuilding</Flag>
<Flag>Tracked</Flag>
<Command page ='10' column ='1'>Delete</Command>
</Unit>

DeagleY发表于 2021-6-13 00:23:39
青天小羽 发表于 2021-6-13 00:09
已经是第二天了

刚才试了一下,可以自动回血

谢谢大佬 我去试试
DeagleY发表于 2021-6-13 01:06:06
青天小羽 发表于 2021-6-13 00:09
已经是第二天了

刚才试了一下,可以自动回血

大佬 经过我多次的测试 发现城门是一种和城墙有区别的单位 如果加了<idletimeout>X.00</idletimeout> 这个脱战回复血量的标签 城门就不会回血 而城墙可以
最开始我是把城门和城墙的<unittype>AbstractWall</unittype>删除
然后使用
<unitregen>
<unittype>Building</unittype>
<rate>1.00</rate>
<idletimeout>2.00</idletimeout>
</unitregen>
这样城墙可以正常回复血量 而城门不行
之后我又单独加入了一个
<unitregen>
<unittype>CWallGate</unittype>
<rate>1.00</rate>
</unitregen>

没有给城门添加<idletimeout>X.00</idletimeout>
回复血量就正常了 这算不算是一个新发现呢


DeagleY发表于 2021-6-13 01:15:42
我猜测原因可能是城门要一直检测周围是否有友方单位 来维持可以随时打开/关闭的状态  所以城门一直处于战斗状态......
こはね发表于 2021-6-13 07:47:15
DeagleY 发表于 2021-6-13 01:15
我猜测原因可能是城门要一直检测周围是否有友方单位 来维持可以随时打开/关闭的状态 所以城门一直处于战斗 ...

应该就是这个原因
DeagleY发表于 2021-6-13 16:02:16

城门好累好可怜
こはね发表于 2021-9-19 13:05:01
最近发现电脑还有一些远古时代的视频,所以搬上来



跳转到