Passwort DIALOG für Befehle?

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 Community,
    Ich habe ein Problem ...


    Ich möchte mein /ad befehl in Dialogen aufbauen d.h ,
    Ich möchte wenn man /ad eingibt das , ein DIALOG erscheint wo man dann den Text der Werbung eingeben kann .
    Allerdings weiß ich nicht recht wie das so richtig gehen sollte .


    also /ad
    - Dialog erscheint .
    - Man kann dann nun die Werbung im Dialog eingeben und auf Abschicken klicken .


    Der Code :


    if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
    {
    if(PlayerInfo[playerid][pLevel] >= 4)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,3880.3916,-900.6771,1180.5940))
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
    return 1;
    }
    if(PlayerInfo[playerid][pGangJailed] == 1 || PlayerTied[playerid] >= 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst jetzt keine Werbung schreiben!");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[128];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ad)vertise [text]");
    return 1;
    }
    if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
    {
    format(string, sizeof(string), "Bitte Versuch es Später wieder %d sekunden zwischen einer Werbung!", (addtimer/1000));
    SendClientMessage(playerid, COLOR_GRAD2, string);
    return 1;


    }
    new payout = idx * 5;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* Du hast %d Zeichen benutzt, das kostet $%d, du hast nicht genug dabei.", idx, idx*5);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    GivePlayerMoney(playerid, - idx*5);
    SBizzInfo[1][sbTill] += payout;
    ExtortionSBiz(5, payout);
    format(string, sizeof(string), "Werbung: %s, %s, (%d)", result, sendername,PlayerInfo[playerid][pPnumber]);
    OOCNews(TEAM_Grove_COLOR,string);
    format(string, sizeof(string), "~r~Rechnung: $%d~n~~w~Nachricht hatte: %d Zeichen.", payout, idx);
    GameTextForPlayer(playerid, string, 5000, 5);
    if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
    }
    }
    }
    else SendClientMessage(playerid,COLOR_RED,"Du brauchst Level 3 um eine Werbung zu schreiben.");
    return 1;
    }
    Währe bereit bei Persönlicher Hilfe und erklährung eine 10 PaySafeCard als Dankeschön zugeben .
    Da ich zu diesen noch einige Fragen mehr hätte .


    Mit freundlichen Grüßen
    Nils


  • 1. erst definest du die Dialogid
    2. Suchst du dir das raus, was nach dem Dialog geschehen soll
    3. erstellst du mit ShowPlayerDialog ein Dialog und mach denn anderen Code bei OnDialgoResonse rein


    Falls fehler drin sind, kannst du mir gerne bescheid geben

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.