String bei Dialog richtig einsetzen

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
  • Guten Tag,
    Ich wollte euch mal ein Tutorial schreiben wie man mehrere strings hat sie richtig einsetzt.


    Z.b:


    Ich gebe In-Game "/Zahl" ein,
    Dann will ich mehrere Zahlen haben.
    Aber da man nicht so viele Zahlen in einer reihe machen kann muss ich es mit "format" vereinfachen.


    zuerst definieren wir den string.


    Wir brauchen 4 Strings und ein String der alle zu einem bringt.


    siehe:


    new string1[256];
    new string2[256];
    new string3[256];
    new insgesamtstring[256];


    aber vorher muss noch ganz oben im script zum definieren des Dialoges dieses hin:

    #define ZahlDialog 100



    Jetzt machen wir erstmal den Command, der bei OnPlayerCommandText zum einsatz gebracht wird.


    siehe:


    if(strcmp("/Zahl",cmdtext,true,10) == 0)//Wenn man in die Textbox "/Zahl" eingibt.
    {//jetzt kommt was passiert
    //Jetzt bringen wir den String den wir oben genannt haben hier in die definition.
    new string1[256];//erster String
    new string2[256];//2ter String
    new string3[256];//3ter String
    new insgesamtstring[256];//Der String der alle String´s gleich zu einem macht.
    //Jetzt definieren wir ein paar zahlen:
    new zahl1 = 1;
    new zahl2 = 2;
    new zahl3 = 3;
    new zahl4 = 4;
    new zahl5 = 5;
    new zahl6 = 6;
    new zahl7 = 7;
    new zahl8 = 8;
    new zahl9 = 9;
    new zahl10 = 10;
    //Jetzt kommen wir zum hauptsächlichen
    format(string1,sizeof(string1),"1te Zahl: %d, 2te Zahl: %d, 3te Zahl: %d",zahl1,zahl2,zahl3);//format ist das falls man einen text oder sonstiges abfragt und dort einfügt.
    //hinten das mit zahl1,2,3 ist damit oben genannten zahlen abfragt.
    format(string2,sizeof(string2),"4te zahl: %d, 5te Zahl: %d, 6te Zahl: %d",zahl4,zahl5,zahl6);//Das selbe wie oben nur mit den anderen zahlen.
    format(string3,sizeof(string3),"7te Zahl: %d, 8te Zahl: %d, 9te Zahl: %d, 10te Zahl: %d",zahl7,zahl8,zahl9,zahl10);//Das selbe wie oben.
    //Jetzt kommt das was alles zum Hauptteil aufruft. und Zwar definieren wir jetzt alle strings, und binden sie zu einem string.
    format(insgesamtstring,sizeof(insgesamtstring),"%s\n%s\n%s,"string1,string2,string3);//\n bedeutet eine neue Zeile. Jetzt haben wir string1,string2,string3 zu insgesamtstring definiert das ermögtlicht uns in mehreren Zeilen strings zumachen.
    //Jetzt kommen wir zum schluss.
    ShowPlayerDialog(playerid,ZahlDialog,DIALOG_STYLE_MSGBOX,insgesamtstring);//Damit zeigt er dem Spieler das was wir oben definiert haben sprich string1,string2,string3 als insgesamtstring und es wird angezeigt.
    //Nun kommen wir zum schluss und schliessen den Befehl:
    return 1;
    }




    Mit freundlichen Grüßen [NGR]Destiny



    //Ich weiss man hätte das auch mit anderen Dingern als Zahlen machen können aber so geht es ja auch.

    2 Mal editiert, zuletzt von [NGR]Destiny ()

  • Thx. Ist halt für die die es noch nicht wissen xD und immer string1,string2,string3 bei showplayerdialog eingeben.