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:
Alles was unter PrintMessage steht könnt ihr ignorieren.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
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
(rot markiert)Code:if( v:GetClass() == "monster_generic" ) then getclos2 = v:GetName() end
, 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
durchCode:if( v:GetClass() == "monster_generic" ) then getclos2 = v:GetName() end
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...Code:getclos2 = v:GetClass()
Hat jemand 'ne Ahnung was falsch ist oder woran es liegen könnte?
MfG,
Silver


Zitieren





