Habe ein OCMD-Problem! Mein Duty-Befehl geht net

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
  • Hi Leute!


    Ich habe vor einen Ocmd:duty befehl zu machen aber ich kann den Duty-Befehl nicht nutzen!


    Da kommt: Du bist nich in deiner Base, aber warum ich bin ja am Point!


    Is da was falsch dran?: ocmd:duty(playerid,params[])
    {
    if(IstSpielerInFraktion(playerid,1) || IstSpielerInFraktion(playerid,2) || IstSpielerInFraktion(playerid,3)
    || IstSpielerInFraktion(playerid,4) || IstSpielerInFraktion(playerid,5) || IstSpielerInFraktion(playerid,6) || IstSpielerInFraktion(playerid,7) ||IstSpielerInFraktion(playerid,15))
    {
    if(IstSpielerInFraktion(playerid,1) && !IsPlayerInRangeOfPoint(playerid,5,227.0704,78.5325,1005.0391) || !IsPlayerInRangeOfPoint(playerid,5,229.6992,113.3576,1003.2188) || !IsPlayerInRangeOfPoint(playerid,5, 221.4055,171.0340,1003.0234)||
    IstSpielerInFraktion(playerid,2) && !IsPlayerInRangeOfPoint(playerid,5,326.8193,307.4062,999.1484) ||
    IstSpielerInFraktion(playerid,3) && !IsPlayerInRangeOfPoint(playerid,5,1276.4877,-54.7970,1002.5048) ||
    IstSpielerInFraktion(playerid,4) && !IsPlayerInRangeOfPoint(playerid,5,1718.0691,-1658.7612,20.1956) ||
    IstSpielerInFraktion(playerid,5) && !IsPlayerInRangeOfPoint(playerid,5,2533.3503,-1321.8154,1031.4219) ||
    IstSpielerInFraktion(playerid,6) && !IsPlayerInRangeOfPoint(playerid,5,-2026.3446,-114.5068,1035.1719) ||
    IstSpielerInFraktion(playerid,7) && !IsPlayerInRangeOfPoint(playerid,5,1173.4426,-1325.5009,1386.4264) || !IsPlayerInRangeOfPoint(playerid,5,1718.0691,-1658.7612,20.1956) ||//MEDICSF
    IstSpielerInFraktion(playerid,15) && !IsPlayerInRangeOfPoint(playerid,5,-1077.1544,-1230.9703,129.2188)
    ) return SendClientMessage(playerid,Rot,"Du bist nicht in deiner Base!");
    if(Duty[playerid] == false)
    {
    Duty[playerid] = true;
    SendClientMessage(playerid,Gruen,"Du bist nun OnDuty!");
    return 1;
    }
    else
    {
    Duty[playerid] = false;
    SendClientMessage(playerid,Orange,"Du bist nun OffDuty!");
    return 1;
    }
    }
    else return SendClientMessage(playerid,Rot,"Du bist dazu nicht befugt!");


    }


    Danke im Voraus

  • Mach den Befehl so:


    ocmd:duty(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") < 1)return SendClientMessage(playerid,GRAU,"Du bist dazu nicht befugt"); // ggf anpassen
    if(Duty[playerid] == false)
    {
    Duty[playerid] = true;
    SendClientMessage(playerid,Gruen,"Du bist nun OnDuty!");
    return 1;
    }
    else if(Duty[playerid] == true)
    {
    Duty[playerid] = false;
    SendClientMessage(playerid,Orange,"Du bist nun OffDuty!");
    return 1;
    }
    }


    }



    So müsste er Perfekt funktionieren, und ich empfehle dir mach deine IsPlayerInRangeOfPoint abfrage in einem stock rein ist definitiv Übersichtlicher..




    Grüße ^^


  • if((IstSpielerInFraktion(playerid,1) && !IsPlayerInRangeOfPoint(playerid,5,227.0704,78.5325,1005.0391) && !IsPlayerInRangeOfPoint(playerid,5,229.6992,113.3576,1003.2188) & !IsPlayerInRangeOfPoint(playerid,5, 221.4055,171.0340,1003.0234))||
    (IstSpielerInFraktion(playerid,2) && !IsPlayerInRangeOfPoint(playerid,5,326.8193,307.4062,999.1484)) || Und so weiter