请选择 进入手机版 | 继续访问电脑版
跳转到:
打印 上一主题 下一主题

[教程] 使用转换单位科技会出现的问题

[复制链接]
LV20 ????

三好萌新

阅读权限
255
积分
21991
食物
2001
木材
1122
钱币
1658
茶叶
133
钻石
825
经验
8700

幸运勋章

QQ
跳转到指定楼层
楼主
发表于 2020-1-29 12:29:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在帝国3中,有这样一个科技,可以使当前所有单位C转化为单位A(包括建筑物),语句如下:
			<Effect type ='TransformUnit' toprotoid ='A' fromprotoid ='C'></Effect>
但是这个语句是有两个BUG的,不过只会出现在mod修改当中。
第一个BUG:如果在被转换的单位改良转换单位科技,在改良完成后,游戏会立刻闪退。
第二个BUG:转换后的新单位会丢失tactic,会处于默认战术,也有可能是延续是一个单位的战术,或者根本不存在,有攻击数据之类的,但是自动生产、光环全部丢失,直到玩家切换战术。


你们要相信我,我真的是萌新。
LV18 版主
阅读权限
230
积分
177
食物
67
木材
44
钱币
57
茶叶
3
钻石
0
经验
166
沙发
发表于 2020-1-29 13:34:50 来自手机 | 只看该作者
那是不是说用苏族的话使用了暮星卡,升级骑兵就会闪退吗?
回复
LV20 ????

三好萌新

阅读权限
255
积分
21991
食物
2001
木材
1122
钱币
1658
茶叶
133
钻石
825
经验
8700

幸运勋章

QQ
板凳
 楼主| 发表于 2020-1-29 14:06:55 | 只看该作者
9916897 发表于 2020-1-29 13:34
那是不是说用苏族的话使用了暮星卡,升级骑兵就会闪退吗?

不是

例如有单位A与单位B

如果单位A是被转换的单位,如果在单位A改良转换科技,那么游戏闪退
在单位B改良转换科技或者其他单位改良科技,不会出现问题
回复
你们要相信我,我真的是萌新。
LV20 ????

三好萌新

阅读权限
255
积分
21991
食物
2001
木材
1122
钱币
1658
茶叶
133
钻石
825
经验
8700

幸运勋章

QQ
地板
 楼主| 发表于 2020-1-29 14:27:30 | 只看该作者
这个是聊天记录

darth·dou
QQ1597111977
大佬,我使用了单位转换的科技,就是原版的苏沃洛夫改革卡那样的科技,用来让两种我新加的单位之间进行转换,结果科技研发完成一瞬间游戏直接闪退了,请问您知道这是因为什么吗?是科技没写好还是不能这么用?
    
QQ927067964
好像见过,但是忘记什么原因了
    
QQ927067964
另外如果内存过大会直接闪退
darth·dou
QQ1597111977
之前在建筑上用闪退过,我估计是不能用在建筑上,但是单位上我没见过这种情况。
    
QQ927067964
高面数模型?
darth·dou
QQ1597111977
应该是吧,我从中二全战里转过来的模型,精细程度跟igc的差不多。
    
QQ927067964
你在startup文件夹增加这个showFPS
看下FPS会怎样
darth·dou
QQ1597111977
加了以后显示了一个数学,第一个单位存在的时候大概是34到37,转换科技完成的一瞬间游戏就闪退了,数字没有变化。
darth·dou
QQ1597111977
第一个单位也是高面数的模型。
    
QQ927067964
应该不关内存事
    
QQ927067964
我用17000面模型试下
    
QQ927067964
200个1万7面模型转换没事
    
QQ927067964
应该是其他问题
darth·dou
QQ1597111977
我怀疑是不是跟单位的flag有关。
darth·dou
QQ1597111977
因为那两个单位都是英雄,不是普通单位。
    
QQ927067964
我这个也是英雄单位
    
QQ927067964
我没记错的话建筑也是能转换的,但是转换有一个问题,tactic使用的默认(也许不存在);只有你手动切换才会改变
darth·dou
QQ1597111977
跟标签没关,我把标签都换成普通单位了也不行,那就是科技写的有问题。
    
QQ927067964
发给我试下吧
    
QQ927067964
科技以及两个单位的语句
    
