Skip to content

Commit 3a9914c

Browse files
authored
Merge pull request #11 from maix2012/main
重新支持&ExtensionInfo
2 parents 2e2e96b + 7dbe670 commit 3a9914c

3 files changed

Lines changed: 135 additions & 8 deletions

File tree

Content/Extension.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Extension
22

3-
扩展内容通过类型可以大致分为10个部分, 这些部分别是:
3+
4+
5+
扩展内容通过类型可以大致分为11个部分, 这些部分别是:
6+
- [ExtensionInfo](./ExtensionInfo.md) (扩展信息)
47
- [Actions](./Actions.md) (行为)
58
- [Factions](./Faction.md) (阵营)
69
- [HackerScripts](./HackerScripts.md) 黑客脚本, 用于描述黑客行为
@@ -15,4 +18,4 @@
1518
在编写扩展的过程中, 你还需要了解以下知识:
1619
- HacknetOS 游戏中的不同状态以及部分运行逻辑
1720
- Function (函数)
18-
- 自替换占位符 在扩展的执行时会自行替换为相应特殊内容的字符
21+
- 自替换占位符(如:#SSH_CRACK# 在扩展的执行时会自行替换为相应特殊内容的字符)

Content/ExtensionInfo.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# 新增 Hacknet ExtensionInfo.xml 使用文档
2+
3+
## 概述
4+
5+
ExtensionInfo.xml是Hacknet扩展的核心配置文件,定义了扩展的基本属性、启动设置、资源引用等关键信息。
6+
7+
## 基本结构
8+
9+
```xml
10+
<HacknetExtension>
11+
<!-- 配置项 -->
12+
</HacknetExtension>
13+
```
14+
15+
## 主要配置项详解
16+
17+
### 1. 语言设置
18+
```xml
19+
<Language>zh-cn</Language>
20+
```
21+
- 设置扩展的语言
22+
- 支持的语言:英语(en-us)、德语(de-de)、法语(fr-be)、俄语(ru-ru)、西班牙语(es-ar)、韩语(ko-kr)、日语(ja-jp)、简体中文(zh-cn)
23+
24+
### 2. 基本信息
25+
```xml
26+
<Name>IntroExtension</Name>
27+
<AllowSaves>true</AllowSaves>
28+
```
29+
- **Name**: 扩展名称(最大128字符)
30+
- **AllowSaves**: 是否允许保存游戏进度
31+
32+
### 3. 启动设置
33+
```xml
34+
<StartingVisibleNodes>advExamplePC</StartingVisibleNodes>
35+
<StartingMission>Missions/Intro/IntroMission1.xml</StartingMission>
36+
<StartingActions>Actions/StartingActions.xml</StartingActions>
37+
```
38+
- **StartingVisibleNodes**: 初始可见节点(逗号分隔)
39+
- **StartingMission**: 玩家启动时加载的任务
40+
- **StartingActions**: 新会话创建时加载的条件动作集
41+
42+
### 4. 描述信息
43+
```xml
44+
<Description>——介绍扩展——
45+
这个示例扩展将教授构建Hacknet扩展的基础知识。
46+
描述可以是多行,所以,我们已经在学习了!</Description>
47+
```
48+
- 在Hacknet中显示的扩展描述
49+
- 支持多行文本
50+
51+
### 5. 派系设置
52+
```xml
53+
<Faction>Factions/ExampleFaction.xml</Faction>
54+
<Faction>Factions/IntroFaction.xml</Faction>
55+
```
56+
- 定义扩展中涉及的派系
57+
- 可以定义任意数量的派系
58+
59+
### 6. 教程和启动设置
60+
```xml
61+
<StartsWithTutorial>False</StartsWithTutorial>
62+
<HasIntroStartup>true</HasIntroStartup>
63+
```
64+
- **StartsWithTutorial**: 是否以教程开始
65+
- **HasIntroStartup**: 是否使用标准重启启动序列
66+
67+
### 7. 主题和音乐
68+
```xml
69+
<StartingTheme>Themes/ExampleTheme.xml</StartingTheme>
70+
<IntroStartupSong>The_Quickening</IntroStartupSong>
71+
```
72+
- **StartingTheme**: 初始主题文件路径
73+
- **IntroStartupSong**: 启动音乐(原版游戏歌曲名或自定义.ogg文件路径)
74+
75+
### 8. 扩展序列器设置 (主线末尾的Sequencer.exe)
76+
```xml
77+
<SequencerTargetID>advExamplePC</SequencerTargetID>
78+
<SequencerSpinUpTime>10.5</SequencerSpinUpTime>
79+
<SequencerFlagRequiredForStart>testFlag</SequencerFlagRequiredForStart>
80+
<ActionsToRunOnSequencerStart>Actions/ThemeSwapActions.xml</ActionsToRunOnSequencerStart>
81+
```
82+
- **SequencerTargetID**: 序列器目标计算机ID
83+
- **SequencerSpinUpTime**: 序列器启动时间(秒)
84+
- **SequencerFlagRequiredForStart**: 启动序列器所需的Faction(派系,如:CSEC)等级
85+
- **ActionsToRunOnSequencerStart**: 序列器启动时运行的Action(动作)文件
86+
87+
### 9. Steam Workshop设置
88+
```xml
89+
<WorkshopDescription>扩展描述(最多8000字符)</WorkshopDescription>
90+
<WorkshopLanguage>English</WorkshopLanguage>
91+
<WorkshopVisibility>2</WorkshopVisibility>
92+
<WorkshopTags>Extension</WorkshopTags>
93+
<WorkshopPreviewImagePath>WorkshopLogo.png</WorkshopPreviewImagePath>
94+
<WorkshopPublishID>NONE</WorkshopPublishID>
95+
```
96+
- **WorkshopDescription**: Steam Workshop描述
97+
- **WorkshopLanguage**: Workshop语言
98+
- **WorkshopVisibility**: 可见性(0=公开,1=仅好友,2=私有)
99+
- **WorkshopTags**: 标签(逗号分隔)
100+
- **WorkshopPreviewImagePath**: 预览图片路径(必须为正方形,小于1MB)
101+
- **WorkshopPublishID**: 发布ID(首次发布后自动填充)
102+
103+
## 使用建议
104+
105+
1. **路径引用**: 所有文件路径都相对于扩展根目录
106+
2. **音乐文件**: 可以引用原版游戏音乐或自定义.ogg文件
107+
3. **主题文件**: 支持基础主题名称或自定义主题文件
108+
4. **Workshop发布**: 首次发布前WorkshopPublishID应为"NONE"
109+
110+
## 示例配置
111+
112+
```xml
113+
<HacknetExtension>
114+
<Language>zh-cn</Language>
115+
<Name>我的扩展</Name>
116+
<AllowSaves>true</AllowSaves>
117+
<StartingMission>Missions/MyMission.xml</StartingMission>
118+
<Description>这是我的第一个Hacknet扩展</Description>
119+
<Faction>Factions/MyFaction.xml</Faction>
120+
<StartingTheme>Themes/MyTheme.xml</StartingTheme>
121+
</HacknetExtension>
122+
```
123+
124+
## 文件结构参考

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# ~Hacknet-Extension-Tutorial~
1+
# Hacknet-Extension-Tutorial
22

3-
# ⚠已弃用。
3+
# ✅重新支持
44
> [!WARNING]\
5-
> 此项目已弃用。这个教程混合了教程与规范。我打算将规范的工作交给一个标准,然后重新设计更引导式,更有互动的教程
5+
> 此项目被弃用,但是由Vert重新支持
66
>
7-
> 如果你在阅读中发现内容有缺有误,是正常现象,欢迎创建 [issues](https://github.com/FBIKdot/Hacknet-Extension-Tutorial/issues)
7+
> 我们在此说明,由于仓库作者个人时间有限,目前该项目已进入低维护状态。我们深知这可能会影响您的使用体验,并对此表示诚挚的歉意。为确保您能顺利使用,建议您结合下方的官方文档和社区资源进行参考。感谢您的理解与支持
88
>
99
> 标准:[hnxml](https://hnxml.js.org)(开发中)
1010
>
@@ -18,9 +18,9 @@
1818

1919
如果你觉得这个文档有意义, 可以`Stars`一下.
2020

21-
这个教程将持续维护, 如果你发现任何不足, 欢迎创建[`Issues`](https://github.com/BovineBeta/Hacknet-Extension-Tutorial/issues)或者[`Pull Request`](https://github.com/BovineBeta/Hacknet-Extension-Tutorial/pulls).
2221

23-
文档编写进度表: [Github Projects](https://github.com/users/BovineBeta/projects/2)
22+
23+
2424

2525
# Get Start
2626

0 commit comments

Comments
 (0)