Agency-Elevator:让多层建筑真正可用
Agency-Elevator 将任何 GTA V 建筑变成带有合适动画、声音和脚本钩子的多层功能空间。
Agency Scripts
Agency Scripts 创始人兼首席开发者
GTA V中的多层楼问题
GTA V 拥有令人惊叹的高楼,几乎没有真正可用的楼层。传送玩家在楼层间切换感觉廉价且破坏沉浸感。MLO 楼层需要昂贵的定制内饰,且通常在过渡处破坏物理效果。Agency-Elevator 是我们的解决方案:一个真实的电梯机制,感觉像电梯,适用于任何建筑,并且能干净地集成到您的服务器脚本生态中。
感觉如何正确
电梯有三个阶段:进入动画、带有细微摄像机移动和环境音的上升,以及目的楼层的开门。整个过程持续六秒,既真实又不显等待。声音设计很重要:柔和的机械嗡嗡声,楼层的轻铃声。玩家很少有意识地注意这些细节,这正是设计的目的。
配置新电梯
添加新电梯只需五行配置:入口坐标、每层目的地坐标、楼层标签、可选权限检查函数。无需MLO编辑,无需室内流式处理技巧。粘贴坐标,分配楼层,完成。已有服务器管理员在不到十分钟内搭建了12层办公楼。
真正有效的访问控制
基于工作的楼层访问权限是一级的。大堂是公共区域,5-10层需要建筑经理钥匙卡,顶层公寓需要特定的角色ID。这些规则即时评估任何框架的玩家数据,无需等待数据库查询,从而不会延迟电梯切换。
为什么它是一个独立的热门选择
Agency-Elevator is framework-agnostic out of the box. It doesn't care if you're running QBCore, ESX, or a standalone custom stack, the permission hooks are pluggable functions, not framework imports. This is why it's been one of our most downloaded scripts across all three communities.
安装与设置
Agency-Elevator has no database dependency for basic operation. Download from Tebex, drop the folder into your resources directory, and add ensure agency-elevator 到 server.cfg. 电梯定义、入口坐标、楼层目的地、标签和访问规则,全部存放于 config.lua.
默认配置包含多个可访问原版 GTA V 建筑的电梯定义(FIB 大厅、迷宫银行大厦入口、公寓楼入口)。用服务器自定义建筑坐标替换或补充。每个定义配置时间不足五分钟。
配置选项
该 config.lua 涵盖电梯行为和访问控制:
- 电梯定义,电梯数组,每个包含名称、入口触发坐标和半径,以及楼层目的地数组。
- 楼层目的地,每层楼有坐标、显示标签和可选访问函数。
- 访问功能,每层一个 Lua 函数,接收玩家 src 并返回 true/false。用于检查职业、物品或角色 ID 条件。
- 过渡时长,上升/下降动画持续时间,单位毫秒。默认:6000(6秒)。
- 环境音效,切换电梯机械嗡嗡声和楼层提示音。默认:启用。
- 摄像头行为,过渡期间细微摄像机倾斜以产生运动效果。默认启用,可配置强度。
- 界面风格,楼层选择面板视觉(简约版与带楼层描述的详细版)。
框架兼容性
Agency-Elevator is fully standalone by design. The access control functions in your config can call any framework's player data, QBCore, ESX, or custom. No framework imports live in the base resource. This is why it's been one of the most consistently downloaded Agency scripts across all three server communities: it works without any special setup regardless of your stack.
为什么这对角色扮演很重要
垂直空间是 GTA V RP 中最被忽视的维度之一。地图上有数十栋令人印象深刻的高楼和多层室内空间。没有电梯,这些空间要么无法进入,要么通过破坏沉浸感的传送访问。Agency-Elevator 打开了垂直空间的角色扮演,而无需令人不适的传送切换。
六秒的过渡时间不是填充,而是有意的节奏。角色扮演中的电梯乘坐是微型场景。侦探和嫌疑人同时乘电梯到12楼,有六秒的强制近距离接触。商业伙伴乘电梯去开会,有六秒的偶发对话时间。这些短暂互动是RP的质感,工作电梯自然创造它们,而不是跳过。
访问控制层支持构建层级RP。一个企业大楼,大堂对外开放,第5至20层需要员工钥匙卡,行政楼层需要特定角色,这就是具有空间结构的组织。当物理访问权限与组织访问权限匹配时,建筑物成为真正的角色扮演领地,而不仅仅是背景。
自定义MLO室内是此脚本最具价值的地方。拥有自定义警察局MLO、医院MLO或自定义摩天大楼商业区的服务器,可以让这些室内的每一层都可访问且可导航,无需客户端打包新的流式范围。电梯在现有室内区域之间的过渡处理其余部分。
常见问题
两个玩家能否同时使用同一部电梯前往不同楼层?
是的。每个玩家的电梯交互是独立的。如果玩家A从同一入口呼叫电梯到5楼,玩家B呼叫到12楼,两个过渡会同时在各自客户端播放。电梯没有模拟容量或等待时间,是每玩家的过渡,不是共享的物理对象。
我们能否为电梯添加NPC操作员或数字键盘道具?
触发区不需要特定道具,基于坐标。您可以在入口坐标处放置任意道具(键盘、接待台、NPC),使用服务器的道具放置工具。玩家进入触发半径时电梯交互触发,无论物理上放置了什么。
是否支持自定义室内流资源中的电梯?
是的。室内坐标在配置中与室外坐标工作方式相同。确保使用室内空间坐标(即游戏内处于室内时获得的坐标),而非建筑物外部坐标。如果您的室内使用自定义室内ID,在楼层定义中传入,Agency-Elevator会在过渡时将玩家加载到正确室内。
电梯能否在某些RP事件期间完全锁定?
使用 exports['agency-elevator']:LockElevator(elevatorName, reason) 来自任何服务器脚本。锁定期间尝试使用电梯的玩家会看到“当前不可用”消息。使用解锁 exports['agency-elevator']:UnlockElevator(elevatorName)用于脚本事件,当不受控的地板访问会破坏场景时使用。
需求
- FiveM 服务器(任意框架或独立)
- 拥有有效 Agency-Elevator 许可证的 cfx.re 账户
- 基础操作无数据库依赖
- 无外部资源依赖