Hacknet-Extension-Tutorial


Hacknet-Extension-Tutorial / Content
BovineBeta  ·  2023-07-12

Function.md

Function (函数)

Function可以更改游戏内容. 它可以在Mission和Action(包括Faction)中被执行.

在游戏中, 作者通过Function来简化他自己对游戏的控制, 与操作特殊功能. 其中只有部分Function是可以在扩展中使用的.

作者通过一个奇葩的方式来给Function传递参数, 这里通过<missionStart>和行为标签<RunFunction>setFactionaddRank函数来做示范:

函数的参数必须为字符串, 则这么执行函数:

1<missionStart>setFaction:Entropy</missionStart>
1<RunFunction FunctionName="setFaction:Entropy"/>

假如函数的参数必须为整数, 则这么执行函数:

1<missionStart val="1">addRank</missionStart>
1<RunFunction FunctionName="addRank" FunctionValue="1"/>

你可以通过这样来理解: 第一个示范写成Javascript是这样的

1setFaction.Entropy();

第二个是

1addRank(1);

可用Function大全

Faction相关Function

setFaction:FACTION_ID

设置Faction:

addRank

增加Rank并发送通知邮件:

addRankSilent

增加Rank但不发通知邮件:

addRankFaction:FACTION_ID

为指定Faction增加Rank:

状态操作类Function

addFlags:flagname,...

添加Flag(s):

removeFlags:flagname,...

删除Flag(s):

loadConditionalActions:PATH_TO_ACTION

加载Action:

系统操作类Function

flashUI

让UI闪一下.

changeSong

根据参数值更换音乐:

playCustomSong:PATH_TO_SONG

淡入播放自定义音乐:

playCustomSongImmediatley:[PATH_TO_SONG]

立即播放自定义音乐:

Labyrinths(DLC)独有Function

changeSongDLC

根据参数值更换Labyrinths(DLC)的音乐:

defAttackAircraft

炸飞机. 如果Node ID为dair_crash的节点具有<AircraftDaemon>守护进程, 则将它的FlightSystems/747FlightOps.dll文件删除并且重载固件.

注意! 这个Function执行后会在Terminal报错, 但是该错误不会影响游戏. 你可以通过cleanTerminal将报错清除.