QQ927067964
只要xml语句就可以了,模型之类的就不用发了
darth·dou
QQ1597111977
	<Tech name ='HeroTechReturnOfKing' type ='Normal'>
		<DBID>9002</DBID>
		<DisplayNameID>00060</DisplayNameID>
		<Cost resourcetype ='Ships'>1.0000</Cost>
		<Cost resourcetype ='XP'>500.0000</Cost>
		<ResearchPoints>45.0000</ResearchPoints>
		<Status>UNOBTAINABLE</Status>
		<Icon>ui\tech_LR\hero\arnor\Aragorn\anduril</Icon>
		<RolloverTextID>00061</RolloverTextID>
		<Flag>CountsTowardMilitaryScore</Flag>
		<Flag>UniqueTech</Flag>
		<Prereqs>
			<TechStatus status ='Active'>ColonializeArnor1</TechStatus>
			<TechStatus status ='Active'>Industrialize</TechStatus>
		</Prereqs>
		<Effects>
			<Effect type ='TransformUnit' toprotoid ='KingElessar' fromprotoid ='LordAragorn'></Effect>
		</Effects>
	</Tech>
darth·dou
QQ1597111977
	<Unit id ='8049' name ='LordAragorn'>
		<DBID>53</DBID>
		<DisplayNameID>80216</DisplayNameID>
		<EditorNameID>80217</EditorNameID>
		<ObstructionRadiusX>0.4900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.4900</ObstructionRadiusZ>
		<FormationCategory>Ranged</FormationCategory>
		<MaxVelocity>5.5000</MaxVelocity>
		<MaxRunVelocity>7.5000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\arnor\lord\lord_aragorn\lord_aragorn.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>dude</PhysicsInfo>
		<Icon>units\infantry_ranged\longbow\longbow_icon</Icon>
		<MinimapIcon>ui\minimap\hero</MinimapIcon>
		<PortraitIcon>units\infantry_ranged\longbow\longbow_portrait</PortraitIcon>
		<RolloverTextID>80218</RolloverTextID>
		<ShortRolloverTextID>80219</ShortRolloverTextID>
		<InitialHitpoints>2900.0000</InitialHitpoints>
		<MaxHitpoints>2900.0000</MaxHitpoints>
		<LOS>28.0000</LOS>
		<ProjectileProtoUnit>InvisibleProjectile</ProjectileProtoUnit>
		<AutoAttackRange>20.0000</AutoAttackRange>
		<UnitAIType>RangedCombative</UnitAIType>
		<TrainPoints>240.0000</TrainPoints>
		<Bounty>70.0000</Bounty>
		<BuildLimit>1</BuildLimit>
		<BuildBounty>70.0000</BuildBounty>
		<Cost resourcetype ='XP'>350.0000</Cost>
		<Cost resourcetype ='Gold'>350.0000</Cost>
		<AllowedAge>2</AllowedAge>
		<Armor type ='Ranged' value ='0.6000'></Armor>
		<UnitType>LogicalTypeHealed</UnitType>
		<UnitType>LogicalTypeValidSharpshoot</UnitType>
		<UnitType>LogicalTypeNeededForVictory</UnitType>
		<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeLandMilitary</UnitType>
		<UnitType>LogicalTypeScout</UnitType>
		<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
		<UnitType>LogicalTypeGarrisonInShips</UnitType>
		<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeVillagersAttack</UnitType>
		<UnitType>LogicalTypeHandUnitsAttack</UnitType>
		<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
		<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>AbstractSiegeTrooper</UnitType>
		<UnitType>AbstractArcher</UnitType>
		<UnitType>AbstractInfantry</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AbstractRangedInfantry</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>Ranged</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<Tech row ='0' page ='1' column ='0'>HeroTechRingofBarahir</Tech>
		<Tech row ='0' page ='1' column ='1'>HeroTechSceptreOfAnnuminas</Tech>
		<Tech row ='0' page ='1' column ='2'>HeroTechReturnOfKing</Tech>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>Tracked</Flag>
		<Command page ='11' column ='0'>Abilities</Command>
		<Command page ='10' column ='1'>Stop</Command>
		<Command page ='10' column ='0'>Garrison</Command>
		<Command page ='9' column ='0'>ToggleStealth</Command>
		<Tactics>lord_command_rangedinfantry.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>30.000000</Damage>
			<damagetype>Ranged</damagetype>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>RangedAttack</Name>
			<Damage>60.000000</Damage>
			<DamageType>Ranged</DamageType>
			<MinRange>2.000000</MinRange>
			<MaxRange>24.000000</MaxRange>
			<ROF>1.200000</ROF>
			<DamageBonus type ='AbstractHandInfantry'>2.000000</DamageBonus>
                        <DamageBonus type ='AbstractHandCavalry'>0.750000</DamageBonus>
			<DamageBonus type ='AbstractRajput'>0.600000</DamageBonus>
                        <DamageBonus type ='AbstractRangedCavalry'>1.750000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeAttack</Name>
			<Damage>90.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>1.200000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>SwashbucklerAttack</Name>
			<Damage>200.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>2.000000</ROF>
			<DamageCap>800.000000</DamageCap>
			<DamageArea>2.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
		</ProtoAction>
	</Unit>
	<Unit id ='8050' name ='KingElessar'>
		<DBID>136</DBID>
		<DisplayNameID>80222</DisplayNameID>
		<EditorNameID>80223</EditorNameID>
		<ObstructionRadiusX>0.7900</ObstructionRadiusX>
		<ObstructionRadiusZ>0.7900</ObstructionRadiusZ>
		<FormationCategory>Mobile</FormationCategory>
		<MaxVelocity>6.5000</MaxVelocity>
		<MaxRunVelocity>8.5000</MaxRunVelocity>
		<MovementType>land</MovementType>
		<TurnRate>18.0000</TurnRate>
		<AnimFile>units\arnor\lord\king_elessar\king_elessar_horse.xml</AnimFile>
		<ImpactType>Flesh</ImpactType>
		<PhysicsInfo>cav</PhysicsInfo>
		<Icon>units\cavalry\knight\knight_icon</Icon>
		<MinimapIcon>ui\minimap\hero</MinimapIcon>
		<PortraitIcon>units\cavalry\knight\knight_icon_portrait</PortraitIcon>
		<RolloverTextID>80224</RolloverTextID>
		<ShortRolloverTextID>80225</ShortRolloverTextID>
		<InitialHitpoints>3500.0000</InitialHitpoints>
		<MaxHitpoints>3500.0000</MaxHitpoints>
		<LOS>28.0000</LOS>
		<UnitAIType>HandCombative</UnitAIType>
		<TrainPoints>300.0000</TrainPoints>
		<Bounty>90.0000</Bounty>
		<BuildBounty>90.0000</BuildBounty>
		<BuildLimit>1</BuildLimit>
		<Cost resourcetype ='XP'>400.0000</Cost>
		<Cost resourcetype ='Gold'>500.0000</Cost>
		<AllowedAge>3</AllowedAge>
		<Armor type ='Ranged' value ='0.3000'></Armor>
		<UnitType>LogicalTypeHealed</UnitType>
		<UnitType>LogicalTypeValidSharpshoot</UnitType>
		<UnitType>LogicalTypeNeededForVictory</UnitType>
		<UnitType>LogicalTypeHandUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeLandMilitary</UnitType>
		<UnitType>LogicalTypeScout</UnitType>
		<UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType>
		<UnitType>LogicalTypeGarrisonInShips</UnitType>
		<UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType>
		<UnitType>LogicalTypeVillagersAttack</UnitType>
		<UnitType>LogicalTypeHandUnitsAttack</UnitType>
		<UnitType>LogicalTypeRangedUnitsAttack</UnitType>
		<UnitType>LogicalTypeMinimapFilterMilitary</UnitType>
		<UnitType>AbstractCavalry</UnitType>
		<UnitType>UnitClass</UnitType>
		<UnitType>Military</UnitType>
		<UnitType>Unit</UnitType>
		<UnitType>AbstractLancer</UnitType>
		<UnitType>AbstractHeavyCavalry</UnitType>
		<UnitType>AbstractSiegeTrooper</UnitType>
		<UnitType>HasBountyValue</UnitType>
		<UnitType>AbstractCavalryInfantry</UnitType>
		<UnitType>CountsTowardMilitaryScore</UnitType>
		<UnitType>ConvertsHerds</UnitType>
		<UnitType>AbstractHandCavalry</UnitType>
		<Train row ='0' page ='11' column ='1'>ArnorKnight</Train>
		<Flag>CollidesWithProjectiles</Flag>
		<Flag>ApplyHandicapTraining</Flag>
		<Flag>CorpseDecays</Flag>
		<Flag>ShowGarrisonButton</Flag>
		<Flag>DontRotateObstruction</Flag>
		<Flag>ObscuredByUnits</Flag>
		<Flag>ConstrainOrientation</Flag>
		<Flag>OrientUnitWithGround</Flag>
		<Flag>Tracked</Flag>
		<Command page ='11' column ='0'>Abilities</Command>
		<Command page ='1' column ='0'>SetUnitAsHomeCityGatherPoint</Command>
		<Command page ='10' column ='1'>Stop</Command>
		<Command page ='10' column ='0'>Garrison</Command>
		<Tactics>lord_command_cavalry.tactics</Tactics>
		<ProtoAction>
			<Name>BuildingAttack</Name>
			<Damage>60.000000</Damage>
			<damagetype>Ranged</damagetype>
			<ROF>3.000000</ROF>
		</ProtoAction>
		<ProtoAction>
			<Name>DefendHandAttack</Name>
			<Damage>90.000000</Damage>
			<DamageType>Magic</DamageType>
			<ROF>1.350000</ROF>
			<DamageCap>180.000000</DamageCap>
			<DamageArea>3.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
			<DamageBonus type ='AbstractHandSiege'>0.750000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>GuardianAttack</Name>
			<Damage>90.000000</Damage>
			<DamageType>Magic</DamageType>
			<ROF>1.350000</ROF>
			<DamageCap>180.000000</DamageCap>
			<DamageArea>3.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
			<DamageBonus type ='AbstractHandSiege'>0.750000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>MeleeHandAttack</Name>
			<Damage>90.000000</Damage>
			<DamageType>Magic</DamageType>
			<ROF>1.350000</ROF>
			<DamageCap>180.000000</DamageCap>
			<DamageArea>3.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
			<DamageBonus type ='AbstractHandSiege'>0.750000</DamageBonus>
		</ProtoAction>
		<ProtoAction>
			<Name>TrampleHandAttack</Name>
			<Damage>60.000000</Damage>
			<DamageType>Hand</DamageType>
			<ROF>2.000000</ROF>
			<DamageCap>400.000000</DamageCap>
			<DamageArea>3.000000</DamageArea>
			<DamageFlags>Enemy</DamageFlags>
		</ProtoAction>
		<ProtoAction>
			<Name>SwordAttack</Name>
			<Damage>300.000000</Damage>
			<DamageType>Magic</DamageType>
			<ROF>1.350000</ROF>
			<DamageCap>900.000000</DamageCap>
			<DamageArea>4.000000</DamageArea>
			<DamageFlags>GAIAEnemy</DamageFlags>
			<MaxRange>3.000000</MaxRange>
			<DamageBonus type ='AbstractHandSiege'>0.750000</DamageBonus>
		</ProtoAction>
	</Unit>
