- UID
- 367137
- 阅读权限
- 70
- 注册时间
- 2021-5-16
- 最后登录
- 2024-11-21
- 在线时间
- 170 小时
- 性别
- 保密
公爵
- 耕战
- 400
- 鹰币
- 1303
- 天龙币
- 0
- 回帖
- 31
|
本帖最后由 熊教授 于 2024-2-6 21:10 编辑
之前有大佬发过AoE2ScenarioParserd的项目包:
AoE2SP 触发克隆工具
对我等喜欢做联机场景的作者实在是神器也,不可一日无
无奈何自从游戏5.3700版本更新后,此软件已无法使用。
众所周知,地图编辑器的触发无法对所有玩家生效。特别是联机场景中的触发,为了对所有玩家生效,往往需要复制7遍。
为了彻底解决,联机场景中对触发进行的批量复制
只能自学使用Python环境,直接使用源代码进行触发复制。
在毫无基础的情况下,自研了约30小时,掉发百余根。
终于可以启动最简单的复制功能:
复制指定编号的触发到玩家1-8
https://github.com/KSneijders/AoE2ScenarioParser/blob/master/README.md#aoe2scenarioparser
以上为项目原网址。
https://ksneijders.github.io/AoE2ScenarioParser/installation/
以上为项目说明书
https://zhuanlan.zhihu.com/p/191594818
以上为python的编辑器pycharm的中文设置教程
使用流程(大约3小时):
下载python环境。
下载项目原网址的代码压缩包(rar)
下载python的编辑器PyCharm
1、按教程安装python环境。
2、按教程安装编辑器pycharm
3、按教程设置pycharm为中文。
4、打开Pycharm在终端内:按项目说明书中,使用Pip命令安装本项目。
5、在pycharm内新建项目
6、在新建项目内复制粘贴后运行即可(记得指定文件路径和触发编号):
from AoE2ScenarioParser.scenarios.aoe2_de_scenario import AoE2DEScenario
from AoE2ScenarioParser.datasets.players import PlayerId
from AoE2ScenarioParser.datasets.units import UnitInfo
from AoE2ScenarioParser.objects.support.trigger_select import TS
print('PyCharm')
input_path = "D:\\1234.aoe2scenario"
output_path = "D:\\1234-2.aoe2scenario"
scenario = AoE2DEScenario.from_file(input_path)
trigger_manager = scenario.trigger_manager
scenario_folder = "D:\\"
read_file = scenario_folder + "1234.aoe2scenario"
print("查询触发器:",trigger_manager.get_summary_as_string())
"""
Trigger Summary:
Trigger Name Here [Index: 0, Display: 0] (conditions: 1, effects: 1)
Variables Summary:
<< No Variables >>
"""
print(trigger_manager.get_summary_as_string())
"""
Trigger Summary:
Trigger Name Here [Index: 0, Display: 0] (conditions: 1, effects: 1)
Variables Summary:
<< No Variables >>
"""
copied_triggers = trigger_manager.copy_trigger_per_player(
from_player=PlayerId.ONE,
trigger_select=TS.index(0),
create_copy_for_players=[
PlayerId.ONE,PlayerId.TWO, PlayerId.THREE, PlayerId.FOUR
]
)
scenario.write_to_file(output_path)
|
|