Wie mache ich diesen befehl für 2 frakionenen?

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
  • hallo wie mache ich das dieser befehl ocmd:su(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") !=1)return SendClientMessage(playerid,Rot,"Du bist kein Cop oder bundes Beamter");
    new pID,Anzahl;
    if(sscanf(params,"ui",pID,Anzahl))return SendClientMessage(playerid,Orange,"BENUTZE:/su [playerid][Anzahl][Grund]");
    SetPlayerWantedLevel(pID,Anzahl);
    SetPlayerColor(pID,Türkies);
    return 1;
    }
    von den cops und noch vo den armys( frak id = 5 )

  • Benutze "&&"
    ocmd:su(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") !=1 && GetPVarInt(playerid,"Fraktion") !=5)return SendClientMessage(playerid,Rot,"Du bist kein Cop oder bundes Beamter");
    new pID,Anzahl;
    if(sscanf(params,"ui",pID,Anzahl))return SendClientMessage(playerid,Orange,"BENUTZE:/su [playerid][Anzahl][Grund]");
    SetPlayerWantedLevel(pID,Anzahl);
    SetPlayerColor(pID,Türkies);
    return 1;
    }


    sollte klappen
    //Edit
    Würde dir aber empfehlen dass zuerst die Wanteds ausgelesen werden und dann um "Anzahl" zu vergrößern.
    Wie es jetzt ist müssen die Cops immer die Wanteds neu zusammrechnen.


  • total falsch "&&" fragt ab ob der Spieler in beiden fraktionen ist du musst statt "&&" "||" (Das bedeutet Oder)
    in deinem fall fragt er wen du || hast ab ob der spieler in fraktion X oder Y ist.

  • Ich geb dir nen Tipp, mach das so :

    ocmd:su(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") !=1 || GetPVarInt(playerid,"Fraktion") !=5)return SendClientMessage(playerid,Rot,"Du bist kein Cop oder Bundes Beamter");
    new pID,Anzahl,reason[35], string[128];
    if(sscanf(params,"uds",pID,Anzahl,reason))return SendClientMessage(playerid,Orange,"BENUTZE:/su [playerid][Anzahl][Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Rot,"Dieser Spieler ist offline!");
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID)+Anzahl);
    SetPVarInt(pID,"Wanted",Anzahl);// Das dann halt bei SpielerSpeichern etc reinmachen.
    format(string,sizeof(string),"Beamter %s hat dem Verbrecher %s %d Wanteds gegeben. Grund: %s",SpielerName(playerid),SpielerName(pID),Anzahl,reason);
    SendCopMessage(Türkies,string);
    format(string,sizeof(string),"Beamter %s hat dir %d Wanteds gegeben. Grund: %s",SpielerName(playerid),Anzahl,reason);
    SendClientMessage(pID,Türkies,string);
    /*SetPlayerColor(pID,Türkies);*/ // Was soll das bringen? Das dann der Spieler als Tuerkis markiert wird? Die Bullen können ihn dann immer und überall sehen? Das ist nicht RL!
    return 1;
    }


    Dann unten im Script :

    stock SendCopMessage(color, string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Fraktion")==1 || GetPVarInt(i,"Fraktion)==5)))
    {
    SendClientMessage(i, Türkies, string);
    }
    }
    }
    }


    Bin mir nicht sicher ob das alles so funktioniert, falls Errors kommen, melde dich bei mir.


    //edit

    Mit unfreundlichen Grüßen
    Buschmensch

  • ocmd:su(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") != 1 || GetPVarInt(playerid,"Fraktion") != 5)return SendClientMessage(playerid,Rot,"Du bist kein Cop oder bundes Beamter");
    new pID,Anzahl;
    if(sscanf(params,"ui",pID,Anzahl))return SendClientMessage(playerid,Orange,"BENUTZE:/su [playerid][Anzahl][Grund]");
    SetPlayerWantedLevel(pID,Anzahl);
    SetPlayerColor(pID,Türkies);
    return 1;
    }

  • Zitat

    /*SetPlayerColor(pID,Türkies);*/ // Was soll das bringen? Das dann der Spieler als Tuerkis markiert wird? Die Bullen können ihn dann immer und überall sehen? Das ist nicht RL!


    Dir ist klar, dass SetPlayerColor nur die Farbe auf Türkis setzt ?


    U failed.