/reinigen nur sich selber

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
  • habe das umgebaut von /clear und möchte gerne das mann sich nur selber seine wanted reinigen kann
    weil ich kann auch andere reinigen und das will ich nicht


    if(strcmp(cmd, "/reinigen", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsAGang(playerid))
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    if(IsPlayerInRangeOfPoint(playerid,5.0,-2187.4885,696.0842,46.8824))


    if(GetPlayerInterior(playerid) == 3 || GetPlayerInterior(playerid) == 10 || GetPlayerInterior(playerid) == 6 || IsACopCar(tmpcar))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutz: /reinigen [Spielerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "*Du hast die Akte von %s gereinigt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "*%s hat deine Akte im Versteck gereinigt.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    format(string, sizeof(string), "%s hat %s's Akte im Versteck gereinigt.", sendername, giveplayer);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    Clear(string);
    }
    }
    WantedPoints[giveplayerid] = 0;
    WantedLevel[giveplayerid] = 0;
    ClearCrime(giveplayerid);
    SetPlayerWantedLevel(giveplayerid,0);
    if(gTeam[giveplayerid]==4)
    {
    gTeam[giveplayerid] = 3;
    SetPlayerToTeamColor(giveplayerid);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht online!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist nicht im Versteck beim reinigungs Punkt!");
    return 1;
    }
    }
    }//not connected
    return 1;
    }

  • Dann reicht es auch so ..


    if(strcmp(cmd,"/reinigen") true ) == 0)
    {
    if(!WantedLevel[playerid] == 0)
    {
    WantedPoints[playerid] = 0;
    WantedLevel[playerid] = 0;
    SendClientMessage(playerid,Farbe,"Du hast deine Akte gereinigt");
    return 1;
    }
    }

  • if(strcmp(cmd,"/reinigen") true ) == 0)
    {
    if(!WantedLevel[playerid] == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0,-2187.4885,696.0842,46.8824 ))
    {
    WantedPoints[playerid] = 0;
    WantedLevel[playerid] = 0;
    SendClientMessage(playerid,Farbe,"Du hast deine Akte gereinigt");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, FARBE, "Du bist nicht am richtigen Punkt.");
    }
    }
    }


    Gruß,
    Neo. :)

  • Klar, man kann alles ;)




    // Oben im Script:
    new gereinigt[MAX_PLAYERS];



    if(strcmp(cmd,"/reinigen") true ) == 0)
    {
    if(!WantedLevel[playerid] == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0,-2187.4885,696.0842,46.8824 ))
    {
    if(gereinigt[playerid] == 0)
    {
    WantedPoints[playerid] = 0;
    WantedLevel[playerid] = 0;
    SendClientMessage(playerid,Farbe,"Du reinigst deine Akte. Dies dauert eine Minute");
    TogglePlayerControllable(playerid, false);
    SetTimerEx("freezeTimer", 60000, false, "i", playerid);
    SetTimerEx("reinigenTimer", 3000000, false, "i", playerid);
    gereinigt[playerid] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, FARBE, "Du kannst deine Akte nur alle 30 Minuten reinigen!");
    }
    }
    else
    {
    SendClientMessage(playerid, FARBE, "Du bist nicht am richtigen Punkt.");
    }
    }
    }


    forward freezeTimer(playerid);
    public freezeTimer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    SendClientMessage(playerid, FARBE,"Du hast deine Akte erfolgreich gereinigt.");
    return 1;
    }


    forward reinigenTimer(playerid);
    public reinigenTimer(playerid)
    {
    gereinigt[playerid] = 0;
    return 1;
    }


    So, wenn ich nichts vergessen habe, sollte das so gehen.


    Gruß,
    Neo. :)