- commit
- 748384c
- parent
- a6ee239
- author
- FBIK
- date
- 2023-01-27 13:40:16 +0000 UTC
Action文件操作类完善
1 files changed,
+137,
-65
+137,
-65
1@@ -28,27 +28,27 @@ Action拥有触发条件功能. 触发条件通过**条件标签**来设置.
2 ## 条件标签的通用非必须属性
3
4 这些触发条件都有一些通用的可选属性:
5-- needsMissionComplete 当完成当前任务时触发
6-- requiredFlags 拥有特定flag触发
7+- `needsMissionComplete` 当完成当前任务时触发
8+- `requiredFlags` 拥有特定flag触发
9
10 ## 所有条件标签及其必须属性
11
12-`<Instantly>` 立即触发:
13+`<Instantly>`: 立即触发.
14 - 无必须属性
15
16-`<OnConnect>` 连接某个节点后触发:
17+`<OnConnect>`: 连接某个节点后触发.
18 - `target`: 需要连接的节点ID
19
20-`<OnDisconnect>` 断开某个节点后触发.
21+`<OnDisconnect>`: 断开某个节点后触发.
22 - `target`: 需要断开的节点ID
23
24-`<HasFlags>` 拥有某项flag(s)后触发.
25+`<HasFlags>`: 拥有某项flag(s)后触发.
26 - `requiredFlags`: 需要的flag, 多个flag用英文逗号隔开.
27
28-`<DoesNotHaveFlags>`没有某项flag(s)后触发.
29+`<DoesNotHaveFlags>`: 没有某项flag(s)后触发.
30 - `requiredFlags`: 需要的flag, 多个flag用英文逗号隔开.
31
32-`<OnAdminGained>` 获取某个节点的管理员权限后触发.
33+`<OnAdminGained>`: 获取某个节点的管理员权限后触发.
34 - `target`: 需要获取管理员权限的节点ID
35
36 # 行为标签
37@@ -57,105 +57,177 @@ Action拥有触发条件功能. 触发条件通过**条件标签**来设置.
38
39 行为标签是条件标签的下一级标签.
40
41-部分行为标签可以被延迟. 如果需要延迟, 则应指定两个属性:
42+部分行为标签可以被延迟. 延迟情况特殊的行为标签我们将会进行提示, 可延迟的行为标签示范代码块中将带有相关属性. 所有行为标签的默认延迟时间均为0.
43+不可延迟的行为标签只是其自身没有延迟功能, 可以通过其他方式进行延迟, 比如单独创建一个`Action`, 然后延迟加载该`Action`.
44+
45+如果需要延迟, 则应指定两个属性:
46 - `DelayHost`: DelayHost的ID. 因Hacknet的特性, Action的延迟功能需要一个节点帮助, 这个节点就是DelayHost. DelayHost需要拥有`FastActionHost`守护线程.
47 - `Delay`: 延迟时间, 单位为秒
48
49+
50 行为标签可以通过功能大致分为以下部分:
51 - 加载类 行为标签
52 - 文件操作类 行为标签
53-- 特殊文件操作类 行为标签
54+- 特殊内容操作类 行为标签
55 - 节点操作类 行为标签
56 - HacknetOS操作类 行为标签
57
58 ## 加载类行为标签
59
60-`<AddConditionalActions>`: 加载另一个Action.
61 ~~~xml
62 <AddConditionalActions Filepath="Actions/NextAction.xml" DelayHost="delayNode" Delay="0"/>
63 ~~~
64+`<AddConditionalActions>`: 加载另一个Action.
65 - `Filepath`: Action文件相对路径.
66
67-`<RunFunction>`: 运行Function.
68-~~~xml
69-<RunFunction FunctionName="FunctionName" FunctionValue="0" DelayHost="delayNode" Delay="0"/>
70-~~~
71-- `FunctionName`: Function的名字.
72-- `FunctionValue`: Function运行时的参数值. 部分Function运行需要参数值.
73-
74-`<LaunchHackScript>`: 运行HackerScript.
75 ~~~xml
76 <LaunchHackScript Filepath="Scripts/HackerScript.txt" DelayHost="delayNode" Delay="0" SourceComp="SourceComp" TargetComp="TargetComp" RequireLogsOnSource="false" RequireSourceIntact="true"/>
77 ~~~
78+`<LaunchHackScript>`: 运行HackerScript.
79 - `Filepath`: HackerScript的相对位置
80 - `SourceComp`: 攻击源节点. HackerScript的攻击源节点需要设置为`[TARGET_COMP]`.
81 - `TargetComp`: 目标节点. HackerScript的攻击源节点需要设置为`[SOURCE_COMP]`.
82 - `RequireLogsOnSource`: 目标节点是否需要在攻击源节点上留下日志. 默认为false.
83 - `RequireSourceIntact`: 攻击源节点是否需要系统网络文件
84
85-## AddIRCMessage
86-作用:在指定IRC频道发送消息
87-属性:
88-- Author 信息的发送人
89-- TargetComp 目标IRC频道节点ID
90-- Delay 距离该Actions被触发时的延迟
91+~~~xml
92+<LoadMission MissionName="Missions/SurpriseMission.xml"/>
93+~~~
94+`<LoadMission>`立即加载任务:
95+- `MissionName`: 任务的相对路径
96
97-两个标签中间是要发送的消息
98+这是个自闭和标签, 不可被延迟.
99+
100+~~~xml
101+<RunFunction FunctionName="FunctionName" FunctionValue="0" DelayHost="delayNode" Delay="0"/>
102+~~~
103+`<RunFunction>`: 运行Function.
104+- `FunctionName`: Function的名字.
105+- `FunctionValue`: Function运行时传递参数值. 部分Function运行需要传递参数值.
106
107-## LaunchHackScript
108-作用:启动黑客脚本
109-属性:
110-- Filepath 黑客脚本位置
111-- SourceComp 源电脑, 也就是执行操作后留下日志的电脑
112-- TargetComp 目标电脑, 黑客脚本作用的电脑
113-- RequireLogsOnSource 可选属性, 是否目标电脑在源电脑上留下日志的情况下才启动
114-- RequireSourceIntact 可选属性, 是否原电脑没有被清空系统文件的情况下才启动
115+~~~xml
116+<SaveGame DelayHost="delayNode" Delay="0"/>
117+~~~
118+`<SaveGame>`: 保存游戏
119
120 这是一个自闭合标签, 可以被延迟
121
122-## SwitchToTheme
123-作用:更改玩家的主题
124-属性:
125-- ThemePathOrName 主题的路径或者是名字
126-- FlickerInDuration 当切换主题时, 界面闪烁的时间, 单位为秒, 设定为小于等于0则直接切换不闪烁
127+## 文件操作类
128+~~~xml
129+<AddAsset FileName="FileName" FileContents="text" TargetComp="playerComp" TargetFolderpath="home"/>
130+~~~
131+`AddAsset`: 向指定节点添加文件
132+- `FileName` 要添加的文件名字
133+- `FileContents` 要添加的文件的内容
134+- `TargetComp` 目标节点
135+- `TargetFolderpath` 文件将会存放的路径
136
137-这是一个自闭合标签
138+这是一个自闭合标签, 不可延迟
139
140-## AddConditionalActions
141-作用:在Action中执行另一个Action
142-属性:
143-- Filepath Action文件路径
144+~~~xml
145+<AppendToFile DelayHost="delayNode" Delay="0" TargetComp="companyWhitelist" TargetFolderpath="Whitelist" TargetFilename="list.txt">#PLAYER_IP#</AppendToFile>
146+~~~
147+`<AppendToFile>`: 附加内容到文件.
148+- `TargetComp`: 目标节点.
149+- `TargetFolderpath`: 目标文件所在目录.
150+- `TargetFilename`: 目标文件名.
151+- 内容: 添加到内容, 将会另起一行. 可以为空.
152
153-这是一个自闭合标签
154
155-## AddAsset
156-作用:向指定节点添加文件
157-属性:
158-- FileName 要添加的文件名字
159-- FileContents 要添加的文件的内容
160-- TargetComp 目标节点
161-- TargetFolderpath 需要添加到的路径
162+~~~xml
163+<CopyAsset DestFilePath="home" DestComp="playerComp" SourceComp="assetNode" SourceFileName="copycat.txt" SourceFilePath="home/copy"/>
164+~~~
165+`<CopyAsset>`: 文件复制
166+- `SourceComp`: 源节点, 即拷贝目标的节点.
167+- `SourceFileName`: 源文件, 即拷贝目标.
168+- `DestFilePath`: 目标路径, 即粘贴的路径.
169+- `DestComp`: 目标节点, 即粘贴的目标节点.
170
171-这是一个自闭合标签
172+这是一个自闭和标签, 不可延迟.
173
174-## StartScreenBleedEffect
175-作用:开启红屏效果, 也就是被追踪, 要ISP改IP时的效果和最后删Entech文件的效果
176+~~~xml
177+<DeleteFile TargetComp="playerComp" FilePath="home" FileName="deleteme.txt" DelayHost="delayNode" Delay="0"/>
178+~~~
179+`<DeleteFile>`: 删除文件
180+- `TargetComp`: 目标节点
181+- `FilePath`: 文件路径
182+- `FileName`: 文件名
183+
184+## 特殊内容操作类
185+~~~xml
186+<AddIRCMessage Author="Kaguya" TargetComp="ircNode" Delay="">text</AddIRCMessage>
187+~~~
188+`AddIRCMessage`: 向IRC中添加消息.
189+- `Author` 信息的发送人
190+- `TargetComp` 目标IRC频道节点ID
191+- `Delay` 距离该Actions被触发时的延迟
192+- 内容: 消息内容
193+
194+IRC消息的延迟发送通过服务器的`runtime`目录实现, 无需`DelayHost`.
195+- IRC: /IRC/runtime
196+- IRCHub(DHS): /HomeBase/runtime
197+
198+~~~xml
199+<SwitchToTheme ThemePathOrName="Themes/ExampleTheme.xml" FlickerInDuration="3.0" DelayHost="delayNode" Delay="0"/>
200+~~~
201+`SwitchToTheme`: 更改玩家的主题
202+- `ThemePathOrName` 主题的路径或者是名字
203+- `FlickerInDuration` 当切换主题时, 界面闪烁的时间, 单位为秒, 设定为小于等于0则直接切换不闪烁
204+
205+这是一个自闭合标签, 可以被延迟
206+
207+~~~xml
208+<AddConditionalActions Filepath="Actions/NextAction.xml" DelayHost="delayNode" Delay=""/>
209+~~~
210+`AddConditionalActions`:在Action中执行另一个Action
211+- `Filepath` Action文件路径
212+
213+这是一个自闭合标签, 可以被延迟
214+
215+~~~xml
216+<StartScreenBleedEffect AlertTitle="Sequencer Attack" CompleteAction="Actions/ScreenBleedFailed.xml" TotalDurationSeconds="" DelayHost="delayNode" Delay="">Break into the Moonshine servers
217+Delete all files and backups
218+Get out of there!</StartScreenBleedEffect>
219+~~~
220+`StartScreenBleedEffect`:开启红屏效果, 也就是被追踪, 要ISP改IP时的效果和最后删Entech文件的效果
221 属性:
222-- AlertTitle 红屏标题
223-- CompleteAction 完全红屏后执行的Action
224-- TotalDurationSeconds 完全红屏所用时间
225+- `AlertTitle` 红屏标题
226+- `CompleteAction` 完全红屏后执行的Action
227+- `TotalDurationSeconds` 完全红屏所用时间
228
229 两个标签中的内容为红屏后左下角的提示, 最多只能有三行, 可以被延迟
230
231-## CancelScreenBleedEffect
232-作用:关闭红屏效果
233+~~~xml
234+<CancelScreenBleedEffect DelayHost="delayNode" Delay="0"/>
235+~~~
236+`CancelScreenBleedEffect`:关闭红屏效果
237 属性:无特殊属性
238
239 这是一个自闭合标签, 可以被延迟
240
241-## KillExe
242-作用:终止某个exe进程
243-属性:
244-- ExeName 要结束的exe名字
245+~~~xml
246+<KillExe DelayHost="delayNode" Delay="0" ExeName="*"/>
247+~~~
248+`KillExe`:终止某个exe进程
249+- `ExeName`: 要结束的exe名字
250+
251+这是一个自闭合标签, 可以被延迟
252+
253+~~~xml
254+<LoadMission MissionName="Missions/SurpriseMission.xml"/>
255+~~~
256+`LoadMission`:加载一个任务
257+- `MissionName` 任务的相对路径
258+
259+这是一个自闭合标签
260+
261+~~~xml
262+<RunFunction FunctionName="" FunctionValue="0" DelayHost="delayNode" Delay="1.0"/>
263+~~~
264+`RunFunction`: 加载一个function
265+- `FunctionName`: Function相对路径
266+- `FunctionValue`: //TODO不会
267
268-这是一个自闭合标签, 可以被延迟
269+这是一个自闭合标签,可以被延迟
270+
271+~~~xml