Ergebnis 1 bis 5 von 5

Thema: Problem mit Entity.GetName()

  1. #1

    Problem mit Entity.GetName()

    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

  2. #2

    Standard AW: Problem mit Entity.GetName()

    Nu aber:

    Das sollte Abhilfe schaffen.

    Code:
    local getclose = nil
    
    for k, v in pairs( ents.FindByName( "monster_generic" ) ) do
        if v:IsValid() then
            getclose = v:GetName()
        end
    end
    du solltest in variablen namen keine Zahlen verwenden, dass kommt nicht so gut!


  3. Folgender Benutzer sagt Danke zu Pac_187 für den nützlichen Beitrag:


  4. #3

    Standard AW: Problem mit Entity.GetName()

    Zitat Zitat von Pac_187 Beitrag anzeigen
    Nu aber:

    Das sollte Abhilfe schaffen.

    Code:
    local getclose = nil
    
    for k, v in pairs( ents.FindByName( "monster_generic" ) ) do
        if v:IsValid() then
            getclose = v:GetName()
        end
    end
    Danke, klappt aber leider auch nicht.
    Keine errors, allerdings printet der mir auch nichts in den chat-bereich.

    Und wieso eigentlich ents.FindByName? Monster_generic ist der classname, nicht der targetname.

    Und wozu ist das "local getclose = nil" gut?

    Zitat Zitat von Pac_187 Beitrag anzeigen
    du solltest in variablen namen keine Zahlen verwenden, dass kommt nicht so gut!

    Wusste ich nicht; beschäftige mich noch nicht so lange mit lua, aber danke für den Tipp.

    MfG,
    Silver

  5. #4

    Standard AW: Problem mit Entity.GetName()

    Irgendwie komme ich hier voll durcheinander,
    ist wohl zu spät

    Versuch es mal mit ents.FindByClass( "monster_generic" )

  6. #5
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard AW: Problem mit Entity.GetName()

    Clientside oder Serverside?
    Clientside hat nämlich kein Entity.GetName.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •