Kleine Frage zum Dialog

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
  • Morgen,


    Ich habe mal eine frage, wie kann ich diesen Befehl so umstellen, das ich mit einem Dialog_Style_Input, also mit dem Dialog bei dem diese Textfeld drin ist und man etwas reinschreiben kann, so umstellen, das ich in dieses Dialog textfeld die Anzahl der Fische reinschreiben kann?


    hier ist erstmal der Befehl:
    dcmd_fischeverkaufen(playerid,params[])
    {
    new anzahl;
    if(sscanf(params,"i",anzahl)) return SendClientMessage(playerid,rot,"Benutze: /fischeverkaufen [Anzahl]!");
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1023.5853,-1884.4575,12.7962)) return SendClientMessage(playerid,hellrot,"Du bist nicht am Angelshop...");
    if(AngelInfo[playerid][Fische] == 0) return SendClientMessage(playerid,hellrot,"Du hast keine Fische!");
    if(AngelInfo[playerid][Fische] <= anzahl) return SendClientMessage(playerid,hellrot,"Du hast nicht soviele Fische!");

    new string[56];
    new geld = fischpreis*anzahl;
    format(string,sizeof(string),"Du hast %d Fische verkauft und bekommst dafür $%d!",anzahl,geld);
    SendClientMessage(playerid,neongruen,string);
    AngelInfo[playerid][Fische] -= anzahl;
    GivePlayerMoney(playerid, geld);
    return 1;
    }


    Mein Ziel ist es, das man nicht mehr /fischeverkaufen und [anzahl] eingeben muss, sondern dass man stadtdessen nur noch /fischeverkaufen eingibt, dann der dialog erscheint und man darein die Anzahl an Fische schreibt, die man verkaufen möchte.


    Wäre nett wenn ihr mir helfen würdet :)


    MFG
    Marco

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Dann entfern alle Zeile die mit "anzahl" was zu tun haben und öffne stattdessen einen Dialog am Ende.
    dcmd_fischeverkaufen(playerid,params[])
    {
    new anzahl; // <- Weg
    if(sscanf(params,"i",anzahl)) return SendClientMessage(playerid,rot,"Benutze: /fischeverkaufen [Anzahl]!");// <- Weg
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1023.5853,-1884.4575,12.7962)) return SendClientMessage(playerid,hellrot,"Du bist nicht am Angelshop...");
    if(AngelInfo[playerid][Fische] == 0) return SendClientMessage(playerid,hellrot,"Du hast keine Fische!");
    if(AngelInfo[playerid][Fische] <= anzahl) return SendClientMessage(playerid,hellrot,"Du hast nicht soviele Fische!");// <- Weg

    new string[56]; // <- Eventuell Weg
    new geld = fischpreis*anzahl; // <- Weg
    format(string,sizeof(string),"Du hast %d Fische verkauft und bekommst dafür $%d!",anzahl,geld);// <- Weg
    SendClientMessage(playerid,neongruen,string);// <- Weg
    AngelInfo[playerid][Fische] -= anzahl;// <- Weg
    GivePlayerMoney(playerid, geld);// <- Weg
    // Dialog anzeigen
    return 1;
    }
    Wenn du das hast,dann probier mal wie du es unter OnDialogResponse verarbeitest. Eigentlich müsstest du die Zeilen die du aus dem Befehl entferst in die Dialog-Verarbeitung verschieben.