【问题标题】:Lua UI Text == multiple string's with or'sLua UI Text == 多个带有 or 的字符串
【发布时间】:2022-01-16 09:20:05
【问题描述】:

现在我对 lua 真的很陌生,需要一些帮助 这个脚本检查播放器 UI 上的一些文本,如果它等于一件事,它就可以工作,例如:game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "UNIVERSELORD" 但是如果我添加 or game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "UNIVERSELORD" or "TANKTOP" 则不起作用,无论如何它最终都会这样做,我不知道为什么,如果我只输入一个名字,它会起作用,我将不胜感激,谢谢!

【问题讨论】:

    标签: arrays string lua


    【解决方案1】:

    由于缺乏详细信息,您在几天前已经拥有same question closed。不清楚为什么您要在文本中添加“或”,因此您需要清楚地解释并提供一个示例,说明这种用法有意义的上下文。

    就“或”语句而言,它不会产生你想要的结果,因为它返回的第一个结果是非false,所以当你有1 or 2表达式时,结果是@ 987654325@,因为它是从左到右评估的,这是一个非false 结果。同样,在您的情况下,表达式"UNIVERSELORD" or "TANKTOP" 被评估为"UNIVERSELORD",因为它是遇到的第一个非false 值。

    很遗憾,没有人可以告诉您将其更改为的内容,因为关于您的目标的问题中没有足够的细节。可能是XY Problem

    [更新] 根据您的评论,您需要将 or 拆分为两个完整的比较:game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "UNIVERSELORD" or game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "TANKTOP"

    【讨论】:

    • 我理解你的意思,但它实际上与 if 语句一起使用,而它们都不是真的,我不明白
    • 您的示例中没有 if 语句,所以我不知道该告诉您什么。这就是我回答的重点,您需要提供更多详细信息和一些背景信息,因为不清楚您要做什么。
    • ``` if (game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "UNIVERSELORD" or "TANKTOP") 然后 getgenv().Spinloop = false print("已停止!") 返回 0; end ``` 以下是上下文的所有代码
    • NullTopdog#9865 如果你想要更多的上下文是我的不和谐
    • 更新了答案并为您修复。您需要更清楚并提供更完整的示例。
    【解决方案2】:

    在 Lua 中,任何不是 nilfalse 的值都被认为是 true。

    所以在

    if (game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text == "UNIVERSELORD" or "TANKTOP") then
      getgenv().Spinloop = false print("Stopped!") return 0;
    end 
    

    "TANKTOP" 是一个字符串,因此是一个真值。

    or-ing 任何具有真值的东西总是真。所以game:GetService("Players").LocalPlayer.PlayerGui.Main.Border.ClassLabel.Text 是否等于"UNIVERSELORD" 并不重要。结果总是正确的。因此,无论文本值如何,始终满足您的 if 条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 2020-03-20
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多