跳转到内容

Trainz/规则

来自维基教科书,开放的书籍,开放的世界
(从 Trainz/rules 重定向)
logo
Trainz 培训基础

Trainz 入门 - 分步说明
TOC | 入门乐趣 | AM&C | 创作 | 书中参考文献 ORP 参考文献:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本
 术语表
 HKeys-CM
 HKeys-DVR
 HKeys-SUR
 HKeys-WIN
 鼠标使用
 符号


司机指令

[编辑 | 编辑源代码]
另请参见:符号的 规则,以及术语表的 规则 以及主要主题:司机指令游戏会话编辑器.
司机指令是规则类别,可能首先在 司机游戏会话 中看到,封装在一个小的图形矩形中,带有代表(代表)Trainz 可扩展 GameScript 语言中可重入脚本的小图标。大多数 AI 司机指令都很简单易懂。前往这个或那个轨道标记,导航到这样或那样的业务地点,在那里装载或卸货,并等待某个事件,以及类似的任务。我们希望在 司机指令 中深入介绍这些指令,但在此提及它们,以便新的 Trainz 用户能够意识到它们与游戏会话中其他地方出现的会话规则非常相似。最大的区别是司机指令是排队的,这意味着它们的执行是线性的——第一个规则必须执行,然后下一个规则才能有机会控制;必须完成该规则,然后第三个规则才能开始。像棒球中的“在板凳上”一样,这意味着您还无法影响游戏。必须轮到您上场才能获得机会!

规则概述

[编辑 | 编辑源代码]

许多 会话规则(正式名称)与较小的 “司机指令” 列表的不同之处在于它们接受输入或指令(包括动态定义的运行时评估值),因此它们可以与 Trainz 世界(地图 + 创建的游戏会话)的虚拟现实进行交互。它们提供或使用内置的 软件“钩子”(变量和对服务的可重入调用),允许在游戏会话中进行动态操作和交互式行为。测试条件的规则是“门卫”——一个需要触发器或 TRUE 条件才能满足的代码块,在触发器报告 TRUE 状态之前,任何缩进(在(之后)该代码块下的规则都无法获得控制,直到触发器报告 TRUE 状态,然后才允许条件流程进入触发器规则下的规则。

在幕后,框架、任务、测试和评分由由 游戏会话编写者 CC 定义的交互式 规则 处理。可以使用 “司机指令” 的列表在游戏会话的“初始化部分”中定义 [这些指令使人类可以向游戏会话中的 AI 司机发出司机指令规则,或将选择限制在特定的几个指令中],因此在驾驶不同的游戏会话时将有所不同。

(其他初始化示例:游戏会话开始时间 [晚上、白天、小时]、天气和变化性、脱轨 [从容易到现实] 以及司机模式规范 [用户选择,或固定驾驶室模式或 DCC 模拟]
各种规则代表程序流程控制、状态报告和测试组件,以及向编写游戏会话的 CC 显示输出。DLS 上有 1,000 多条各种类型的规则。启动内容管理器,自己看看吧。
  • 对于游戏会话编写者来说,脚本 是构建块,并拥有允许与 虚拟世界 地图元素进行动态数字交互的“钩子”。
     • 会话规则 通常允许定义和初始化与运行时软件相连的其他参数的值。
     • 对于 规则编写者 CC 来说,规则是一个独立的资产,它被编写来满足一般需求或允许在游戏会话的游戏玩法中动态地执行某种任务。这些规则通常与 CC 或其同事制作的特定资产一起使用更有效。它们可以在 CM 中按类别排序。
  • 脚本可以被视为一个子程序,它在每个 实例 中可以采用游戏会话运行时软件所需的各种定义或关联。这些代码定义的钩子是将路线或列车编组元素与状态测试或轨道值(例如动态游戏玩法中的评分)相关联所需的。在 Surveyor 中创建司机游戏会话时,以及在其 游戏会话编辑器 API 中,会指定规则及其参数的包含。
     • 司机指令 规则是放置在 AI 司机 的指令队列(列表)中的指令,按该顺序执行。

 

规则编辑
许多规则在“编辑”(编程、定义、初始化或指定 可能会更准确,但“编辑”是 游戏会话编辑器 按钮的标签)后,或在游戏会话序列中遇到后,会打开一个条目小程序。编辑规则是游戏会话设计者/编辑者 CC 定义要传递到 司机 GUI 模块 中的运行时接口中的参数的方式,可能是为了直接更改 Trainz 地图 中的某些元素(例如,道岔、信号状态)——或通过设置一个与变量相关联来获取 从地图渲染游戏软件中获取,以便进行软件状态检查,或保持计数器样式的评分。
华夏公益教科书