Roblox中如何通过按下键盘指定按键杀死自己的玩家角色
代码错误原因
IsKeyDown是UserInputService的实例方法,不能直接全局调用,必须通过你提前获取的UserInputService对象调用- Lua语法中判断两个值相等需要用
==,你写的单个=是赋值操作,无法实现判断逻辑 - 现有逻辑仅会在脚本初始化时运行一次,没有绑定输入事件,按下按键时不会触发对应执行逻辑
player变量未定义,也没有做角色加载校验,运行时会直接抛出空引用错误remove()方法已经被Roblox废弃,官方推荐统一使用Destroy()销毁实例
可用实现方案
将以下代码放入StarterPlayerScripts目录下的LocalScript中即可实现按分号键自杀的效果:
local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer UserInputService.InputBegan:Connect(function(input, isGameProcessed) -- 过滤游戏已占用的输入(比如聊天输入时不会触发功能) if isGameProcessed then return end if input.KeyCode == Enum.KeyCode.Semicolon then local character = localPlayer.Character -- 角色未加载时直接跳过避免报错 if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then -- 直接修改生命值是最稳妥的角色销毁方案 humanoid.Health = 0 end end end)
内容的提问来源于stack exchange,提问作者Axer101
相关产品推荐
相关产品推荐

