ocmd:clear funkt nicht

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, jetz mal wieder ich :/


    Also wollte einen Befehl zum clearen von Wanteds erstellen und da hauts mich :/


    Neuestes Script:


    ocmd:clear(playerid,params[])
    {
    if(!IsPlayerInFrakt(playerid,1)) return 0;
    new Cop[128],Grund[128],Verbrecher[128];
    if(sscanf(params,"uis",playerid,Grund))return SendClientMessage(playerid,ROT,"/clear [SpielerID] [Grund]");
    SetPlayerWantedLevel(playerid,0);
    format(Cop,sizeof(Cop),"Du hast %s Akte gereinigt. Grund %s",SpielerName(playerid),Grund);
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid),Grund);
    SendClientMessage(playerid,BLAU,Cop);
    SendClientMessage(playerid,ROT,Verbrecher);
    SendClientMessage(playerid,ROT,Grund);
    SpielerSpeichern(playerid);
    return 1;
    }

    Einmal editiert, zuletzt von [PRS]Chris ()

  • es kommen keine Fehler.


    Ingame kann ich den Command nicht nutzen :/

  • ocmd:clear(playerid,params[])
    {
    if(!IsPlayerInFrakt(playerid,1)) return 1;
    new Cop[128],Grund[128],Verbrecher[128];
    if(sscanf(params,"uis",playerid,Grund))return SendClientMessage(playerid,ROT,"/clear [SpielerID] [Grund]");
    SetPlayerWantedLevel(playerid,0);
    format(Cop,sizeof(Cop),"Du hast %s Akte gereinigt. Grund %s",SpielerName(playerid),Grund);
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid));
    SpielerSpeicher(playerid);
    return 1;
    }

    Der Fehler lag darin, dass du abfragst ob der Spieler in Fraktion 1 ist und dann mit 1 returnst, deshalb geht es weiter. Mach daraus ein return 0;

  • Außerdem:
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid)); wen du den Grund dabei haben willst musst du des so schreiben format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid),Grund);

  • geht nicht!


    Ich kann die nicht weggclearen, da immer das kommt:


    /clear [SpielerID] [Grund]


    ich mache


    /clear 0 test


    und dann kommt das wieder:


    /clear [SpielerID] [Grund]

  • ocmd:clear(playerid,params[])
    {
    if(!IsPlayerInFrakt(playerid,1)) return 1;
    new Cop[128],Grund[128],Verbrecher[128],userid;
    if(sscanf(params,"us",userid,Grund))return SendClientMessage(playerid,ROT,"/clear [SpielerID] [Grund]");
    SetPlayerWantedLevel(userid,0);
    format(Cop,sizeof(Cop),"Du hast %s Akte gereinigt. Grund %s",SpielerName(playerid),Grund);
    SendClientMessage(playerid, COLOR_ORANGE, Cop);
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid));
    SendClientMessage(userid, COLOR_ORANGE,Verbrecher);
    SpielerSpeicher(playerid);
    return 1;
    }


    Das müsste nun endgültig funktionieren.

  • ocmd:clear(playerid,params[])
    {
    if(!IsPlayerInFrakt(playerid,1)) return 0;
    new Cop[128],Verbrecher[128];
    new verbrecher,grund;
    if(sscanf(params,"su",verbrecher,grund))return SendClientMessage(playerid,ROT,"/clear [SpielerID] [Grund]");
    SetPlayerWantedLevel(verbrecher,0);
    format(Cop,sizeof(Cop),"Du hast %s Akte gereinigt. Grund %s",verbrecher,Grund);
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid),grund);
    SendClientMessage(playerid,BLAU,Cop);
    SendClientMessage(verbrecher,ROT,Verbrecher);
    SpielerSpeichern(playerid);
    return 1;
    }

    Ungetestet und im Forum geschrieben kann nicht versichern, das es geht!


    edit: Code verbessert!

  • super danke es geht!


    Allerdings hab ich ein Problem und zwar werden die Wanteds bei einem Relog nicht geladen!


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Bankguthaben",dini_Int(Spielerdatei,"Bankguthaben"));
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Wanted",dini_Int(Spielerdatei,"Wanted"));
    SpawnPlayer(playerid);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Wanted",GetPlayerWantedLevel(playerid));
    }
    return 1;
    }


    .txt Datei:


    Passwort=****************************
    Level=5
    Geld=9999585
    Adminlevel=5
    Fraktion=1
    Baned=0
    Skin=280
    Wanted=1


    die Wanteds wenn ich Ingame gebe, dann speichert er es auch unter der .txt Datei!

  • nich nen Fehler


    if(sscanf(params,"uis",playerid,Grund))

    es muss heissen
    if(sscanf(params,"us",playerid,Grund))

  • stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Bankguthaben",dini_Int(Spielerdatei,"Bankguthaben"));
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Wanted",dini_Int(Spielerdatei,"Wanted"));
    SetPlayerWantedLevel(playerid, GetPVarInt(playerid, "Wanted"));
    SpawnPlayer(playerid);
    return 1;
    }


    Um die Sterne anzuzeigen musst du
    SetPlayerWantedLevel(playerid, wanted);
    benutzen.

  • @Kingston


    bei mir schmiert der Server imma ab wen ich /clear 0 0 eingebe
    ocmd:clear(playerid,params[])
    {
    if(!fraktion(playerid,1)) return 1;
    new Cop[128],Grund[128],Verbrecher[128],userid;
    if(sscanf(params,"us",playerid,Grund))return SendClientMessage(playerid,ROT,"/clear [SpielerID] [Grund]");
    SetPlayerWantedLevel(userid,0);
    format(Cop,sizeof(Cop),"Du hast %s Akte gereinigt. Grund %s",SpielerName(playerid),Grund);
    SendClientMessage(playerid, ORANGE, Cop);
    //format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid));//Felerhaft
    format(Verbrecher,sizeof(Verbrecher),"Der Polizist %s hat deine Akte gereinigt! Grund: %s",SpielerName(playerid),Grund);//so ist richtig
    SendClientMessage(userid, ORANGE,Verbrecher);
    SpielerSpeichern(playerid);
    return 1;
    }


    könntest mir da mal helfen ?
    //edit


    habs gefunden :D

    Einmal editiert, zuletzt von Kevin B. ()