Text hinter cmd formatieren

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 Abend,


    Für meinen live Befehl muss ich eigentlich nur wissen wie man den text hinter einem Befehl als Text formatiert sodass man ihn als ClientMessage ausgeben kann.


    Meiner ist imo totaler blödsinn aber vielleicht kann ihn mir ja jemand einfach mal korrigieren :)


    if(strcmp(strget(cmdtext, 1), "/live")) // ???
    {
    if(pInfo[playerid][fraktion] == REPORTER)
    {
    new sendlive[128];
    new livetext[64] = strcmp(cmdtext); // ???
    format(sendlive,sizeof sendlive,"LIVE %s: %s",playername[playerid],livetext);
    SendClientMessageToAll(COLOR_ORANGE, sendlive);
    }
    else return SendClientMessage(playerid,COLOR_ROT,"Du bist kein San Andreas Reporter !");
    }



    Vielen dank schonmal im vorraus.



    Mit freundlichen Grüssen


    Anubis

  • Ja das hab ich soweit verstanden, ich möchte bloss das alles was nach dem cmd /live eingeben wird als text formatiert und dann wie man in der funktion erkennen kann als SendClientMessageToAll ausgegeben wird.

  • Ich denk mal er will "/live Herzlich Willkommen" eingeben und das soll dann so für alle angezeigt werden :
    "Live - SPIELER : Herzlich Willkommen


    Wenn ich mich nicht irre müsste das so gehen :



    // new sendername[MAX_PLAYER_NAME];
    // new string[256];
    if(strcmp(cmd, "/live", true) == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new result[128];
    result = bigstrtok(cmdtext, idx);
    if(!strlen(result))
    {
    SendClientMessage(playerid, ORANGE, "Verwendung : /live [NACHRICHT]");
    return 1;
    }
    format(string, sizeof(string), "* Live - %s : %s", sendername, result);
    SendClientMessageToAll(GREEN, string);
    return 1;
    }


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

    Einmal editiert, zuletzt von Snail ()

  • weil 5 kein bool ist...
    ocmd:live(pid,prm[])
    {
    if(!prm[0])return SendClientMessage(pid,COLOR_ORANGE,"/live [text]");
    new lol3[128];
    format(lol3,sizeof lol3,"LIVE %s: %s",playername[pid],prm);
    return SendClientMessageToAll(COLOR_ORANGE,lol3);
    }benötigt OCMD (siehe signatur)

  • Habe es jetzt ähnlich gelöst, danke für eure hilfe :)


    if(!strcmp(cmdtext,"/live",_,5))
    {
    if(pInfo[playerid][fraktion] == REPORTER)
    {
    new sendlive[128];
    format(sendlive,sizeof sendlive,"LIVE %s: %s",playername[playerid],cmdtext[6]);
    SendClientMessageToAll(COLOR_ORANGE, sendlive);
    }
    else return SendClientMessage(playerid,COLOR_ROT,"Du bist kein San Andreas Reporter !");
    }



    Funktioniert nun einwandfrei :)

    Einmal editiert, zuletzt von Anubis ()