Roblox if 语句未运行

Posted

技术标签:

【中文标题】Roblox if 语句未运行【英文标题】:Roblox if Statement not running 【发布时间】:2019-03-05 21:01:55 【问题描述】:

我想知道是否可以通过我测试的这个小脚本获得一些帮助。 出于某种原因,if 语句未执行,这意味着即使值不等于 Rinzler,该函数也不会运行。 charData 是一个具体的 StringValue。

local charData = script.Parent.Data.CharacterData
local active = game.Workspace.Part

function change()
    if not charData.Value == "Rinzler" then
        charData.Value = "Rinzler"
        print("Character has changed to Rinzler.")
    end
end

active.Touched:Connect(change)

无论我做什么,"Character has changed to Rinzler" 都不会在控制台中打印。

【问题讨论】:

【参考方案1】:

问题出在if not charData.Value == "Rinzler"

not 运算符在运算符优先级列表中的优先级高于 ==。 将该代码更新为:

function change()
    if charData.Value ~= "Rinzler" then
        charData.Value = "Rinzler"
        print("Character has changed to Rinzler.")
    end
end

【讨论】:

感谢@Vlad 的回答! @Starflyer 这是您问题的答案吗?如果是这样,请将其标记为“已接受”,以便他因回答您的问题而获得声誉奖励。 (它也会给你一点!)

以上是关于Roblox if 语句未运行的主要内容,如果未能解决你的问题,请参考以下文章