如何在Lua中使用多个If?

时间:2016-12-31 18:21:59

标签: lua roblox

我正在尝试在我的ROBLOX地方制作一个UFO,并且想要创建一个在UFO通过头顶时播放音频的系统。我创建了一个部件,在部件中插入了一个音频,然后在部件中放置了一个脚本。所以它看起来像:

本部>音频 - >脚本

我计划系统在触摸人形机器人时进行注册,如果部件速度超过每秒300个螺柱,我希望它能播放音频(最好是音频只播放给人(s) )部分触及了)所以我写了一个脚本如下:

while true do
if script.parent.parent.Velocity.Magnitude>299 then 
    script.Parent:play()
    wait(5)
    script.Parent:stop()
else
    wait()
end
wait()

正如你所看到的那样,我错过了关于被触摸的人形机器人的部分,但我不知道该如何写。我是脚本新手,我不知道这些命令的正确上下文(?)。非常感谢帮助。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用Lua的逻辑运算符:'和','或',' not'是最常用的。在你的情况下,听起来你想做类似的事情:

if (condition1) and (condition2) then
    play_sound()
else
    wait()
end

你也可以"筑巢" if语句:

if condition1 then
    if condition2 then
        do_something()
    end
end

答案 1 :(得分:0)

除了@ Will的回答,您还可以使用elseif来检查不同的条件。

if (conditionA) then
elseif (conditionB) then
end

如果conditionA为true,则不会检查下一个语句,因此顺序很重要。

while true do
if script.parent.parent.Velocity.Magnitude>299 then 
 if(humanoidIsTouchedd()) then
    script.Parent:play()
    wait(5)
    script.Parent:stop()
 elseif (somethingElseIsTouched())
    doSomethingElse()
 else
    wait()
end
wait()