Hey leutz,
ich hab' hier ein kleines Problem, welches sich einfach nicht lösen lassen will. 
Also, hier ist ein gekürzter (das unwesentliche habe ich rausgeschnitten) Ausschnit der funktion mit der ich Probleme habe, aus einer sent, die ich editiert habe:
Code:
function ENT:GetClosest( Table )
local Closest = 90000000
local Ent = nil
local Pos = self.Entity:GetPos()
if( Table ) then
for k, v in pairs(Table) do
if( v:GetClass() == "monster_generic" ) then
getclos2 = v:GetName()
end
local allplayers = player.GetAll( )
for k,v in pairs ( allplayers ) do
v:PrintMessage( HUD_PRINTTALK, getclos2 );
end
if( v:GetPos():Distance( Pos ) < self.MoveDistance and v:GetPos():Distance( Pos ) > self.MinDistance ) then
if( v:GetPos():Distance( Pos ) < Closest ) then
end
end
end
else
return nil
end
if( Ent ) then
return Ent
else
return nil
end
end
Alles was unter PrintMessage steht könnt ihr ignorieren.
Die Funktion des sents besteht darin, alle umliegenden Entities zu finden, das monster_generic entity zu filtern, und damit dann später etwas zu machen...
Das Problem liegt bei
Code:
if( v:GetClass() == "monster_generic" ) then
getclos2 = v:GetName()
end
(rot markiert)
, denn in der Konsole bekomme ich den Fehler
Code:
entities/sent_schedule/init.lua:128: attempt to call method 'GetName' (a nil value)
.
Allerdings macht dieser Fehler eigentlich keinen Sinn.
Ersetze ich nämlich
Code:
if( v:GetClass() == "monster_generic" ) then
getclos2 = v:GetName()
end
durch
Code:
getclos2 = v:GetClass()
printet er mir ingame alle Entities in den Chat-Bereich, die sich in der Nähe des sents befinden, und dort listet er mir unter anderem auch ein monster_generic auf, also weiß ich, dass er das Entity findet, allerdings verstehe ich nicht, warum die funktion dann nicht funktioniert und mir diesen Error ausgibt...
Hat jemand 'ne Ahnung was falsch ist oder woran es liegen könnte?
MfG,
Silver