Beiträge von malE

    Du meinst das ?


    Bei OnGameModeInit

    SetTimer("Laune", 60000*2, true);



    forward Laune(playerid);
    public Laune(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) && PlayerInfo[i][pLoggedIn] != true)continue;
    if(PlayerInfo[playerid][pPremium] == 1) {
    PlayerInfo[i][pLaune] -= 2;
    PlayerInfo[i][pHygiene] -= 2;
    PlayerInfo[i][pHarndrang] -= 2;
    GetLaune(i);
    GameTextForPlayer(i, "~d~ Beduerfnisse ~d~", 3000, 4);
    return 1;
    }else {
    PlayerInfo[i][pLaune] -= 3;
    PlayerInfo[i][pHygiene] -= 3;
    PlayerInfo[i][pHarndrang] -= 3;
    GetLaune(i);
    GameTextForPlayer(i, "~d~ Beduerfnisse ~d~", 3000, 4);
    }
    return 1;
    }
    return 1;
    }

    Falls du es anders meinst. Wie?


    Das mit den Farben könnte auch an mein Interface Mod liegen.
    Ansonsten danke das du dir mal wieder die Zeit genommen hast.


    if(PlayerInfo[playerid][pHygiene] >= 90) {
    //beduerfniss = "frisch gewaschen";
    format(str, sizeof(str), "~b~~h~Hygiene: ~g~frisch gewaschen");
    TextDrawSetString(LauneTD[3], str);
    }
    else if(PlayerInfo[playerid][pHygiene] >= 70) {
    //beduerfniss = "gut";
    format(str, sizeof(str), "~b~~h~Hygiene: ~g~gut");
    TextDrawSetString(LauneTD[3], str);
    }
    else if(PlayerInfo[playerid][pHygiene] >= 50) {
    //beduerfniss = "schwitzend";
    format(str, sizeof(str), "~b~~h~Hygiene: ~y~schwitzend");
    TextDrawSetString(LauneTD[3], str);
    }
    else if(PlayerInfo[playerid][pHygiene] >= 30) {
    //beduerfniss = "stinkt";
    format(str, sizeof(str), "~b~~h~Hygiene: ~y~stinkt");
    TextDrawSetString(LauneTD[3], str);
    }
    else if(PlayerInfo[playerid][pHygiene] >= 20) {
    //beduerfniss = "schlecht";
    format(str, sizeof(str), "~b~~h~Hygiene: ~r~schlecht");
    TextDrawSetString(LauneTD[3], str);
    }
    else if(PlayerInfo[playerid][pHygiene] <= 13) {
    new Float:hp;
    GetPlayerHealth(playerid, hp);
    SetPlayerHealth(playerid, hp - 12.0);
    }



    LauneTD[3] = TextDrawCreate(502.333404, 123.199996, ""); //bsp. Hygiene: schwitzend
    TextDrawLetterSize(LauneTD[3], 0.327333, 1.139554);
    TextDrawAlignment(LauneTD[3], 1);
    TextDrawColor(LauneTD[3], -1);
    TextDrawSetShadow(LauneTD[3], 0);
    TextDrawSetOutline(LauneTD[3], 1);
    TextDrawBackgroundColor(LauneTD[3], 51);
    TextDrawFont(LauneTD[3], 3);
    TextDrawSetProportional(LauneTD[3], 1);
    TextDrawShowForPlayer(playerid, LauneTD[3]);


    // Edit
    Ich schicke dir alles was zum Code dazuzgehört als PN. Ich möchte ungern den ganzen Code veröffentlichen auch wenn es nicht viel ist.

    Danke dir daran lag es! Ist mir gerade etwas peinlich das ich so ein Fehler gemacht hab :S .


    // Edit
    Jeffry:


    format(str, sizeof(str), "~b~~h~Hygiene: ~g~frisch gewaschen");
    Warum wird mir hier nicht die Grüne Farbe angezeigt. Es wird alles bis auf Grün angezeigt.

    Ciao,


    hab ein Problem mit meinem stock GetLaune.



    stock GetLaune(playerid)
    {
    new laune[15];
    if(PlayerInfo[playerid][pLaune] >= 90) laune = "froehlich";
    if(PlayerInfo[playerid][pLaune] >= 70) laune = "gut";
    if(PlayerInfo[playerid][pLaune] >= 50) laune = "gelangweilt";
    if(PlayerInfo[playerid][pLaune] >= 30) laune = "traurig";
    if(PlayerInfo[playerid][pLaune] >= 20) laune = "depremiert";
    if(PlayerInfo[playerid][pLaune] >= 8) laune = "depressiv";
    if(PlayerInfo[playerid][pLaune] <= 6) SetPlayerHealth(playerid, 0.0);
    return laune;
    }


    Immer wenn ich mir die Laune auslesen lasse wird depressiv angezeigt. Obwohl meine Laune bei z.B 70 % also gut ist.


    if(ReturnPlayerID(entsprechenderName) != INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Spieler XY ist Online");
    else {
    return SendClientMessage(playerid, -1, "Spieler XY ist Offline");
    }

    So denke ich kannst ja mal probieren

    stock GetFrakColor2(fraktID)
    {
    switch(fraktID)
    {
    case 1: return 1;
    case 2: return 247;
    case 3: return 181;
    case 4: return 128;
    }
    return -1;
    }


    Kann mir jemand erklären warum die case`s so returnt werden? Und was es bringt .

    Sollte nun funktionieren - hab dein Code bisschen Optimiert.


    Spoiler anzeigen
    if(pickupid == fbirep)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
    }
    }else {
    return SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
    }
    }

    Spoiler anzeigen
    if(pickupid == sapdrep)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, BLAU, "Fahrzeug repariert.");
    }
    }else {
    return SendClientMessage(playerid, ROT, "Du bist Kein Beamter.");
    }
    }