Farbe im Dialog angeben?

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 ein kleines Problem:
    Ich möchte, dass man per Dialog seine Firmenfarbe (mein Truckerserver :love: ) ändern kann.
    Soweit bin ich nun:

    Code
    case DIALOG_FIRMA_COLR:
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_FIRMA_COLR,DIALOG_STYLE_INPUT,"Firmenfarbe ändern","Bitte gebe hier den Farbcode ein\n(Wichtig: Der Code muss so aussehen: XXXXXXFF!!!):","Weiter","Abbrechen");
    }
    else
    {
    if(strlen(inputtext) == 8)
    {
    new color[10];
    new col = format(color,sizeof(color),"0x%s",inputtext);
    new bizz = SpielerInfo[playerid][pCompany];
    new pfad[50];
    format(pfad,sizeof(pfad),"/Firmen/Firma%d.txt",bizz);
    FirmInfo[bizz][fColor] = col;
    dini_IntSet(pfad,"color",col);//0x00FF78FF
    new str[128];
    format(str,sizeof(str),"%s",FirmInfo[bizz][fName]);
    SCM(playerid,COLOR_LIGHTGREEN,"Du hast die Firmenfarbe in die unten folgende Schriftfarbe geändert!");
    SCM(playerid,col,str);
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_FIRMA_COLR,DIALOG_STYLE_INPUT,"Firmenfarbe ändern","Bitte gebe hier den Farbcode ein\n(Wichtig: Der Code muss so aussehen: XXXXXXFF!!!):","Weiter","Abbrechen");
    }
    }
    }
    }


    Leider, kommt bei jedem Wert den Ich angebe Schwarz raus...


    Bitte um schnelle hilfe :)


    lg

  • so wie man sie eingibt gespeichert wird?


    Indem du sie manuell da eingibst ^^


    Sprich so:


    "Ich bin ein Text in weiß {FF0000}ab hier bin ich rot."


    0xFF0000FF //rot
    //entspricht:
    {FF0000}


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Du verstehst das glaube Ich nicht ganz richtig :D


    Ich möchte, dass wenn man eine Farbe (0xXXXXXXFF) im Dialog angibt, diese in eine dini Datei geschrieben und gespeichert wird.
    Nur wenn des z.B. so eine Farbe ist: 0x00FF78FF bringt es mir nichts, das ganze in einen String umzuwandeln.
    Man bräuchte dafür eine art String to Hex funition.
    Habe nur diese gefunden:

    Spoiler anzeigen
    stock HexinString(farbe[])
    {
    strdel(farbe, 0, 2);
    new y = (strlen(farbe)-2), z = strlen(farbe);
    strdel(farbe, y, z);
    return farbe;
    }

  • Habe nur diese gefunden:


    Der Code da ist sogar von mir :D


    Aber mir fiel nach einiger Zeit auf, dass du das nicht musst, dieser Code ist ein HexCode bzw eine Hexadezimale Zahl und die kannst du ganz normal als Integer benutzen :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • ??? warum willst du das denn so machen?



    Rein logisch verbraucht das unnötig viel Ressourcen und ist einfach schlicht unnötig!


    MFG
    Geronimo


  • Der Code da ist sogar von mir :D


    Aber mir fiel nach einiger Zeit auf, dass du das nicht musst, dieser Code ist ein HexCode bzw eine Hexadezimale Zahl und die kannst du ganz normal als Integer benutzen :)


    mfg. :thumbup:

    also könnte ich new col = format(color,sizeof(color),"0x%s",inputtext);
    anstatt %s, %i oder %d verwenden?

    rein Theoretisch hast du recht.
    Praktisch ist das aber ein Guter Grundstein für mein System.