Bild soll dunkler werden

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 möchte so machen das es mit textdraws so dunkler wird wie so in filmen das es nach ner zeit dunkler wird und nicht sofort schwarz ich weiß das ich mt PlayerTextDrawColor arbeiten muss nur wenn ich das teste ist es ein bisschen schwarz und dann ganz schwarz es soll aber langsam schwarz werden

  • Timer nehmen (35ms damit es flüssig ist) und das Alpha Level der Farbe ändern.


    Von 0x00000000 (Transparenz) bis 0x000000FF (Schwarz).
    Das wären 256 verschiedene Transparenzstufen, die kannst du entweder mit einem switch-case aufrufen, oder du bastelst Dir eine Funktion die das berechnen kann. Einfacher ist der switch alle mal, ist halt aufwändig alle 256 durchzugehen.

  • also könntest du mir bitte einen kleinen beispiel machen. Soll ich dann von 0 anfangen ist es dann nicht weiß ?


    Beispiel:

    new dark_timer;
    ////////////////////////////////////////////////
    dark_timer = SetTimer("LightToDark",33,true);
    ////////////////////////////////////////////////
    new colour_variable=0;
    func LightToDark()
    {
    printf("Farbe:: 0x%x",RGBAToHex(10,10,10,colour_variable));
    colour_variable++;
    if(colour_variable > 255) KillTimer(dark_timer);
    }
    ////////////////////////////////////////////////
    stock RGBAToHex(r, g, b, a) //By Betamaster
    {
    return (r<<24 | g<<16 | b<<8 | a);
    }

  • Könntest du mir das erklären das zeigt doch nur in der server log an welche farbe gerade ist ?


    Das soll ja auch nur die Funktion "RGBAToHex(10,10,10,colour_variable)" demonstrieren.
    Die Funktion anwenden solltest du schon selber, per Timer und so. Ich schicke doch keine fertigen Codes durch die Gegend ^^


    /e: In dem Code wird die Farbe übrigens immer dunkler, von 0 (0) bis FF (255)

  • switch(zaehler)
    {
    case 0: farbe = 0x00000000;
    case 1: farbe = 0x00000001;
    case 2: farbe = 0x00000002;
    case 3: farbe = 0x00000003;
    case 4: farbe = 0x00000004;
    case 5: farbe = 0x00000005;
    case 6: farbe = 0x00000006;
    case 7: farbe = 0x00000007;
    case 8: farbe = 0x00000008;
    case 9: farbe = 0x00000009;
    case 10: farbe = 0x0000000A;
    case 11: farbe = 0x0000000B;
    case 12: farbe = 0x0000000C;
    case 13: farbe = 0x0000000D;
    case 14: farbe = 0x0000000E;
    case 15: farbe = 0x0000000F;
    case 16: farbe = 0x00000010;
    case 17: farbe = 0x00000011;
    //usw...
    case 255: farbe = 0x000000FF;
    }


    Oder eben so wie Sharpadox: geschrieben hat, da haste die Funktion die dir das berechnet. Wenn du das nicht verstehst, nimm den switch.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Das 0x000000** ist die Farbe. ** steht für den Alpha Kanal, also von 00 bis FF (Hexadezimal). Du zählst einfach von 00 nach FF hoch, 256 cases (0-255). Das werde ich dir nicht machen.


    Hex: 0123456789ABCDEF
    Genauso zählen wie mit 0-9, nur dass du noch die Buchstaben mit nimmst.

  • sry ich bin zu dumm :D wie soll ich das den jetzte machen mit 256 cases ist mir klar switch(zaehler)
    {
    case 0: 0x00000000;
    case 1: 0x00000001;
    case 2: 0x00000002;
    case 3: 0x00000003;
    case 4: 0x00000004;
    case 5: 0x00000005;
    case 6: 0x00000006;
    case 7: 0x00000007;
    case 8: 0x00000008;
    case 9: 0x00000009;
    case 10: 0x0000000A;
    case 11: 0x0000000B;
    case 12: 0x0000000C;
    case 13: 0x0000000D;
    case 14: 0x0000000E;
    case 15: 0x0000000F;
    case 16: 0x00000010;
    case 16: 0x00000011;
    //usw...
    // case 255: 0x000000FF;
    }
    PlayerTextDrawShow(playerid,SchwarzeBox[playerid]);
    PlayerTextDrawColor(playerid,SchwarzeBox[playerid],zaehler);
    bringen erros ....


    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(290) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(291) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(292) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(293) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(294) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(295) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(296) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(297) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(298) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(299) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(300) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(301) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(302) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(303) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(304) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(305) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(306) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(307) : error 040: duplicate "case" label (value 16)
    C:\Dokumente und Einstellungen\Maurice\Desktop\blabla\gamemodes\south.pwn(307) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Einmal editiert, zuletzt von Maurice. ()

  • Du solltest lernen zu kopieren...


    Meins:
    case 0: farbe = 0x00000000;
    Deins:
    case 0: 0x00000000;


    Erkennst du den Fehler?


    farbe = Farbe
    zaehler = Der Zähler, damit der switch weiß, welche Farbe er nehmen soll.


    Beides sind Integer Werte.



    Case 16 war zwei mal vorhanden. Ausgebessert.