翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 824|回复: 3

[教程分享] 联机场景触发克隆项目AoE2ScenarioParserd简易教程

[复制链接]

12

主题

2

精华

3196

积分

公爵

耕战
400
鹰币
1303
天龙币
0
回帖
31
附庸关系0
 楼主| 发表于 2021-7-23 22:00:43 | 显示全部楼层 |阅读模式
本帖最后由 熊教授 于 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)

回复

使用道具 举报

91

主题

14

精华

2万

积分

都主教

耕战
3368
鹰币
20766
天龙币
0
回帖
1381
附庸关系1
发表于 2021-7-24 00:16:11 | 显示全部楼层
我想提取文本啊,坏了程序真的好麻烦
回复

使用道具 举报

12

主题

2

精华

3196

积分

公爵

耕战
400
鹰币
1303
天龙币
0
回帖
31
附庸关系0
 楼主| 发表于 2021-7-24 10:20:01 | 显示全部楼层
cly806 发表于 2021-7-24 00:16
我想提取文本啊,坏了程序真的好麻烦

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

使用道具 举报

91

主题

14

精华

2万

积分

都主教

耕战
3368
鹰币
20766
天龙币
0
回帖
1381
附庸关系1
发表于 2021-7-24 13:49:05 | 显示全部楼层
熊教授 发表于 2021-7-24 10:20
都有的,看项目说明书。提取文本有什么用

用处大了,制作场景改文本,中英互译,特别是翻译界的重要工具
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-11-22 11:39 , Processed in 0.122463 second(s), 54 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表