Dialog eingabe in befehl eingabe machen /report

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
  • /report Dialog eingabe in text/chat eingabe machen



    /report (text)


    if(!strlen(inputtext) || strlen(inputtext) > 90)
    {
    ShowPlayerDialog(playerid,DIALOG_REPORT_FRAGEN,DIALOG_STYLE_INPUT,"Report (Fragen)","Hast du eine Frage oder ein anliegen?\nSchildere das Geschehen kurz und knapp\n\n"#SERVERFARBE""#SERVERNAME"","Absenden","Zurück");
    return SendClientMessage(playerid,GRAU,"Du musst schon etwas eingeben./Du kannst nicht mehr als 90 Zeichen benutzen.");
    }
    else
    {
    for(new i=0;i<30;i++)
    {
    if(ReportListitem[i][rID][0] == -1)
    {
    SendClientMessage(playerid,0x37FF00FF,"Deine Frage:");
    format(string,sizeof(string),"%s",inputtext);
    SendClientMessage(playerid,0x37FF00FF,string);
    SendClientMessage(playerid,0x37FF00FF,"Du kannst das Ticket mit ´/sreport´ beenden/löschen.");
    format(string,sizeof(string),"Spieler: %s (ID:%i) hat eine Frage/Problem(/tickets)",SpielerName(playerid),playerid);
    SendAdminMessage(0xFF7B00FF,string);
    Spieler[playerid][pAReport] = 1;
    Spieler[playerid][pWriteReport][0] = true;
    UpdateReportTextdraw();
    ReportListitem[i][rText][0] = gettime();
    strmid(ReportListitem[i][rText][0],inputtext,0,strlen(inputtext),90);
    ReportListitem[i][rID][0] = playerid;
    ReportListitem[i][rAccepted][0] = true;
    return 1;
    }
    }
    ShowPlayerDialog(playerid,DIALOG_REPORT_FRAGEN,DIALOG_STYLE_INPUT,"Report (Fragen)","Hast du eine Frage oder ein anliegen?\nSchildere das Geschehen kurz und knapp\n\n"#SERVERFARBE""#SERVERNAME"","Absenden","Zurück");
    SendClientMessage(playerid,GRAU,"Du kannst momentan keinen Report (Fragen) absenden.");
    }
    }
    return 1;
    }


    Wie kann ich das zum befehl machen?

  • ocmd:report(playerid, params[])
    {
    if(!strlen(params) || strlen(params) > 90)
    {
    return SendClientMessage(playerid,GRAU,"Du musst schon etwas eingeben./Du kannst nicht mehr als 90 Zeichen benutzen.");
    }
    else
    {
    for(new i=0;i<30;i++)
    {
    if(ReportListitem[i][rID][0] == -1)
    {
    SendClientMessage(playerid,0x37FF00FF,"Deine Frage:");
    format(string,sizeof(string),"%s",params);
    SendClientMessage(playerid,0x37FF00FF,string);
    SendClientMessage(playerid,0x37FF00FF,"Du kannst das Ticket mit ´/sreport´ beenden/löschen.");
    format(string,sizeof(string),"Spieler: %s (ID:%i) hat eine Frage/Problem(/tickets)",SpielerName(playerid),playerid);
    SendAdminMessage(0xFF7B00FF,string);
    Spieler[playerid][pAReport] = 1;
    Spieler[playerid][pWriteReport][0] = true;
    UpdateReportTextdraw();
    ReportListitem[i][rText][0] = gettime();
    strmid(ReportListitem[i][rText][0],params,0,strlen(params),90);
    ReportListitem[i][rID][0] = playerid;
    ReportListitem[i][rAccepted][0] = true;
    return 1;
    }
    }
    SendClientMessage(playerid,GRAU,"Du kannst momentan keinen Report (Fragen) absenden.");
    }
    return 1;
    }

  • Beitrag von Synchron ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • ocmd:report(playerid, params[])
    {
    for(new i=0;i<30;i++) if(ReportListitem[i][rID][0] == playerid) return SendClientMessage(playerid,GRAU,"Du hast bereits einen Report offen.");
    if(!strlen(params) || strlen(params) > 90)
    {
    return SendClientMessage(playerid,GRAU,"Du musst schon etwas eingeben./Du kannst nicht mehr als 90 Zeichen benutzen.");
    }
    else
    {
    for(new i=0;i<30;i++)
    {
    if(ReportListitem[i][rID][0] == -1)
    {
    SendClientMessage(playerid,0x37FF00FF,"Deine Frage:");
    format(string,sizeof(string),"%s",params);
    SendClientMessage(playerid,0x37FF00FF,string);
    SendClientMessage(playerid,0x37FF00FF,"Du kannst das Ticket mit ´/sreport´ beenden/löschen.");
    format(string,sizeof(string),"Spieler: %s (ID:%i) hat eine Frage/Problem(/tickets)",SpielerName(playerid),playerid);
    SendAdminMessage(0xFF7B00FF,string);
    Spieler[playerid][pAReport] = 1;
    Spieler[playerid][pWriteReport][0] = true;
    UpdateReportTextdraw();
    ReportListitem[i][rText][0] = gettime();
    strmid(ReportListitem[i][rText][0],params,0,strlen(params),90);
    ReportListitem[i][rID][0] = playerid;
    ReportListitem[i][rAccepted][0] = true;
    return 1;
    }
    }
    SendClientMessage(playerid,GRAU,"Du kannst momentan keinen Report (Fragen) absenden.");
    }
    return 1;
    }
    So?