farbe abfragen

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
  • Guten Tag


    Ich habe hier ein CMD gemacht, wo ein admin on duty geht. das klappt dann auch. ich möchte nun aber seine spieler farbe ändern. dies klappt auch. doch wenn er off duty geht, soll er seine alte farbe wiederbekommen. ich habe nun das hier:


    CMD:duty(playerid,params[]) {
    #pragma unused params
    new Float:farbe;
    farbe = GetPlayerColor(playerid);


    wenn er nun off duty geht:


    SetPlayerColor(playerid,farbe);


    dabei kommt das raus:


    C:\Users\Simon Siggelkow\Desktop\Pawno\filterscripts\gAdmin.pwn(6679) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Das klappt nicht, weil "farbe" als kein Float benutzt werden kann (z.B. 0x00AAAFFF ). Farben sind ja ein Zahlen- und Buchstabenwert, ein Float hingegen NUR ein Zahlenwert.


    Du kannst es so machen, indem du vorher schon die Farben definierst, also so:


    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_BLUE 0x0000F6AA
    #define COLOR_GREY 0xAFAFAFAA


    oben im script:


    new PreviousColor[MAX_PLAYERS];


    onplayerconnect:


    PreviousColor[playerid] = 0;


    Dann unter OnPlayercommand:


    //deine Befehlsform und da rein dann das einfügen:
    ...
    if(strcmp(GetPlayerColor(playerid), "0xFFFF00AA", true) == 0)
    {
    PreviousColor[playerid] = 1;
    }
    else if(strcmp(GetPlayerColor(playerid), "0x0000F6AA", true) == 0)
    {
    PreviousColor[playerid] = 2;
    }
    else if(strcmp(GetPlayerColor(playerid), "0xAFAFAFAA", true) == 0)
    {
    PreviousColor[playerid] = 3;
    }
    ...


    onplayerdisconnect:


    if(PreviousColor[playerid] == 1)
    {
    SetPlayerColor(playerid, COLOR_YELLOW);
    }
    else if(PreviousColor[playerid] == 2)
    {
    SetPlayerColor(playerid, COLOR_BLUE);
    }
    else if(PreviousColor[playerid] == 3)
    {
    SetPlayerColor(playerid, COLOR_GREY);
    }



    So nach dem Prinzip, könnte man es auch machen.

  • hmm nee ^^


    also
    ich habe verschiedene team und die haben verschiedene farben. wenn jetzt aber ein admin /duty on eingiebt, soll seine farbe abgefragt werden. wenn er /duty off macht, soll er die abgefragte farbe bekommen, da er eine andere farbe bekommt, wenn er /duty eingiebt.