Aus Dialog lesen

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
  • Hey Leute,
    Ich wünsch mir für mein Reallife Script das man als Leader z.b. /setpayday eingibt und dann ein Dialog erscheint wo man den Payday für die einzelnen Ränge usw. vorgeben kann..
    Das Command kann ich erstellen.. derzeit hab ich es noch so das man /setpayday [menge] eingibt ich will das aber mit dialog.. Den Dialog hab ich jetzt erstellt nur das Problem ist
    ich weiß nicht wie ich die oben definierte: new YakPayday; auf das was von dem dialog geschrieben ist setze...
    Also zu Deutsch:


    Ich will wissen:
    Wie lese ich den Text aus einem Dialog und verwende ihn

  • Kanns du mir mal ein Beispiel senden ?


    z.b. ein Einfaches Command Bitte ich will das nur sehn !

  • Hier mal ein alter Code von mir.


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==4949)
    {
    if(response)
    {
    if(!strcmp(inputtext,"ZXFW4F",false))
    {
    //blabla mache dies und das



    Ist selbstverständlich nicht fertig, nur der Anfang. Überprüfte die DialogID 4949 bei Klick auf den linken Button; ob der eingegebene Text "ZXFW4F" war.

  • Ja also mach ich da wenn der Text: 1000$ is das es auf 1k gesetz wird...
    aber das will ich nicht ich will das es genau das ist was da drin steht ohne if oder so nen kake !


  • new givecashamount = strval(inputtext[0]);


    Wenn du das einfügst in deinen Code, ist der "givecashamount" (so habe ich die Variable mal eben genannt) die Zahl, die im Dialog eingegeben wurde.
    Rest sollte ja nicht mehr schwer sein. ;)

  • Wenn es ein INPUT-Dialog ist,
    musst du einfach bei OnDialogResponse
    if(dialogid == 9876)
    {
    if(response)
    {
    strval(inputtext) = Deine Variable vom Gehalt;
    }
    }


    Zu deinem CMD:


    Du solltest schon noch machen das man die Playerid mit angeben muss...
    Sowas in der Art:


    if(strcmp(cmd, "/setlohn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setlohn [playerid/PartOfName] [Lohn]");
    return 1;
    }
    new playa;
    playa = ReturnUser(tmp);
    new gehalt;
    tmp = strtok(cmdtext, idx);
    gehalt = strval(tmp);
    if (SpielerInfo[playerid][Leader] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(SpielerInfo[playerid][Leader] == SpielerInfo[playa][Member] || SpielerInfo[playerid][Leader] == SpielerInfo[playa][Leader])
    {
    if(gehalt > 6000)
    {
    InfoBoxForPlayer(playerid, "Du kannst deinen Membern maximal 6000$ geben!");
    return 1;
    }
    SpielerInfo[playa][Gehalt] = gehalt;
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), " Du hast %s gehalt geändert in %d.", giveplayer, gehalt);
    SendClientMessage(playerid, Blau, string);
    format(string, sizeof(string), " %s hat dein Gehalt geändert in %d.", sendername, gehalt);
    SendClientMessage(playa, Blau, string);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Dieser Befehl ist nur für Leader einer Fraktion!");
    }
    }
    return 1;
    }
    Der Codeschnipsel ist aus einem Godfatherscript!Ich denke mal das du GF nutzt!
    Denk dran die Variablen zu ändern falls du sie anderst hast!

  • ne vergiss playerid,
    Ich hab das das es der Leader eingeben kann und dann der Payday für die Ganze Fraktion so ist...
    aber ich hab das schon geschafft mit command


    thx...


    -close-