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

帝国时代3剧情编辑器切换贸易站资源选项触发程序

[复制链接]
LV20 ????

三好萌新

阅读权限
255
积分
24334
食物
2565
木材
1364
钱币
2107
茶叶
140
钻石
825
经验
10260

幸运勋章

QQ
跳转到指定楼层
楼主
发表于 2020-5-19 19:14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用下面的触发程序可以将已经在编辑器放置好的贸易站切换运送资源选项,而不是默认使用运送经验选项。注:只能切换已经在编辑器放置的贸易站,玩家手动建造的贸易站无法切换。





该触发程序有6个选项,分别是Set Level?、"Trade Route"、"Level"、"Target TradingPost"、"1-Food;2-Wood;3-Coin;4-XP;else protoname"、"else-custom protoname"

"Set Level?"的作用是是否开启改变贸易路线等级,默认为OFF;如果"Set Level?"的状态为ON,那么后两个选项"Trade Route"与"Level"就会生效,如果为OFF,那么"Trade
Route"与"Level"无论设定什么值都会失效。
"Trade Route"为选取一条贸易路线,第一条贸易路线为0,第二条贸易路线为1,依此类推。
"Level"为设定贸易路线等级,0为马拉雪橇(或人力车),1为驿马车,2为火车
"Target TradingPost"为设定哪个贸易站切换按钮,你在剧情编辑器选择一个贸易站,然后按"Target TradingPost"按钮即可。
"1-Food;2-Wood;3-Coin;4-XP;else protoname"设定贸易路线按钮类型。1为运送食物按钮;2为运送木材按钮;3为运送黄金按钮;4为运送经验按钮;其他数值为自定义单位调用名,调用名在"else-custom protoname"输入。
"else-custom protoname"为自定义贸易路线按钮,该选项值输入单位调用名,(为什么是单位调用名?因为贸易站的内部设定就是运送单位,就算是那些资源按钮,本质上也是在运送资源箱,所以是单位调用名);设定这个设定主要是为了兼容MOD,因为MOD可以设定贸易路线运送单位。

触发程序:
	<Effect name="*Advanced TP Set Command">
		<Param name="SetLevel" dispName="Set Level?" VarType="bool">false</Param>
		<Param name="TradeRoute" dispName="$$33881$$Trade Route" VarType="traderoute">1</Param>
		<Param name="Level" dispName="Level" VarType="long">1</Param>
		<Param name="TradingPost" dispName="Target TradingPost" varType="unit">default</Param>
		<Param name="Command" dispName="1-Food;2-Wood;3-Coin;4-XP;else protoname" VarType="player">5</Param>
		<Param name="Protoname" dispName="else-custom protoname" VarType="string">CrateofFood</Param>
		<command>if(%SetLevel%==true)</command>
		<command>{</command>
		<Command>trTradeRouteSetLevel(%TradeRoute%, %Level%);</Command>
		<command>}</command>
		<Command>trUnitSelectClear();</Command>
		<Command>trUnitSelect("%TradingPost%");</Command>
		<Command>if(trUnitIsOwnedBy(trCurrentPlayer()))</Command>
		<command>{</command>
		<Command>xsSetContextPlayer(trCurrentPlayer());</Command>
		<command>if(%Command%==1)</command>
		<command>{</command>
		<command>tradeRouteTrain(-1,kbGetBlockID("%TradingPost%"),kbGetProtoUnitID("CrateofFood"));</command>
		<command>}</command>
		<command>else if(%Command%==2)</command>
		<command>{</command>
		<command>tradeRouteTrain(-1,kbGetBlockID("%TradingPost%"),kbGetProtoUnitID("CrateofWood"));</command>
		<command>}</command>
		<command>else if(%Command%==3)</command>
		<command>{</command>
		<command>tradeRouteTrain(-1,kbGetBlockID("%TradingPost%"),kbGetProtoUnitID("CrateofCoin"));</command>
		<command>}</command>
		<command>else if(%Command%==4)</command>
		<command>{</command>
		<command>tradeRouteTrain(-1,kbGetBlockID("%TradingPost%"),kbGetProtoUnitID("CrateofXP"));</command>
		<command>}</command>
		<command>else</command>
		<command>{</command>
		<command>tradeRouteTrain(-1,kbGetBlockID("%TradingPost%"),kbGetProtoUnitID("%Protoname%"));</command>
		<command>}</command>
		<command>}</command>
	</Effect>


下载本触发程序:
tpcommand.xml (2.06 KB, 下载次数: 1)
安装方法:将tpcommand.xml复制到你的帝国3目录中的trigger3文件夹里面。
你们要相信我,我真的是萌新。
您需要登录后才可以回帖 登录 | 注册

本版积分规则