我一直收到这个错误消息,但我不知道是什么

好的,我制作了一个用Lua语言编写的roblox脚本,可以随机产生一个武器,但我一直收到如下错误消息:

script.Parent.MouseButton1Click:connect(function(player)
   local BackPack = player.BackPack
   wait(0.5)
   if player.Leaderstats.Money >= 100 then
      local randomizer = math.random(0,10)
      if randomizer == 1 then
         local knife1 = game.Lighting.CookieKnife:Clone()
         knife1.Parent = BackPack
      elseif randomizer == 2 then
         local knife2 = game.Lighting.Cleaver:Clone()
         knife2.Parent = BackPack
      elseif randomizer == 3 then
         local knife3 = game.Lighting.RustyCleaver:Clone()
         knife3.Parent = BackPack
      elseif randomizer == 4 then
         local knife4 = game.Lighting.WhiteCleaver:Clone()
         knife4.Parent = BackPack
      elseif randomizer == 5 then
         local knife5 = game.Lighting["Sparkley Knife"]:Clone()
         knife5.Parent = BackPack
      elseif randomizer == 6 then
         local knife6 = game.Lighting.CommonKnife:Clone()
         knife6.Parent = BackPack
      elseif randomizer == 7 then
         local knife7 = game.Lighting.CommonKnife:Clone()
         knife7.Parent = BackPack
      elseif randomizer == 8 then
         local knife8 = game.Lighting.CookieKnife:Clone()
         knife8.Parent = BackPack
      elseif randomizer == 9 then
         local knife9 = game.Lighting.ExpensiveKnife:Clone()
         knife9.Parent = BackPack
      elseif randomizer == 10 then
         local knife10 = game.Lighting.CookieKnife:Clone()
         knife10.Parent = BackPack
      end
   end
end)

好的,我制作了一个用Lua语言编写的roblox脚本,可以随机产生一个武器,但我一直收到如下错误消息:

12:40:50.574 - Players.Player1.PlayerGui.Shop.Main.Frame.RCK.randomweapons2:2: attempt to index global 'player' (a nil value) 12:40:50.575 - Stack Begin 12:40:50.576 - Script 'Players.Player1.PlayerGui.Shop.Main.Frame.RCK.randomweapons2', Line 2 12:40:50.576 - Stack End

点赞
用户7939932
用户7939932

.MouseButton1Click 事件不会把 player 作为参数传递,因此在之前定义 playergame.Players.LocalPlayer,这样就可以避免所面临的问题,因为定义的 player 是一个空值,因为事件没有传递参数。如果你的原因是因为它是表面/广告牌 GUI,那么只需将 GUI 父级设置为玩家的 PlayerGui (放入 StarterGui 中),并将 GUI 的装饰者设置为以前所在的部件。以下是修改过的代码:

local player = game.Players.LocalPlayer
script.Parent.MouseButton1Click:connect(function()
   local BackPack = player.BackPack
   wait(0.5)
   if player.Leaderstats.Money >= 100 then
      local randomizer = math.random(0,10)
      if randomizer == 1 then
         local knife1 = game.Lighting.CookieKnife:Clone()
         knife1.Parent = BackPack
      elseif randomizer == 2 then
         local knife2 = game.Lighting.Cleaver:Clone()
         knife2.Parent = BackPack
      elseif randomizer == 3 then
         local knife3 = game.Lighting.RustyCleaver:Clone()
         knife3.Parent = BackPack
      elseif randomizer == 4 then
         local knife4 = game.Lighting.WhiteCleaver:Clone()
         knife4.Parent = BackPack
      elseif randomizer == 5 then
         local knife5 = game.Lighting["Sparkley Knife"]:Clone()
         knife5.Parent = BackPack
      elseif randomizer == 6 then
         local knife6 = game.Lighting.CommonKnife:Clone()
         knife6.Parent = BackPack
      elseif randomizer == 7 then
         local knife7 = game.Lighting.CommonKnife:Clone()
         knife7.Parent = BackPack
      elseif randomizer == 8 then
         local knife8 = game.Lighting.CookieKnife:Clone()
         knife8.Parent = BackPack
      elseif randomizer == 9 then
         local knife9 = game.Lighting.ExpensiveKnife:Clone()
         knife9.Parent = BackPack
      elseif randomizer == 10 then
         local knife10 = game.Lighting.CookieKnife:Clone()
         knife10.Parent = BackPack
      end
   end
end)

希望这可以帮助你!

2017-04-29 08:21:16