Hilfe | Knast!

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
  • Hey Leute!
    Wo liegt das Problem?
    Meine Wanteds Werden nicht Gelöscht! Per (/clear) und Wenn ich im Knast bin auch nicht (/arrest)
    Der Code ...
    Arrest :

    Spoiler anzeigen
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }


    /clear

    Spoiler anzeigen
    ocmd:clear(playerid,params[]) {
    new pID,string[111],string2[111];
    if(sscanf(params,"u",pID)) { return SendClientMessage(playerid,BLAU,"Benutzung: /clear [playerid]"); }
    if(pID == playerid) { return SendClientMessage(playerid,ROT,"Du kannst nicht deine eigene Akte reinigen!"); }
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    SetPVarInt(pID,"Wanted",0);
    SetPlayerWantedLevel(pID,0);
    format(string2,sizeof(string2),"Du hast %s seine Akte gereinigt",SpielerName(pID));
    SendClientMessage(playerid,HELLBLAU,string2);
    format(string,sizeof(string),"%s hat deine Akte gereinigt",SpielerName(playerid));
    SendClientMessage(pID,HELLBLAU,string);
    }
    return 1;
    }


    LG
    Crocky :/

  • Versuch den Command "/clear" mal so

    Spoiler anzeigen

    ocmd:clear(playerid,params[]) {
    new pID,string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"Benutzung: /clear [playerid]");
    if(pID == playerid)return SendClientMessage(playerid,ROT,"Du kannst nicht deine eigene Akte reinigen!");
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14){
    SetPVarInt(pID,"Wanted",0);
    SetPlayerWantedLevel(pID,0);
    format(string,sizeof(string),"Du hast %s seine Akte gereinigt",SpielerName(pID));
    SendClientMessage(playerid,HELLBLAU,string);
    format(string,sizeof(string),"%s hat deine Akte gereinigt",SpielerName(playerid));
    SendClientMessage(pID,HELLBLAU,string);
    }
    return 1;
    }

  • Das ging ja .... Und bei /stats steht das Auch ...
    Stats :

    Spoiler anzeigen

    stock ShowStats(playerid, pID)
    {
    new string[1024], string2[1024], endformat[1024];
    new sex[16], ftext[24], jtext[24];
    new team = Spieler[playerid][Team];
    new job = Spieler[playerid][Job];
    if(team == 0){ftext ="--"; }
    else if(team == 1){ ftext ="LSPD"; }
    else if(team == 0){ ftext ="FBI"; }
    else if(team == 3 ){ ftext ="Sanitäter"; }
    else if(team == 4 ){ ftext ="Hitman"; }
    else if(team == 5 ){ ftext ="News Reporter"; }
    else if(team == 6 ){ ftext ="Pennergang"; }
    else if(team == 7 ){ ftext ="Ordnungsamt"; }
    else if(team == 8 ){ ftext ="Russen Mafia"; }
    else if(team == 9 ){ ftext ="Yakuza"; }
    else if(team == 10){ ftext ="Ballas"; }
    else if(team == 11){ ftext ="Grove Street"; }
    else if(team == 12){ ftext ="Uzunu Clan "; }
    else if(team == 13){ ftext ="Feuerwehr"; }
    else if(team == 14){ ftext ="Bundeswehr"; }
    else if(team == 15){ ftext ="SWAT"; }
    else if(team == 16){ ftext ="Punkx Bikergang"; }
    else if(team == 17){ ftext ="Aztecas"; }
    else if(team == 18){ ftext ="Vagos"; }
    else if(team == 19){ ftext ="West Coast Custom"; }
    else if(team == 20){ ftext ="2Fast2Furios"; }

    Spoiler anzeigen
    if(job == 0){ jtext ="--";}
    else if(job == 1){ jtext ="Pilot"; }
    else if(job == 2){ jtext ="Busfahrer"; }
    else if(job == 3){ jtext ="Müllmann"; }
    else if(job == 4){ jtext ="Taxifahrer"; }
    else if(job == 5){ jtext ="Drogendealer"; }
    else if(job == 6){ jtext ="Waffendealer"; }
    else if(job == 7){ jtext ="Anwalt"; }
    else if(job == 8){ jtext ="Mienenarbeiter"; }
    if(Spieler[playerid][Geschlecht] == 1){ sex ="Weiblich"; }
    else if(Spieler[playerid][Geschlecht] == 2){ sex ="Männlich"; } //Zeit bis PayDay: %d/60
    format(string, sizeof(string), "Personalien:\tGeschlecht: %s\n\n\n\t\tLevel: %d\n\n\n\t\tAdmin: %d\n\t\tRespekt: %d/%d\n\nBerufe:\tFraktion: %s\tRang: %d\n\t\tNebenjob: %s\n\nFinanzen:\tBargeld: %d$\n\t\tKonto: %d$\n\t\tFestgeld: %d$\tZinssatz: 3.50\n\nStatistik:\tMorde: %d\n\t\tGestorben: %d\n\t\tVerbrechen: %d\n\t\tPayDay's: %i\n\t\tKnast: %d\n\t\tWanteds: %d\n\t\tVerwarnungen: %d / 3\n\n\t\tPremium: %d\n\t\tStrafpunkte: %d\n",
    sex,
    Spieler[playerid][Level],
    Spieler[playerid][Admin],
    Spieler[playerid][Exp],
    Spieler[playerid][MaxExp],
    ftext,
    Spieler[playerid][Rank],
    jtext,
    Spieler[playerid][Money],
    GetPVarInt(playerid,"Bank"),
    Spieler[playerid][Festgeld],
    Spieler[playerid][Morde],
    Spieler[playerid][Gestorben],
    Spieler[playerid][Verbrechen],
    Spieler[playerid][Spielzeit],
    Spieler[playerid][Knast],
    Spieler[playerid][Wanteds],
    Spieler[playerid][Verwarnungen],
    Spieler[playerid][Premium],
    GetPVarInt(playerid,"Punkte"));

    printf("%i", Spieler[playerid][Bank]);

    Spoiler anzeigen
    format(string2, sizeof(string2), "Inventar:\tMaterialien: %d (Safe: %d)\n\t\tDrogen: %d (Safe: %d)\n\t\tHandy(Nr. %d)\n\nSkills:\t\tDrogendealer: %d\n\t\tNews Reporter: %d\n\t\tAngler: %d\n\t\tBusfahrer: %d\tExp: %d/%d\n\t\tAnwalt: %d\tExp: %d\n\t\tPilot: %d\n",
    Spieler[playerid][Mats],
    Spieler[playerid][SafeMats],
    Spieler[playerid][Drugs],
    Spieler[playerid][SafeDrugs],
    Spieler[playerid][Nummer],
    Spieler[playerid][DrugSkill],
    Spieler[playerid][NewsSkill],
    Spieler[playerid][AnglerSkill],
    Spieler[playerid][BusSkill],
    Spieler[playerid][BusExp],
    Spieler[playerid][BusMaxExp],
    Spieler[playerid][AnwaltSkill],
    Spieler[playerid][AnwaltExp],
    Spieler[playerid][PilotSkill]);
    format(endformat, sizeof(endformat), "%s%s", string, string2);
    ShowPlayerDialog(pID, DIALOG_STATS, DIALOG_STYLE_MSGBOX, SpielerName(playerid), endformat , "Schließen", "");
    return 1;
    }

    Spoiler anzeigen
    if(strcmp(cmd, "/wanted", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    new x, string[128];
    SendClientMessage(playerid, BLAU, "|_______ Wanted Liste _______|");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Spieler[i][Wanteds] > 0)
    {
    format(string, sizeof(string), "%s%s [ID: %d]: %d", string, SpielerName(i), i, Spieler[i][Wanteds]);
    x++;
    if(x > 3)
    {
    SendClientMessage(playerid, COLOR_YELLOW, string);
    x = 0;
    format(string, sizeof(string), "");
    }
    else
    {
    format(string, sizeof(string), "%s, ", string);
    }
    }
    }
    }
    if(x <= 3 && x > 0)
    {
    string[strlen(string)-2] = '.';
    SendClientMessage(playerid, BLAU, string);
    }
    }
    else
    {
    return SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    }
    }
    return 1;
    }

    WP Liste :

  • So hab ichs und es Funzt :)


    COMMAND:clear(playerid,params[])
    {
    if(IsPlayerInFrakt(playerid,1) || IsPlayerInFrakt(playerid,2) || IsPlayerInFrakt(playerid,3) || IsPlayerInFrakt(playerid,14))
    {
    new giveplayerid;
    new string[128], string2[128];
    if(sscanf(params, "i", giveplayerid))return SendClientMessage(playerid,FARBE_ROT,"Tippe: /clear <PLAYERID>");
    SetPlayerWantedLevel(giveplayerid,0);
    format(string,sizeof(string),"** Du hast die Akten von %s gelöscht!",Spielername(giveplayerid));
    format(string2,sizeof(string2),"** Officer %s hat deine Akten gelöscht!",Spielername(playerid));
    SendClientMessage(playerid,FARBE_TÜRKIS,string);
    SendClientMessage(giveplayerid,FARBE_TÜRKIS,string2);
    }
    return 1;
    }

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

  • da du ja bei deinem Wanted übersicht befehl die variable formatierst, also als aktuelle wanteds ausgeben lässt, musst du diese variable logischer weise auch an die Wanteds immer anpassen.


    oder du macht es so:

    format(string, sizeof(string), "%s%s [ID: %d]: %d", string, SpielerName(i), i, GetPlayerWantedLevel(i));


    hier lässt du einfach die aktuellen "genauen" Wanteds ausgeben

  • also entweder du macht dein /clear so

    ocmd:clear(playerid,params[]) {
    new pID,string[111],string2[111];
    if(sscanf(params,"u",pID)) { return SendClientMessage(playerid,BLAU,"Benutzung: /clear [playerid]"); }
    if(pID == playerid) { return SendClientMessage(playerid,ROT,"Du kannst nicht deine eigene Akte reinigen!"); }
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    SetPVarInt(pID,"Wanted",0);
    Spieler[pID][Wanteds] = 0;
    SetPlayerWantedLevel(pID,0);
    format(string2,sizeof(string2),"Du hast %s seine Akte gereinigt",SpielerName(pID));
    SendClientMessage(playerid,HELLBLAU,string2);
    format(string,sizeof(string),"%s hat deine Akte gereinigt",SpielerName(playerid));
    SendClientMessage(pID,HELLBLAU,string);
    }
    return 1;
    }


    oder du lässt die variable ganz weg, und arbeitest nur mit Set- / GetPlayerWantedLevel

  • So, Das Geht jetzt.
    ABER ich habe noch einen Fail. Wenn ich jemand in den Knast Stecke (/arrest ID) geht das Zwar, aber der Spieler Spawnt am Normalen Spawn & Die WP gehen nicht weg ...
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }

  • Die wanteds gehen auch da nicht weg, da dort auch kein SetPlayerWantedLevel vorhanden ist.
    Der Spieler spawnt am normalen spawn, weil du ihn auch komplett respawnen lässt..
    diese Zeile lässt ihn respawnen

    SpawnPlayer(giveplayerid);

    damit der Spieler alle Wanteds wegbekommt, muss du das selbe, wie du auch vorhin bei dem /clear eingefügt hat, einfügen.

    Spieler[giveplayerid][Wanteds] = 0;
    SetPlayerWantedLevel(giveplayerid,0);

  • So?

    Spoiler anzeigen
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    Spieler[giveplayerid][Wanteds] = 0;
    SetPlayerWantedLevel(giveplayerid,0);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen