/o Chat Text Länge

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
  • Ich weiß, dass man bei PAWN nur eine bestimmte Textlänge hat, aber es ist ja auch möglich den String sicherlich zu splitten, nur weiß ich nicht
    wie ich das genau anstellen soll.
    Das Problem ist, dass der Text viel zu kurz ist.


    new Text[1024];
    if(sscanf(params, "s", Text)) return Usage(playerid, "/o [Text]");
    if(PlayerInfo[playerid][pRank] <= 0 && OOC == 0) return SendClientMessage(playerid, COLOR_GREY, "Der öffentliche Chat ist deaktiviert.");
    new String[1024];
    if(PlayerInfo[playerid][pRank] > 0) {
    new RankName[64];
    switch(PlayerInfo[playerid][pRank]) {
    case 1: RankName = "Supporter";
    case 2: RankName = "Moderator";
    case 3: RankName = "Administrator";
    default: RankName = "Administrator";
    }
    format(String, sizeof(String), "{AADFE6}((%s) %s: {C0E6EB})", RankName, PlayerName(playerid));
    format(String, sizeof(String), "%s%s", String, Text);
    } else {
    format(String, sizeof(String), "{AADFE6}(%s: {C0E6EB})", PlayerName(playerid));
    format(String, sizeof(String), "%s%s", String, Text);
    }
    SendClientMessageToAll(COLOR_WHITE, String);


    Edit:
    Hatte bei sscanf vergessen die Textlänge anzugeben, klappt nun. :)

  • Caglar:
    Strings mit der Länge von 1024 bringen bei SendClientMessage(ToAll) nichts, da das Maximum bei 144+1 liegt (144 sichtbare Zeichen + EOS). Ist es mehr, wird es gar nicht mehr angezeigt.


    Mach es so:
    new string[145];
    if(sscanf(params, "s[145]", string)) return Usage(playerid, "/o [Text]");
    if(PlayerInfo[playerid][pRank] <= 0 && OOC == 0) return SendClientMessage(playerid, COLOR_GREY, "Der öffentliche Chat ist deaktiviert.");
    if(PlayerInfo[playerid][pRank] > 0)
    {
    new RankName[16];
    switch(PlayerInfo[playerid][pRank])
    {
    case 1: RankName = "Supporter";
    case 2: RankName = "Moderator";
    case 3: RankName = "Administrator";
    default: RankName = "Administrator";
    }
    format(string, sizeof(string), "{AADFE6}((%s) %s: {C0E6EB}) %s", RankName, PlayerName(playerid), string);
    }
    else
    {
    format(string, sizeof(string), "{AADFE6}(%s: {C0E6EB}) %s", PlayerName(playerid), string);
    }
    SendClientMessageToAll(COLOR_WHITE, string);