SendClientMessage Abkürzung - 4 Errors

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,
    ich habe mir eine Abkürzung für den Befehl SendClientMessage geschrieben, da ich ehrlich gesagt keine Lust habe, immer dieses ""COLOR_GREY"» "COLOR_WHITE"MeinText" zu schreiben. Leider bekomme ich immer wieder Fehler. Nicht in den Zeilen wo ich die Abkürzung SCM verwende wie hier.
    SCM(playerid, "Du bist kein Administrator.");
    Sondern hier:

    public SCM(playerid, text[])
    {
    return SendClientMessage(playerid, 0xFFFFFFFF, ""COLOR_WHITE"» "COLOR_GREY""text"");
    }

    In Zeile 3 liegen folgende Fehler:
    [table=2]
    [*] Fehlercode [*] Fehlerbeschreibung
    [*] error 001 [*] expected token: "-string end-", but found "-identifier-"
    [*] warning 215 [*] expression has no effect
    [*] error 001 [*] expected token: ";", but found "-string-"
    [*] warning 215 [*] expression has no effect
    [*] error 001 [*] expected token: ";", but found ")"
    [*] fatal error [*] 107: too many error messages on one line
    [/table]


    Definiert habe in den Public so:
    forward SCM(playerid, text[]);



    Lg Sonderzeichen

  • Du müsstest den Text nochmal formatieren, wenn du Farben da drin haben willst.
    Nur bei einer "konstaten" Zeichenkette (ich glaub Literale heißen die), darfst du ein Makro auf die Weise benutzen, anders nicht.


  • #define COLOR_WHITE "{FFFFFF}"
    #define COLOR_ORANGE "{FF7800}"
    #define COLOR_AQUA "{00FFFF}"
    #define COLOR_BLUE "{003DF5}"
    #define COLOR_RED "{CD0000}"
    #define COLOR_GREEN "{66FF00}"
    #define COLOR_GREY "{AAAAAA}"
    #define COLOR_YELLOW "{FFFF00}"
    #define COLOR_ACTION "{EE66EE}"


    so kann ich die auch im Text benutzen.

  • Wo ist denn dein Problem?


    #define FARBE_ROT 0xCD0000FF


    SCM(playerid,FARBE_ROT,"Blablablarotblabla");


    So funktioniert das, musst nur einen HTML Farbcode nehmen zum Definieren wie oben angegeben.


    MfG

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ja schön und gut aber so muss ich wieder die Farbe bei SCM und das hier in den Text wieder schreiben:
    ""COLOR_WHITE"» "COLOR_GREY"
    Sprich:
    SCM(playerid, FARBE_ROT, ""COLOR_WHITE"» "COLOR_GREY"Mein Text hier");
    Aber ich wills nur so schreiben müssen:
    SCM(playerid, "Mein Text hier");


    Lg Sonderzeichen


    //e.  Ap0llinaris
    Wozu das -1 bei SendClientMessage(playerid, -1, string);

  • Habe das jetzt ausprobiert und habe nur diese Lösung gefunden ...


    forward SCM(playerid, text[]);
    public SCM(playerid, text[])
    {


    new string[80];
    format(string, sizeof(string), COLOR_WHITE"» "COLOR_GREY "%s",text);
    return SendClientMessage(playerid, 0xFFFFFFFF, string);
    }

  • Naja egal.
    Aufjedenfall habe ich jetzt das Problem: Im Script keiner Fehler oder Warnings.
    Aber auf dem Server wird das Script nur halb geladen. Also: CheezeStickz hat den Server betreten und so funktioniert. Jedoch kommt der Login Dialog nicht, der stock ClearChat(playerid) wird nicht aufgerufen und bei jedem Befehl kommt Unkown Command obwohl ich meine eigene Fehlernachricht drin hab. Es sind also nur die Befehle und Publics, wo ich SCM verwende. Bei der xoxo hat den Server betreten verwende ich ganz normal SendClientMessageToAll.


    //e. Weiß keiner weiter? :(
    //e.. Hatte ausversehen was im SCM Public falsch gemacht ^^

    Einmal editiert, zuletzt von doge_ ()