由于某种原因,我认为错误消息告诉我要么拿走一个括号要么加一个括号,我感到非常困惑。总是告诉我应该有某种东西而不是方括号,或者根据我的更改方式需要一个方括号。 这是代码:
local Ammo = MaxAmmo
local Reloading = false
script.Parent.Equipped:Connect(function(Mouse)
Mouse.Icon = "rbxassetid://1008161057"
local function Reload()
Reloading = true
Mouse.Icon = "rbxassetid://1008161057"
wait(2)
Ammo = MaxAmmo
Reloading = false
Mouse.Icon = "rbxassetid://1008161057"
end
script.Parent.Activated:Connect(function()
if Ammo>0 and not Reloading then
Ammo=Ammo-1
if Mouse.Target.Parent:FindFirstChild("Humanoid") then
if Mouse.Target == ("Head") then
print('head')
Mouse.Target.Parent.Humanoid:TakeDamage(40)
else do
Mouse.Target.Parent.Humanoid:TakeDamage(20)
print('body')
end
end
elseif Reloading == false then
Reload()
end
print(Ammo)
end)
--local Input = game:GetService("UserInputService")
--Input.InputBegan:Connect(function(Key)
--if Key.Keycode == Enum.KeyCode.r and Reloading == false and Ammo~=MaxAmmo then
--Reload()
--end
--end)
end)```
答案 0 :(得分:0)
if Mouse.Target == ("Head") then
print('head')
Mouse.Target.Parent.Humanoid:TakeDamage(40)
else do
Mouse.Target.Parent.Humanoid:TakeDamage(20)
print('body')
end
将end
添加到该do
或将其删除。
要解决此类错误,请计算需要结尾和结尾的所有关键字,并查看您是否获得相同的编号。有文本编辑器可以帮助您解决这个问题
答案 1 :(得分:0)
您应该使用IDE,例如ZeroBraneStudio或IntelliJ社区(与EmmyLua一起使用)
第一期:
if Mouse.Target.Parent:FindFirstChild("Humanoid") then
if Mouse.Target == ("Head") then
print('head')
Mouse.Target.Parent.Humanoid:TakeDamage(40)
else do
Mouse.Target.Parent.Humanoid:TakeDamage(20)
print('body')
end
end
您应该从do
中删除else do
第二个问题:
从这里您将获得“意外的”):
print(Ammo)
end)
这是因为您缺少if Ammo > 0 and not Reloading then
的结尾
生成的代码应如下所示:
local Ammo = MaxAmmo
local Reloading = false
script.Parent.Equipped:Connect(function(Mouse)
Mouse.Icon = "rbxassetid://1008161057"
local function Reload()
Reloading = true
Mouse.Icon = "rbxassetid://1008161057"
wait(2)
Ammo = MaxAmmo
Reloading = false
Mouse.Icon = "rbxassetid://1008161057"
end
script.Parent.Activated:Connect(function()
if Ammo > 0 and not Reloading then
Ammo = Ammo - 1
if Mouse.Target.Parent:FindFirstChild("Humanoid") then
if Mouse.Target == ("Head") then
print('head')
Mouse.Target.Parent.Humanoid:TakeDamage(40)
else
Mouse.Target.Parent.Humanoid:TakeDamage(20)
print('body')
end
elseif Reloading == false then
Reload()
end
print(Ammo)
end
end)
--local Input = game:GetService("UserInputService")
--Input.InputBegan:Connect(function(Key)
--if Key.Keycode == Enum.KeyCode.r and Reloading == false and Ammo~=MaxAmmo then
--Reload()
--end
--end)
end)