SAO Utils 2 自定义脚本实例:新邮件通知

实验目的
在 SAO Utils 2 版本更新 1.3.2 中 Mail Box 新加入了「未读邮件」挂件,马上就有玩家提出了“希望接收到新邮件时播放通知音效”的要求……为了避免添加一个小小的功能让玩家等一个遥遥无期的更新,更是为了提高 SAO Utils 的可定制性,这正是安利「自定义脚本」让用户自给自足的好时机!

实验步骤
配置过程十分简单,可以直接改造「未读邮件」挂件:

1. 右键挂件 - HUD 自定义挂件 - 进入编辑模式...
2. 在弹出的编辑面板中,点击数据选项把「邮件数据:未读邮件」更换成「其他数据:自定义脚本」

3. 在数据选取对话框右侧的更新设置中,分别把「邮箱数据:未读邮件」和「音效动作:消息通知」添加到输入数据和输入动作
4. 在输出的「初始化代码」输入:
5. 在「更新代码」输入:
点击保存就大功告成了。
实验原理
当每次数据更新时,读取输入数据【0】 的结果到 `messages` 变量。由于我们已经把「邮箱数据:未读邮件」添加到输入数据,此时 `messages` 变量储存的是当前未读邮件数量。
检查未读邮件数量是否为零,再检查是否多于上一次读取的未读邮件数量,如果条件皆满足,则执行输入动作【0】。同样,由于我们已经把「音效动作:消息通知」添加到输入动作,此时执行 `actions[0].execute()` 函数将会播放通知音效。
把当前未读邮件数量 `messages` 保存到 `local.lastMessages` 以备下次更新时在第 2 步比对使用。
把当前未读邮件数量作为脚本数值的「当前值」输出。
实验结论
SAO Utils 2 中搭载的「自定义脚本数据」和「自定义脚本动作」均支持通过 JavaScript 对输入数据和动作进行处理,并且可以按照自己所需要的效果控制代码逻辑,非常推荐给动手能力强、有独特需求的玩家使用。
关于脚本的使用,有任何不明白的地方欢迎在评论区提出和讨论,把你的其实妙想和压箱底代码分享给大家~