farbe ändern

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 ein dcmd onduty und offduty erstellt.ich möchte, das die farbe wenn er onduty geht verändert wird. das kann ich auch SetPlayerColor(playerid,FARBE);
    aber wenn er offduty geht, soll er seine alte farbe wieder bekommen, also die er hatte bevor er Onduty ist. Ich habs schon paarmal versucht doc nicht hinbkommen.


    hier mein script:


    dcmd_onduty(playerid,params[])
    {
    #pragma unused params
    new pname[MAX_PLAYER_NAME];
    new string[50];
    if(SpielerInfo[playerid][alvl]<1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin Level 1!");
    }
    else
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"Admin %s ist nun OnDuty!",pname);
    SendClientMessageToAll(0xD40000FF,string);
    godtimer[playerid] = SetTimerEx("godmode", 250, true, "i",playerid);
    SendClientMessage(playerid,COLOR_RED,"Du bist nun OnDuty");
    SetPlayerColor(playerid,0xC10000FF);//farbe wird geändert


    }
    return 1;
    }


    dcmd_offduty(playerid, params[])
    {
    #pragma unused params
    new pname[MAX_PLAYER_NAME];
    new string[50];
    if(SpielerInfo[playerid][alvl]<1)
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin Level 1!");
    }
    else
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"Admin %s ist wieder OffDuty!",pname);
    SendClientMessageToAll(0xD40000FF,string);
    KillTimer(godtimer[playerid]);
    SetPlayerHealth(playerid,100.0);
    SetPlayerArmour(playerid,0.0);
    SendClientMessage(playerid,COLOR_RED,"Du bist nun OffDuty!");
    //alte farbe wiederbekommen
    }
    return 1;
    }

  • Ich denke ma in deinem Script wird die farbe des spielers nicht oft gewächselt.
    Mach es so.
    Definiere deine Farbe die er hat ohne onduty zu sein.
    #define Farb_name Farbcode


    und bei offduty dan einfach SetPlayerColor(playerid,Farb_name);

  • das problem ist, das ich verschiedene teams habe und diese haben verschiedene farben. das heißt ich muss vorher die farbe abfragen.


    das problem ist das es nicht mit GetPlayerColor klappt, zumindest habe ich es nicht hinbekommen.

  • das du verschiedene teams hast ist doch egal.
    Die definierst du teamfarben halt.
    #define zum_beispiel_polizei 0xFFFFFFFF
    #define zum_beispiel_lolipop 0xGGGGGG


    Am ende setzt du dan halt den namen der definierten farbe ein anstatt den farbcode.

  • ja das problem: mein adminsystem ist ein filterscript. meine teams sint im gamemode. ich kann also nicht die teams abfragen. sonst wäre das kein problem. ich muss die farbe abfragen wenn er onduty geht und wenn er offduty geht bekommt er die wieder. vllt giebt es da auch noch andere möglichkeiten.

  • also:


    ich kann 100erte von farben definieren und sie dann mit SetPlayerColor verändern. bei mir besteht nur das problem, das es verschiedene Teams mit verschiedenen farben giebt. sobald er onduty geht soll er eine andere Farbe bekommen, so das jeder sieht: er ist onduty. wenn er wieder offduty geht, soll er seine alte wieder bekommen. ich könnte natürlich team abfragen und die farbe des teams geben, aber mein admin system ist ein filterscript und die teams stecken im gamemode.
    also muss ich die farbe abfragen mit irgenteiner variablen und dann ihm diese farbe geben. das klappt aber net mit GetPlayerColor.
    wenn doch dann helft mir bitte weiter oder sagt mir eine alternative


    mfg