跳转至内容

ETF 映射/概述

来自维基教科书,开放的书籍,开放的世界

ETF 实体旨在作为现有实体的扩展,而不是替换现有实体(至少,尽可能地)。目前,它们既不完整,又可能存在错误。我们希望添加的许多功能尚未添加,并且某些实体类型与扩展无法很好地共存。

最初,实体 info_notnull、func_goalitem、func_commandpoint 和 func_goalinfo 在没有给出等待字段的情况下默认为 30 秒等待。此默认等待时间已从 Beta1f 中移除,以停止一些严重问题并使实体更加合理。如果您的地图基于此默认等待时间,则需要重新编译。

一些 worldspawn 字段已更改,以使其更短。Q3 无法解析长键,并在编译时给出错误。最后,ammo_bullets 现在称为 ammo_nails,这更合乎逻辑。

您现在可以使用 mapinfo 文件在整个地图或指定的游戏索引中设置大气和类名称、名称、团队名称、盟军团队等。

基本原理

[编辑 | 编辑源代码]

本质上,每个实体都具有一个“状态”,如下所示

不可见 此实体不可触发,也不可见(尽管这有一些奇怪的副作用,例如不可见的门仍然会阻止人们穿过它们)。
已禁用 此实体不可触发。
非活动 此实体处于空闲状态(可以认为是“可触摸的”)。对于目标项目,这意味着“回到基地”。
活动 此实体处于活动状态,并且(根据其设置),将在设定的时间后返回非活动状态。对于目标项目,这意味着“躺在地上”。
携带 此状态仅适用于目标项目。

当玩家成功触摸实体时,实体将尝试进入携带/活动状态。在设定的时间后,活动实体将自动返回非活动状态。

实体还可以通过使用<state>target 键触发其他实体,从而形成一个“级联”触发,例如,在旗帜实体上,您可能具有“carriedtarget” “alarms” - 这将激活所有“alarms”实体,当旗帜被携带时。

在触发实体之前会检查一组标准(尽管触发器也可以“强制”忽略标准,稍后会详细介绍)。

除此之外,还可以给玩家“奖励”,给团队评分,以及播放消息和声音。

它能做什么

[编辑 | 编辑源代码]
  • 它可用于创建复杂的地图效果等(想想军团要塞),以及一定程度的“脚本”。

它不能做什么

[编辑 | 编辑源代码]
  • 它不能作为一种语言本身使用 - 它不会维护任何变量,也不会解析任何脚本。这可能在将来的版本中可用,但现在还不行(此外,在脚本语言中也会存在性能问题)。
华夏公益教科书