attempt to index nil with 'Value' in Roblox Studio?
Guten Tag,
Ich habe ein Script in Roblox Studio geschrieben das ein Objekt zerstören soll wenn es auf ein anderes bestimmtes Objekt trifft. Außerdem soll auch noch Geld hinzugefügt werden.
Wenn das Objekt allerdings mit dem anderen Objekt auf einander trifft kommt folgender Error: attempt to index nil with 'Value'
Das ist der Code:
local values = script.Parent.Parent.Parent.Parent.Values
script.Parent.Touched:Connect(function(hit)
if hit.Name == "DropperPart" and hit:IsA("BasePart") then
values.MoneyValue.Value += hit:FindFirstChild("CashValue").Value
hit:Destroy()
end
end)
2 Antworten
Der Fehler "attempt to index null with "Value" tritt auf, wenn du versuchst, auf eine Eigenschaft oder eine Methode eines null-Wertes zuzugreifen. In dem Fall könnte es sein, dass "hit:FindFirstChild("CashValue") null zurückgibt, weil es kein Kind mit dem Namen "CashValue" gibt. Du kannst dies jedoch beheben wenn du überprüft ob "CashValue" existiert, bevor du auf die "Value"-Eigentschaft zugreifst.
local values = script.Parent.Parent.Parent.Parent.Values
script.Parent.Touched:Connect(function(hit)
if hit.Name == "DropperPart" and hit:IsA("BasePart") then
local cashValue = hit:FindFirstChild("CashValue")
if cashValue then
values.MoneyValue.Value += cashValue.Value
hit:Destroy()
end
end
end)
In diesem überarbeiteten Code wird zuerst überprüft, ob “CashValue” existiert (d.h.,
cashValue
ist nicht null). Wenn “CashValue” existiert, wird dann auf seine “Value”-Eigenschaft zugegriffen.
Ohne Roblox jetzt spezifisch zu kennen würde ich vermuten dass
hit:FindFirstChild("CashValue")
Nil liefert. Nil bedeutet meist in diesem Zusammenhang, dass kein Child mit dem Namen "CashValue" existiert.