Problem mit einer Abfrage.



  • Und zwar geht es um eine Abfrage die einen Gleichen wert abfragt.
    Hier geht es um Spiele Programmierung.

    if (Killer->getLevel() == Killed->getLevel())
    {
         // Unwichtig
    }
    

    Zur besseren Verständnis

    80 kann auch variieren kann auch 15 sein.

    Killer->getLevel() = 80

    Killed->getLevel() = 80

    Mein Problem ist er soll wie hier ausgeführt wird die Level abfragen beider Spieler allerdings soll er +5 und -5 auch zulassen sprich, von 75 bis 85.

    Dies soll immer geschehen auch wenn man Level 30 ist soll er, von 25 bis 35 zulassen ich hoffe mir kann jemand mit meinem Problem helfen.

    Ich danke euch schon mal im Voraus

    MFG#
    Castiel



  • Prüf nicht auf Gleichheit, sondern ob die Differenz zwischen -5 und 5 liegt.



  • Danke für deine schnelle Antwort aber ich würde nicht hier hinein schreiben, wenn ich nicht daran gedacht habe und leider nur nicht das Wissen um dies umzusetzen
    ein Beispiel wäre von Vorteil falls das keine mühe macht. :p

    Bisher sollte er auf Gleichheit Prüfen jetzt soll er + 5 und -5 Level zulassen allerdings hab ich hier keine Ahnung wie ich das machen soll, aus dem Grund schreib ich ja hier rein 😕 😕 😕

    EDIT

    Habe bisher auch nicht mit Differenzen gearbeitet, sondern mit den normalen Vergleichsoperatoren wie.

    < kleiner

    größer
    <= kleiner-gleich
    = größer-gleich
    == gleich
    != ungleich

    MFG

    Castiel



  • Hat sich erledigt ich danke trotzdem für die schnelle Antwort.

    if ((Killer->getLevel() <= (Killed->getLevel() + 3)) && (Killer->getLevel() >= (Killed->getLevel() - 3)))
    {
          // XXXXXX
    }
    


  • Es ginge auch noch

    if (abs(Killer->getLevel() - Killed->getLevel()) <= 3)
    


  • Danke für deine Antwort deine Variante werde ich bei Gelegenheit mal testen.



  • Selten so einen aussagekräftigen code gesehen.

    if(!brain)
     ++brain;
    


  • EOP schrieb:

    Selten so einen aussagekräftigen code gesehen.

    if(!brain)
     ++brain;
    

    Kannst Du Deine Kritik bitte ausführen?



  • @EOP
    Ja, die Benamsung der Variablen ist nicht so toll.
    Der "Nutzfaktor" deines Kommentars ist aber auch wie üblich unterirdisch.
    Wenn dir was nicht passt schreib wenigstens dazu was.



  • EOP schrieb:

    Selten so einen aussagekräftigen code gesehen.

    if(!brain)
     ++brain;
    

    Wenn du nur scheisse zu sagen hast dann lass dein maul zu.

    Ich kann mit Kritik umgehen aber nicht mit Idioten.

    hustbaer schrieb:

    @EOP
    Ja, die Benamsung der Variablen ist nicht so toll.
    Der "Nutzfaktor" deines Kommentars ist aber auch wie üblich unterirdisch.
    Wenn dir was nicht passt schreib wenigstens dazu was.

    DANKE !!!
    Herr im Himmel es gibt sie doch noch die normal denkenden.

    Furble Wurble schrieb:

    EOP schrieb:

    Selten so einen aussagekräftigen code gesehen.

    if(!brain)
     ++brain;
    

    Kannst Du Deine Kritik bitte ausführen?

    Er scheint keine zu haben es muss einfach Leute geben die aus einem normalen Thread eine Flaming Zone machen.

    class Flamer : public PlayerScript
    {
    public:
    	Flamer() : PlayerScript("Flamer") { }
    
    	void OnFlaming(Player *Flamer)
    	{
    		if (Flamer == Flaming)
    		{
    			Flamer->GetBan();
    		}
    	}
    
    };
    
    void AddSC_Flamer()
    {
    	new Flamer;
    };
    


  • EOP schrieb:

    Selten so einen aussagekräftigen code gesehen.

    if(!brain)
     ++brain;
    

    Jo, Dein Code ist ganz schon umständlich.

    brain=true;
    


  • Castiel schrieb:

    Er scheint keine zu haben es muss einfach Leute geben die aus einem normalen Thread eine Flaming Zone machen.

    class Flamer : public PlayerScript
    {
    public:
    	Flamer() : PlayerScript("Flamer") { }
    	
    	void OnFlaming(Player *Flamer)
    	{
    		if (Flamer == Flaming)
    		{
    			Flamer->GetBan();
    		}
    	}
    
    };
    
    void AddSC_Flamer()
    {
    	new Flamer;
    };
    
    class Flamer : public PlayerScript
    {
    public:
    	Flamer() : PlayerScript("Flamer") { }
    //nur, damit er seinen namen sagen kann. da der name anscheinend pro 
    //klasse fest ist, vielleicht besser virtual getName in die Basisklasse tun
    
    	void OnFlaming(Player *Flamer)
    //Nee, wirklich nicht. statt Flamer war this gemeint. 
    	{
    		if (Flamer == Flaming)
    //auch wirklich nicht. this->isFlaming()
    		{
    			Flamer->GetBan();
    //Jetzt auf einmal this übergeben??? meinste, getBan gehört in die 
    //Klasse Flamer rein? Höchstens als reine Benachricktigung, dann fehlt 
    //aber das wichtigere setBan im Forum. 
    		}
    	}
    
    };
    
    void AddSC_Flamer()
    {
    	new Flamer;
    //Sehr brav. Die Quote Speicherlöcher pro Nutzinhalt dieser Funktion 
    //ist nicht definiert. 
    };
    


  • @Castiel:
    Jetzt mal ehrlich und ernsthaft.
    Was soll ich denn damit anfangen?:

    Castiel schrieb:

    if (Killer->getLevel() == Killed->getLevel())
    {
         // Unwichtig
    }
    

    @hustbaer:

    hustbaer schrieb:

    @EOP
    Der "Nutzfaktor" deines Kommentars ist aber auch wie üblich unterirdisch.

    Haha, wenigstens habe ich ein durchgängiges Konzept.
    Außerdem habe ich auch schon ein- oder zweimal etwas Vernünftiges gepostet.

    @volkard
    ++brain bedeutet nicht unbedingt brain==true 😉

    Freut mich aber, daß ich so oft wie nie zitiert wurde.


  • Mod

    leute, lasst euch doch nicht so von 3 buchstaben anpoebeln, das ist doch keine bar.

    entweder gehts ab jetzt positiv zum topic oder euer beitrag wird vom bouncer rausgeworfen (und ich mache mir nich die muehe den nutzbaren teil herauszuschnippeln!)


Anmelden zum Antworten