Definierung einer Farbe (HTML)

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 würde gerne eine Farbe (HTML) definieren, jedoch stürzt mir bei meinen bisherigen Versuchen anschließend immer Pawno ab. Versucht habe ich es beispielsweise so:


    #define COLOR_WHITE 0xFFFFFFFF
    #define COLOR_HTML_ORANGE FF8C00


    und anschließend


    new string[64];
    format(string,sizeof(string),"Dein neuer Name lautet nun {COLOR_HTML_ORANGE}%s",GetNameOfPlayer(playerid));
    SendClientMessage(playerid,COLOR_WHITE,string);


    Wenn ich ganz normal die Farbe eintrage, also ohne die Definierung, dann funktioniert es. Ich würde es jedoch gerne über die Definierungen lösen, damit ich später beispielsweise direkt alle Farben auf einmal ändern kann.

    Einmal editiert, zuletzt von Sheldon () aus folgendem Grund: Korrektur

  • Vielen Dank für deine Antwort, jedoch stürzt Pawno durch diese Definierungen weiterhin ab. Hier habt ihr einmal einen Auszug aus meinem Skript: http://pastebin.com/0RGs77RU

    2 Mal editiert, zuletzt von Sheldon () aus folgendem Grund: Korrektur

  • Das liegt dann nicht an den Farbdefinitionen. Ich hab es mal durchkompilert, geht ohne Probleme.
    Entferne kleine Teile von dem Code, solange bis der Code nicht mehr abstürzt, dann weißt du woran es lag.


    Ich kann den gesamten Code mit dem MySQL Zeug nicht kompilieren, weil ich die includes etc nicht habe.

  • Oh mein Gott, gerade merke ich erst, dass ich die Darstellung von BBCodes in den Einstellungen deaktiviert hatte und das als Dr. Dr. Sheldon Lee Cooper. Wie dem auch sei, bei mir stürzt Pawno nun auch nicht mehr ab, jedoch erhalte ich 5 Fehler in den folgenden Zeilen, wobei die " eigentlich richtig gesetzt sein sollten. Jeffry:


    //Zeile 100
    format(string,sizeof(string),""COLOR_HTML_WHITE"Herzlich Willkommen auf "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"!\n\nName: "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"\nStatus: "COLOR_HTML_RED"Nicht registriert"COLOR_HTML_WHITE"\n\nDu musst dich zuerst registrieren, um auf unserem Server spielen zu können.\nBeachte, dass Du mit der Registrierung die Regeln von "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE" akzeptierst.\nAlle Regeln können in unserem Forum nachgelesen werden.\nBitte gebe dein gewünschtes Passwort ein:",SERVER_NAME,GetNameOfPlayer(playerid),SERVER_NAME);
    //Zeile 101
    ShowPlayerDialog(playerid,DIALOG_REGISTER_1,DIALOG_STYLE_PASSWORD,"Registrierung",string,"Registrieren","Abbrechen");


    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(100) : error 075: input line too long (after substitutions)
    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(101) : error 037: invalid string (possibly non-terminated string)
    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(101) : warning 215: expression has no effect
    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(101) : error 001: expected token: ";", but found "-identifier-"
    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(101) : error 017: undefined symbol "akzeptierst"
    C:\Users\Marc\Desktop\SA-MP\gamemodes\SoSA.pwn(101) : fatal error 107: too many error messages on one line

  • Zeile 100 aufteilen, die ist zu lang:


    format(string,sizeof(string),""COLOR_HTML_WHITE"Herzlich Willkommen auf "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"!\n\nName: "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"\nStatus: "COLOR_HTML_RED"Nicht registriert"COLOR_HTML_WHITE"\n\nDu musst dich zuerst registrieren,", SERVER_NAME,GetNameOfPlayer(playerid));
    format(string,sizeof(string),"%sum auf unserem Server spielen zu können.\nBeachte, dass Du mit der Registrierung die Regeln von "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE" akzeptierst.\nAlle Regeln können in unserem Forum nachgelesen werden.\nBitte gebe dein gewünschtes Passwort ein:",string,SERVER_NAME);

  • Zeile 100 aufteilen, die ist zu lang:


    format(string,sizeof(string),""COLOR_HTML_WHITE"Herzlich Willkommen auf "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"!\n\nName: "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE"\nStatus: "COLOR_HTML_RED"Nicht registriert"COLOR_HTML_WHITE"\n\nDu musst dich zuerst registrieren,", SERVER_NAME,GetNameOfPlayer(playerid));
    format(string,sizeof(string),"%sum auf unserem Server spielen zu können.\nBeachte, dass Du mit der Registrierung die Regeln von "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITE" akzeptierst.\nAlle Regeln können in unserem Forum nachgelesen werden.\nBitte gebe dein gewünschtes Passwort ein:",string,SERVER_NAME);


    Auch an dich ein herzliches Danke, jedoch wird nun nur der zweite formatierte Text in dem Dialog angezeigt. Kann man hier irgendwie einen zweiten string erstellen und ihn zusammen mit dem ersten string als gesamten Text in den Dialog einfügen?

  • Mach es so wie ich.



    // Globale Definierung
    new dialogstring[2048]; // 2048 ist soweit ich weiß die maximale Größe, die ein Dialog anzeigen kann.



    // Sobald du einen Dialog erstellst, solltest du folgendes tun:
    strdel(dialogstring, 0, sizeof(dialogstring));
    strcat(dialogstring, sizeof(dialogstring), COLOR_HTML_WHITE"Herzlich Willkommen auf "COLOR_HTML_ORANGE""SERVERNAME""COLOR_HTML_WHITE"!\n\n");
    format(dialogstring, sizeof(dialogstring),"%sName: "COLOR_HTML_ORANGE"%s"COLOR_HTML_WHITEW"\n", dialogstring, GetNameOfPlayer(playerid));
    strcat(dialogstring, "Status: "COLOR_HTML_RED"Nicht registriert"COLOR_HTML_WHITE"\n\n");
    strcat(dialogstring, "Du musst dich zuerst registrieren, um auf unserem Server spielen zu können.\n");
    strcat(dialogstring, "Beachte, dass Du mit der Registrierung die Regeln von "COLOR_HTML_ORANGE""SERVER_NAME""COLOR_HTML_WHITE" akzeptierst.\n");
    strcat(dialogstring, "Alle Regeln können in unserem Forum nachgelesen werden.\nBitte gebe dein gewünschtes Passwort ein:");
    ShowPlayerDialog(playerid, DIALOG_XYZ, DIALOG_STYLE_PASSWORD, "Registration", DialogString, "Registrieren", "Abbrechen");



    So in etwa kannst du es machen.
    Die ganzen Zeilen sind zur Übersicht gedacht.
    Denk dran, sobald du einen Dialog machen willst, immer strdel zu benutzen, da sonst der alte Dialog mit dem neuen zusammengesetzt werden könnte.


    Ich geb dir noch einen Tipp:
    Wenn du einen Dialog anfängst zu formatieren, und direkt am Start eine Farbe haben willst, benötigst du keine ' "" '.
    Sprich ' ""COLOR_HTML_WHITE"... Text ..." '.


    Einfach so: format(string, sizeof(string), COLOR_HTML_WHITE".. Text ..");


    Viel Spaß. :)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen