本帖最后由 秋风残叶 于 2022-6-6 22:54 编辑

Denizen新手教程
Denizen Beginner's Guide

译者按
Denizen是一款功能非常强大的脚本引擎类型的服务端插件,如果您对Denizen还不了解请参考这个 站内搬运帖
Denizen虽然功能强大,但学习起来较为复杂,无编程基础的新人想要入门总是十分不易。在以前,Denizen只提供了用来查阅变量/脚本的参考文档,甚至连个入门教程都没有,这更让新手入门雪上加霜。
本插件的搬运者摸索了插件脚本的基本用法,并在搬运帖中写了少量教程,写的十分外行且不系统,但就算是这样的内容也确实帮助了一些服主,帮助他们燃起对Denizen脚本的兴趣,搬运者十分感谢他们的支持。
现在,想必作者团队也发现了插件入门不易的问题,现改版了旧版的 Denizenscript论坛 并逐步推出了浅显易懂的入门教程,Denizen的搬运者立刻着手于本教程的翻译工作,现发布本译文。

秋风残叶


本教程总共9个大章节,您现在阅读的是第3大章节
基础篇
The Basics

注意:《基础篇》按照作者原定计划分为12小章节,但作者进度拉胯,目前只完成部分小章节(参下文)
译者目前已跟进作者之进度



目录


本部分内容会帮助你理解Denizen提供的所有基础功能,阅读这篇内容之前请务必首先阅读前面的“迈出第一步”内容,如果你不理解本部分教程中的指令(command)或者变量(tags),请首先阅读“迈出第一步”!

相信阅读到这里的你应该已经有了一部分基础知识,接下来的教程内容不再会按照手把手的模式进行教学,因为我们默认你已经有能力写一些简单的脚本了。

请记住:书读百遍不如实做一遍,你需要将以下教程里提供的脚本复制下来,自己运行一次,从而积累相关脚本的经验,这非常重要。

  • 指令if
  • 短期存储——定义(definitions)
  • 长期存储——标签(flags)
  • 机制与属性(Mechanisms And Properties)
  • 再来一遍——循环(loops)
  • 玩家指令
  • 队列系统(queue system)
  • 脚本和变量,本为一家——指代型脚本 (作者没写完)
  • 我已经通关了基础篇!

注意:本部分共12小章节,其中已完成的共8小章(1、2、3、4、5、6、8、12),没写完的共1小章(10),其余则一点没动。



指令if


什么是指令if?


一条包含if的指令应该长啥样?


条件



把条件组合起来


If的最常用之处


If……Else?


Else指令长啥样?


第3种结局,第4种结局……更多结局!


Else if指令该咋写?


分支套分支,结局套结局


再延伸一点


相关的参考文档



短期存储——定义(definitions)


定义(definitions)是什么?


“定义”如何使用?



基础使用方法


所以define的优势在哪?


短期存储?


修改定义


创建定义的其它方法


相关的参考文档



长期存储——标签(flags)


在上一章节的教程中我们学到了短期存储——定义的相关知识,在本章节中你将学到新知识:标签(flags)
(译者注:本篇内容中objects官方应该翻译为“对象”,但是译者觉得翻译为“依附物”更贴切。)

什么是标签?


标签的基本用法


标签和依附物(Objects)


说了这么多,标签有啥用处?


我有标签!你也有吗?


标签是Denizen的核心


“永久”


标签过期


标签还有什么别的依附物?


进阶教程-标签与映射表


需要被限制的标签名称


更多存储内容


相关的参考文档



机制与属性(Mechanisms And Properties)


什么是机制(Mechanisms)?


指令adjust


指令adjustblock


如何使用adjust修改物品


修改定义


属性(Properties)


相关的参考文档



再来一遍——循环(loops)


什么叫“再来一遍”(loops)


指令repeat


指令foreach


指令while


停止循环


下个循环


简单的范例 (内容过期)


相关的参考文档



玩家指令


玩家指令(Player Commands)是什么?


指令基本结构


玩家指令参数


添加Tab补全


不要信任玩家


让我看看你的权限


相关的参考文档







第7小章节作者尚未完成。




队列系统(queue system)


概览



队列是什么?



从/ex指令讲起



脚本例子



队列,互相独立



队列,是临时的



队列,是独特的



队列,是瞬时的



队列不是一定和脚本挂钩



那个队列在运行吗?



Denizen足够快!



相关的参考文档






第9小章节作者尚未完成。




脚本和变量,本为一家——指代型脚本


注意:这一章内容作者目前标注为PARTIAL,即“没写完”

译者注:原文procedure scripts我目前暂时翻译为“指代型脚本”

简单的范例


相关的参考文档






第11小章节作者尚未完成。





我已经通关了基础篇!


我已经通关了基础篇!


我想制作出基于NPC的任务/商店/对话系统


我想成为脚本大师,并用脚本完全掌控服务器


我只是想给服务器添加一些新机制而已






来自群组: PluginsCDTribe