Dialog wie "Live" Tippen

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 habe mal irgendwo gesehen das @Jeffry eine Funktion hatte womit der Dialog aussah als wenn man gerade "Live" Tippen würde.
    Wort für Wort wird dann nach und nach im Dialog angezeigt, hat diese Funktion vielleicht noch jemand und könnte mir diese zukommen lassen?+


    MfG.

    Die Missglückte Persönlichkeit, Ciao!

  • eine Funktion hatte womit der Dialog aussah als wenn man gerade "Live" Tippen würde

    Du meinst wahrscheinlich das hier?

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    ([SAMMELTHREAD] Kleine Scripting Fragen)


    Code dazu:

  • @Jeffry
    Genau die Funktion habe ich Gesucht, ich habe leider ein Problem damit.
    Und zwar musste ich die strings die du "str" genant hast zu "strr" nennen, kein Problem soweit.
    Aber jetzt schau dir mal bitte das Bild an, habe alles 1zu1 von dir Übernommen.


    sa-mp-002.png
    Das bleibt leider die ganze Zeit so, ändert sich nichts dran.


    MfG.

    Die Missglückte Persönlichkeit, Ciao!

  • Wird der Timer DialogTypeTimer aufgerufen? Setze dort mal einen Print und schaue ob der ausgegeben wird.

    Gesagt getan, Problem wohl Gefunden aber keine Lösung vorhanden. :D


    Der Print wird leider nicht ausgeführt!



    forward DialogTypeTimer(playerid);
    public DialogTypeTimer(playerid)
    {
    new dialogid, style, caption[64], string[1024], rest[1024], button1[32], button2[32];
    dialogid = GetPVarInt(playerid, "t_dialogid");
    style = GetPVarInt(playerid, "t_style");
    GetPVarString(playerid, "t_caption", caption, sizeof(caption));
    GetPVarString(playerid, "t_string", string, sizeof(string));
    GetPVarString(playerid, "t_rest", rest, sizeof(rest));
    GetPVarString(playerid, "t_button1", button1, sizeof(button1));
    GetPVarString(playerid, "t_button2", button2, sizeof(button2));
    new strr[1024];
    //Ein Buchstabe hinzufügen
    format(strr, sizeof(strr), "%s%c", string, rest[0]);
    ShowPlayerDialog(playerid, dialogid, style, caption, strr, button1, button2);
    SetPVarString(playerid, "t_string", strr);
    //Den hinzugefügten Buchstabe aus dem Rest entfernen
    SetPVarString(playerid, "t_rest", rest[1]);
    if(rest[1] == '\0' || !strlen(rest[1]))
    {
    if(pTypeTimer[playerid] != -1) KillTimer(pTypeTimer[playerid]);
    pTypeTimer[playerid] = -1;
    }
    ReshowTypeDialog(playerid);
    print("DialogTypeTimer");
    return 1;
    }


    MfG.

    Die Missglückte Persönlichkeit, Ciao!

  • Setze den Print bitte mal als erstes in den Timer, nicht nach ganz unten.
    Wenn er dort ausgeführt wird, setze ihn immer weiter runter, bis er nicht mehr ausgeführt wird. Markiere dann die Zeile, die als letztes noch korrekt ausgeführt wird.

  • Getan, er Printet mir:

    [17:45:44] DialogTypeTimer1
    [17:45:44] DialogTypeTimer2
    [17:45:44] DialogTypeTimer3
    [17:45:44] DialogTypeTimer4
    [17:45:44] DialogTypeTimer5
    [17:45:44] DialogTypeTimer6
    [17:45:44] DialogTypeTimer7
    [17:45:44] DialogTypeTimer8
    [17:45:44] DialogTypeTimer9
    [17:45:44] DialogTypeTimer9
    [17:45:44] DialogTypeTimer10
    [17:45:44] DialogTypeTimer11
    [17:45:44] DialogTypeTimer12
    [17:45:44] DialogTypeTimer14
    [17:45:44] DialogTypeTimer15



    forward DialogTypeTimer(playerid);
    public DialogTypeTimer(playerid)
    {
    new dialogid, style, caption[64], string[1024], rest[1024], button1[32], button2[32];print("DialogTypeTimer1");
    dialogid = GetPVarInt(playerid, "t_dialogid");print("DialogTypeTimer2");
    style = GetPVarInt(playerid, "t_style");print("DialogTypeTimer3");
    GetPVarString(playerid, "t_caption", caption, sizeof(caption));print("DialogTypeTimer4");
    GetPVarString(playerid, "t_string", string, sizeof(string));print("DialogTypeTimer5");
    GetPVarString(playerid, "t_rest", rest, sizeof(rest));print("DialogTypeTimer6");
    GetPVarString(playerid, "t_button1", button1, sizeof(button1));print("DialogTypeTimer7");
    GetPVarString(playerid, "t_button2", button2, sizeof(button2));print("DialogTypeTimer8");
    new strr[1024];print("DialogTypeTimer9");
    //Ein Buchstabe hinzufügen
    format(strr, sizeof(strr), "%s%c", string, rest[0]);print("DialogTypeTimer9");
    ShowPlayerDialog(playerid, dialogid, style, caption, strr, button1, button2);print("DialogTypeTimer10");
    SetPVarString(playerid, "t_string", strr);print("DialogTypeTimer11");
    //Den hinzugefügten Buchstabe aus dem Rest entfernen
    SetPVarString(playerid, "t_rest", rest[1]);print("DialogTypeTimer12");
    if(rest[1] == '\0' || !strlen(rest[1]))print("DialogTypeTimer13");
    {
    if(pTypeTimer[playerid] != -1) KillTimer(pTypeTimer[playerid]);print("DialogTypeTimer14");
    pTypeTimer[playerid] = -1;print("DialogTypeTimer15");
    }
    ReshowTypeDialog(playerid);print("DialogTypeTimer16");
    return 1;
    }

    Die Missglückte Persönlichkeit, Ciao!

  • Das ist jetzt Lustig, habe es getan, aber es wird gar nichts Geprintet.



    stock ReshowTypeDialog(playerid)
    {
    new dialogid, style, caption[64], string[1024], button1[32], button2[32]; print("ReshowTypeDialog1");
    dialogid = GetPVarInt(playerid, "t_dialogid");print("ReshowTypeDialog2");
    style = GetPVarInt(playerid, "t_style");print("ReshowTypeDialog3");
    GetPVarString(playerid, "t_caption", caption, sizeof(caption));print("ReshowTypeDialog4");
    GetPVarString(playerid, "t_string", string, sizeof(string));print("ReshowTypeDialog5");
    GetPVarString(playerid, "t_button1", button1, sizeof(button1));print("ReshowTypeDialog6");
    GetPVarString(playerid, "t_button2", button2, sizeof(button2));print("ReshowTypeDialog7");
    ShowPlayerDialog(playerid, dialogid, style, caption, string, button1, button2);print("ReshowTypeDialog8");
    return 1;
    }


    MfG.

    Die Missglückte Persönlichkeit, Ciao!

  • Habe es getan, ändert sich leider nichts.


    Nunja, das hier ist der Text:

    format(str, sizeof(str), ""#FARBE_WEISS"Vladimir: Hey, du bist dann wohl %s.\nMir wurde gesagt du bist nicht ganz Legal hier und ich soll dir Helfen?\n\
    %s: Richtig, ich hoffe du kannst mir Helfen, ich habe hier leider\nnoch gar nichts erreichen können ohne Gültige Papiere!\n\
    Vladimir: Mach dir kein Kopf, hier hast du gültige Papiere!\nWenn ich was brauche melde ich mich bei dir!\n\
    Ok mein Freund, ich muss los, die Pflicht ruft!\nAm Ausgang kannst du dir ein Rad nehmen.",
    sInfo[playerid][sName], sInfo[playerid][sName]);
    TypePlayerDialog(playerid, DIALOG_TUTORIAL_GESPRACH, DIALOG_STYLE_MSGBOX, ""#SERVERNAME" - Gespräch mit Vladimir!", str, "Weiter", "");

    Die Missglückte Persönlichkeit, Ciao!

  • Hmm, also das Problem ist, dass die Variablen nicht angelegt werden können, das ist ein Problem was hin und wieder vorkommt bei PAWN, einen wirklich Grund dafür gibt es aber nicht, denn bei mir klappt es ja.


    Versuche es mal so:
    new g_string[1024];
    stock ReshowTypeDialog(playerid)
    {
    new dialogid, style, caption[64], button1[32], button2[32]; print("ReshowTypeDialog1");
    dialogid = GetPVarInt(playerid, "t_dialogid");print("ReshowTypeDialog2");
    style = GetPVarInt(playerid, "t_style");print("ReshowTypeDialog3");
    GetPVarString(playerid, "t_caption", caption, sizeof(caption));print("ReshowTypeDialog4");
    GetPVarString(playerid, "t_string", g_string, sizeof(g_string));print("ReshowTypeDialog5");
    GetPVarString(playerid, "t_button1", button1, sizeof(button1));print("ReshowTypeDialog6");
    GetPVarString(playerid, "t_button2", button2, sizeof(button2));print("ReshowTypeDialog7");
    ShowPlayerDialog(playerid, dialogid, style, caption, g_string, button1, button2);print("ReshowTypeDialog8");
    return 1;
    }

  • Ich habe dein Code genommen und das Problem besteht weiterhin, habe auch mal ohne Den Farbcode Probiert, dann schaut es so aus:
    sa-mp-003.png


    Es werden irgendwie immer nur die ersten beiden Buchstaben/Zeichen genommen.


    MfG.

    Die Missglückte Persönlichkeit, Ciao!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen