Roblox如何解决If语句?

时间:2018-09-22 16:51:37

标签: lua roblox

我目前正在为自己的游戏使用的武器遇到一些问题。该武器不是工具,而是连接到StarterCharacter。我编写了以下脚本来检查武器是否配备,然后让玩家攻击。

Mouse.Button1Down:connect(function()
    if isEquipped == true then
        if not pause then
            pause = true
            anim1:Play()
            wait(0.1)
            trail.Enabled = true
            wait(0.6)
            trail.Enabled = false
            pause = false
        end
    end 
end)

handle.Touched:connect(function(hit)
    if isEquipped == true then
        if not pause2 then
            pause2 = true
            if Mouse.Button1Down then
                if humanoid and humanoid.Health > 0 and hit and not hit:isDescendantOf(person) then
                    local target = hit.Parent:FindFirstChild("Humanoid")
                    if target and target.Health > 0 then
                        target:TakeDamage(damage)
                        wait(0.7)
                        pause2 = false
                    end
                end
            end
        end
    end
end)

game.Players.LocalPlayer:GetMouse().KeyDown:Connect(function(KeyPressed)
        if KeyPressed == "e" then
            if not pause3 then
                pause3 = true
                if toggle == false then
                    toggle = true
                    isEquipped.Value = true
                    fake1.Transparency = 1
                    fake2.Transparency = 1
                    disc1.Transparency = 0
                    disc2.Transparency = 0
                    wait(0.7)
                    pause3 = false
                else
                    pause3 = true
                    toggle = false
                    isEquipped.Value = false
                    fake1.Transparency = 0
                    fake2.Transparency = 0
                    disc1.Transparency = 1
                    disc2.Transparency = 1
                    wait(0.7)
                    pause3 = false
            end
        end
    end
end)

问题是我可以装备这种武器,但是当装备好之后,我将无法使用它进行攻击。 希望能有所帮助。预先感谢!

1 个答案:

答案 0 :(得分:0)

在您显示的代码中,没有部分或部分代码实际将isEquipped设置为true。您应该将此值绑定到tool.Equipped事件。

如果您想了解更多有关此的信息,建议您访问Roblox Wiki。

还,您使用的是LocalScript还是脚本?如果您使用的是LocalScript,则应将RemoteEvent用于影响其他客户端的事情,例如声音,设置部件的属性,创建部件等。有关此Client-Server通信模型的详细信息,请参见Roblox Wiki。

另外,程序启动时pause3的值是多少?您赋予此变量什么值?自程序启动以来,应将其设置为false,否则您将无法进行攻击。