/dienst Skin geben

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
  • if(strcmp(cmd,"/dienst",true)==0)
    {
    if(SpielerInfo[playerid][sLeader] == 22 || SpielerInfo[playerid][sMember] == 22)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,1639.2731,-1527.6267,13.5906))
    {
    if(OnDuty[playerid])
    {
    OnDuty[playerid] = 0;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun nicht mehr im Dienst!");
    ResetPlayerWeapons(playerid);
    }
    else
    {
    GivePlayerWeapon(playerid,9,1);
    GivePlayerWeapon(playerid,42,99999);
    OnDuty[playerid] = 1;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht am Dienst-Punkt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du brauchst nicht in den Dienst zu gehen.");
    }
    return 1;
    }


    Wenn die Feuerwehr in dienst geht soll sie den Skin nehmen : 279


    und wenn sie Offduty gehen die 164


    Wie muss ich das machen ?

  • Meiner Meinung nach so:


    if(strcmp(cmd,"/dienst",true)==0)
    {
    if(SpielerInfo[playerid][sLeader] == 22 || SpielerInfo[playerid][sMember] == 22)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,1639.2731,-1527.6267,13.5906))
    {
    if(OnDuty[playerid])
    {
    OnDuty[playerid] = 0;
    SetPlayerSkin(playerid,164);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun nicht mehr im Dienst!");
    ResetPlayerWeapons(playerid);
    }
    else
    {
    GivePlayerWeapon(playerid,9,1);
    GivePlayerWeapon(playerid,42,99999);
    SetPlayerSkin(playerid,279);
    OnDuty[playerid] = 1;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht am Dienst-Punkt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du brauchst nicht in den Dienst zu gehen.");
    }
    return 1;
    }


    Aber ich bin mir nicht ganz sicher, teste es einfach mal :)

    **~~Favorite~~**

  • Hier noch eine kleine Verbesserung:
    if(strcmp(cmd,"/dienst",true)==0)
    {
    if(SpielerInfo[playerid][sLeader] == 22 || SpielerInfo[playerid][sMember] == 22)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,1639.2731,-1527.6267,13.5906))
    {
    if(OnDuty[playerid] ==1)
    {
    OnDuty[playerid] = 0;
    SetPlayerSkin(playerid,164);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun nicht mehr im Dienst!");
    ResetPlayerWeapons(playerid);
    }else{
    GivePlayerWeapon(playerid,9,1);
    GivePlayerWeapon(playerid,42,99999);
    SetPlayerSkin(playerid,279);
    OnDuty[playerid] = 1;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du bist nun im Dienst!");
    }
    }else{
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht am Dienst-Punkt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du brauchst nicht in den Dienst zu gehen.");
    }
    return 1;
    }


    Und noch ein Tip: Ich würde keine "normale" Variable dafür benutzen, die frisst zuviele Ressourcen. Ich würde dir raten, mit SetPVarInt
    //und
    GetPVarInt 
    zu arbeiten, da dies viel Ressourcen schonender ist als wie du es machst.



    MfG Waoler