熊教授 发表于 2021-7-23 22:00:43

联机场景触发克隆项目AoE2ScenarioParserd简易教程

本帖最后由 熊教授 于 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       (conditions: 1,effects: 1)

Variables Summary:
    << No Variables >>
"""
print(trigger_manager.get_summary_as_string())

"""
Trigger Summary:
    Trigger Name Here       (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)

cly806 发表于 2021-7-24 00:16:11

我想提取文本啊,坏了程序真的好麻烦

熊教授 发表于 2021-7-24 10:20:01

cly806 发表于 2021-7-24 00:16
我想提取文本啊,坏了程序真的好麻烦

都有的,看项目说明书。提取文本有什么用

cly806 发表于 2021-7-24 13:49:05

熊教授 发表于 2021-7-24 10:20
都有的,看项目说明书。提取文本有什么用

用处大了,制作场景改文本,中英互译,特别是翻译界的重要工具
页: [1]
查看完整版本: 联机场景触发克隆项目AoE2ScenarioParserd简易教程