Den Wert einer Variable rausfinden

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
  • Hallo.. Sagen wir jemand tippt /hallo ein..
    Dann kommt einer Variable 1 Punkt wenn man dann was anderes eintippt wie z.B. /hallo2 bekommt die Variable 3 Punkte..


    Also insgesamt 4 Punkte..


    wie kann ich nun bestimmten/abfragen wieviele Punkte die Variable hat?


    Damit ich es Textdraw anzeigen kann oder so ..

  • Wie willst du es denn genau machen willst du es in einem Befehl haben wie z.B. /Hallo [Wert] oder in mehreren Befehlen??
    Wenn du es in mehreren Befehlen machst geht es glaube ich einfach so


    new VARIABLE;VARIABLE = 1;


    Oder anstatt der 1 einfach die Zahl die eben darein soll!
    Ich ich konnte helfen wenn nicht sag bescheid :D


    //Edit Ich glaube ich habe was gefunden was dir helfen könnte!


    new VARIABLE= strval (inputtext); //Inputtext geht aber nur wenn du sie per menü festlegst!


    {
    format(string, sizeof(string), "~w~ Du hast ~r~%d ~w~Punkte");
    GameTextForPlayer(playerid, "string", 5000, 3);


    }



    Also so geht das vom Prinzip her kann sein das ich hier was vergessen hab soll aber nur ein Beispiel sein


    Einmal editiert, zuletzt von Erich96 ()

  • Ich habe oben variable[MAX_PLAYERS];
    stehen
    nun wenn ich /hallo Tippe soll der Wert um 1 steigen wenn ich /hallo123 tippe soll der Wert um 3 steigen.. nun mit welchem Code kann ich den Wert ausgeben?..
    Also z.B. als Textdraw anzeigen?!

  • Okay jetzt hab ich verstanden was du willst!


    Um das so zu machen musst du die länge des Textes abfragen dazu gibt es das hier:


    strlen



    Ich versuche dir mal ein Beispiel zu basteln!


    if(strcmp(cmd, "/Hallo", true) == 0 )


    {



    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /Hallo [Wert]");
    return 1;
    }
    new variable= strlen(tmp);



    }
    if (variable < 0)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Ungültiger Wert !");
    return 1;
    }


    format(string, sizeof(string), "~w~ Du hast ~r~%d ~w~Punkte");
    GameTextForPlayer(playerid, "string", 5000, 3);


    }
    return 1;
    }



    So oder so ähnlich funtioniert das! Ich hoffe das Hilft dir weiter! :)

  • Sagen wir so..
    Wenn jemand gekillt wird soll


    bei gwpunkt[MAX_PLAYERS];
    Der Wert um 1 gesteigert werden wenn jemand stirbt..


    nun wenn ich /punkte tippe soll der Wert der Variable "gwpunkt" ausgelesen werden ..


    Ich habe dein Beispiel nicht verstanden..

  • Ja das ist auch gerade mein Problem hab bis jetzt nichts gefunden


    //Edit ich hab's glaube ich gefunden




    format(string,sizeof(string),"Die Punktzahl beträgt %d Punkte!",gwpunkt);
    SendClientMessage(playerid,0xFF8C00FF, string);



    Also so müsste es klappen wenn du es als TextDraw oder als GameText ... haben willst ist es eigendlich genau das selbe nur eben nicht SendClientMessage sondern das was du haben willst!
    Aber ich bin mir sicher das du das schon weißt! Also ich hoffe es klappt jetzt! :D


    Einmal editiert, zuletzt von Erich96 ()