hilfe mit strcmp ._.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Servus,


    ich versteh da etwas nicht mit strcmp. Also bei meinem /buyhouse Befehl habe ich diese Abfrage:


    if(strcmp(dini_Get(house, "Besitzer"), "Zu verkaufen", true)) return SendClientMessage(playerid, C_GREY, "* Dieses Haus steht nicht zum Verkauf");


    Also wenn bei Besitzer "Zu verkaufen" steht (in der Datei), soll der Befehl ausgeführt werden und wenn das da nicht steht soll eine Nachricht erscheinen.


    Aber muss da nicht eigentlich ein "!" davor? Weil ja hinter der Abfrage ein return steht...


    Aber wenn ich ein "!" davor mache bekomme ich trotzdem die Message obwohl in der Datei "Zu verkaufen" steht..


    Ich verstehe das nicht ganz ._.
    Bitte Hilfe.

    Mit freundlichen Grüßen - FamoZ

  • strcmp gibt den Wert 0 zurück wenn die beiden Strings gleich sind, also kannst du entweder

    if(strcmp(dini_Get(house, "Besitzer"), "Zu verkaufen", true) == 0)
    oder
    if(!strcmp(dini_Get(house, "Besitzer"), "Zu verkaufen", true))
    nutzen


    //Edit
    @Ketchup


    Das true/false besagt ob er groß/kleinschreibung Ignorieren soll.

  • Nicht ganz, == 0 bedeutet, wenn strcmp den Wert 0 zurück gibt und ! davor bedeutet wenn strcmp alles andere als 1 zurückgibt, wenn ich mich recht erinnere.
    Das gilt aber nichtnur für strcmp sondern für alle funktionen,Variablen etc.


    Das tut hier aber nichts zur Sache, erfüllt beides seinen Zweck ;)