darth·dou
QQ1597111977
多谢大佬了。
    
QQ927067964
不能在被转换的单位改良科技
darth·dou
QQ1597111977
darth·dou
QQ1597111977
原来是因为这个。
darth·dou
QQ1597111977
大佬,又碰见奇怪的问题了,我给单位加了通过科技开启的光环,结果游戏里研发科技后没有效果,编辑器里用触发让它自动研究倒是有效果,这是为什么?
    
QQ927067964
darth·dou
QQ1597111977
现在好了,我切换了一下单位的战术,再切换回来就好了。
    
QQ927067964
你是用了转换单位吧?
darth·dou
QQ1597111977
对,就是昨天那个,难道是转换来的单位会有这个问题吗?
    
QQ927067964
用转换单位科技转换的单位会丢失tactic
会处于默认战术,也有可能是延续是一个单位的战术,或者根本不存在
有攻击数据之类的,但是自动生产、光环全部丢失

直到切换战术
darth·dou
QQ1597111977
哦,原来是这样,那为什么切换战术就有了呢?切换以后单位的tactics会自动校正?
    
QQ927067964
不清楚,可能是内部程序的问题
    
QQ927067964
你可以这样
    
QQ927067964
弄一个隐形单位,生命值归0自动死亡
    
QQ927067964
然后科技转换隐形单位,隐形单位死亡,再通过protoy那个死亡转换成新单位(注意延迟,跟动作以及保留时间有关)
darth·dou
QQ1597111977
这个我大概明白,但是我发现光环有延迟效果。
darth·dou
QQ1597111977
死了以后原地新生的单位的光环会有一点延迟。
darth·dou
QQ1597111977
那个是不是没有办法去掉?
    
QQ927067964
光环延迟没办法,死亡延迟我之前好像是0,但是没删死亡动作,所以新单位与旧单位死亡动作同时出现
darth·dou
QQ1597111977
有没有科技效果会让某个单位死?
    
QQ927067964
没有,但是可以让生命值归0
    
QQ927067964
然后单位就死了
回复
你们要相信我,我真的是萌新。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Google广告[已验证邮箱用户无广告]