我目前正在为自己的游戏使用的武器遇到一些问题。该武器不是工具,而是连接到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)
问题是我可以装备这种武器,但是当装备好之后,我将无法使用它进行攻击。 希望能有所帮助。预先感谢!
答案 0 :(得分:0)
在您显示的代码中,没有部分或部分代码实际将isEquipped设置为true。您应该将此值绑定到tool.Equipped
事件。
如果您想了解更多有关此的信息,建议您访问Roblox Wiki。
还,您使用的是LocalScript还是脚本?如果您使用的是LocalScript,则应将RemoteEvent用于影响其他客户端的事情,例如声音,设置部件的属性,创建部件等。有关此Client-Server通信模型的详细信息,请参见Roblox Wiki。
另外,程序启动时pause3
的值是多少?您赋予此变量什么值?自程序启动以来,应将其设置为false,否则您将无法进行攻击。