Hacker System

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
  • Dann müsste es doch meinem Verständnis nach so sein, oder?
    if(Spieler[pID][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat keine Wanteds.");
    zu:
    if(Spieler[playerid][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Wanteds.");

  • Dann müsste es doch meinem Verständnis nach so sein, oder?
    if(Spieler[pID][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat keine Wanteds.");
    zu:
    if(Spieler[playerid][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Wanteds.");

    Also jetzt geht es Angebot senden + Geld abziehen nach /accept aber die Wanteds werden nicht gelöscht..

  • Wie gibst du dem Spieler denn die Wanteds? (Code)


    Poste dazu bitte den aktuellen Accept Befehl nochmal.

    else if(strcmp(option, "hacken", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    new pID = HackAntrag[playerid]; //Damit es einfacher ist. pID entspricht HackAntrag[playerid].
    if(pID != INVALID_PLAYER_ID)
    {
    if(HackAntrag[pID] != INVALID_PLAYER_ID)
    {
    if(IsLoggedIn(pID))
    {
    GetPlayerPos(pID, X, Y, Z);
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der Nähe vom Spieler.");
    new WantedsHack = HackWanteds[playerid];
    new Geld = HackBetrag[playerid];
    if(GetMoney(pID) < Geld)return SendClientMessage(playerid, COLOR_GREY, "Dein Partner hat nicht genügend Geld.");


    if(WantedsHack < 0 || WantedsHack > 5)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur zwischen 1 und 5 Wanteds löschen.");
    if(Spieler[playerid][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Wanteds.");
    OnWantedChange(pID, Spieler[pID][pWanteds], (Spieler[pID][pWanteds]-WantedsHack));
    Spieler[pID][pWanteds] -= WantedsHack;
    if(Spieler[pID][pWanteds] <= 0)Spieler[pID][pWanteds] = 0;


    new string[145];
    GetPlayerName(pID, string, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du hast %s den Hackbetrag genommen (+$%d).", string, Geld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    GiveMoney(playerid, Geld);
    GiveMoney(pID, -Geld);


    HackBetrag[playerid] = 0;
    HackBetrag[pID] = 0;
    HackWanteds[playerid] = 0;
    HackWanteds[pID] = 0;
    HackAntrag[pID] = INVALID_PLAYER_ID;
    }
    }
    }
    return 1;
    }//Aktueller Accept Befehl


    CMD:suspect(playerid, params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    new pID, wanteds, string[128], reason[64];
    if(!(Spieler[playerid][pFraktion] == 1))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter.");
    if(sscanf(params, "uis[64]", pID, wanteds, reason))return SendClientMessage(playerid, COLOR_GREY, "Benutze (/su)spect [SpielerID/Name] [Wanteds] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, ERROR_OFFLINE);
    if(IsPlayerNPC(pID))return 1;
    //if(Spieler[pID][pFraktion] == 1)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist ein Beamter.");
    if(Spieler[pID][pJailed] == 1)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist im Gefängnis.");
    if(wanteds < 1 || wanteds > 10)return SendClientMessage(playerid, COLOR_GREY, "Du kannst maximal 10 Wanteds gleichzeitig vergeben.");
    if(Spieler[pID][pWanteds] >= 500)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat 500 Wanteds.");
    OnWantedChange(pID, Spieler[pID][pWanteds], (Spieler[pID][pWanteds]+wanteds));
    Spieler[pID][pWanteds] += wanteds;
    format(string, sizeof(string), "Du hast ein Verbrechen begangen. (%s) Reporter: %s", reason, GetName(playerid));
    SendClientMessage(pID, COLOR_RED, string);
    format(string, sizeof(string), "Dein aktuelles Wanted Level: %d", Spieler[pID][pWanteds]);
    SendClientMessage(pID, COLOR_YELLOW, string);
    format(string, sizeof(string), "HQ: %s (ID: %d) hat ein Verbrechen begangen: %s, over.", GetName(pID), pID, reason);
    SendFraktionMessage(1, COLOR_COP_MELDUNG, string);
    format(string, sizeof(string), "HQ: Reporter: %s, Aktuelles Wantedlevel: %d, over.", GetName(playerid), Spieler[pID][pWanteds]);
    SendFraktionMessage(1, COLOR_COP_MELDUNG, string);
    UpdateWantedTD(pID);
    format(Spieler[pID][pWantedReason], 32, reason);
    return 1;
    }//So kann man Wanteds vergeben, oder welchen Code brauchst du?

  • Ein paar pID und playerid's waren da noch vertauscht.
    Versuche es so:
    else if(strcmp(option, "hacken", true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    new pID = HackAntrag[playerid]; //Damit es einfacher ist. pID entspricht HackAntrag[playerid].
    if(pID != INVALID_PLAYER_ID)
    {
    if(HackAntrag[pID] != INVALID_PLAYER_ID)
    {
    if(IsLoggedIn(pID))
    {
    GetPlayerPos(pID, X, Y, Z);
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der Nähe vom Spieler.");
    new WantedsHack = HackWanteds[playerid];
    new Geld = HackBetrag[playerid];
    if(GetMoney(pID) < Geld)return SendClientMessage(playerid, COLOR_GREY, "Dein Partner hat nicht genügend Geld.");


    if(WantedsHack < 0 || WantedsHack > 5)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur zwischen 1 und 5 Wanteds löschen.");
    if(Spieler[playerid][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Wanteds.");
    OnWantedChange(playerid, Spieler[playerid][pWanteds], (Spieler[playerid][pWanteds]-WantedsHack));
    Spieler[playerid][pWanteds] -= WantedsHack;
    if(Spieler[playerid][pWanteds] <= 0)Spieler[playerid][pWanteds] = 0;


    new string[145];
    GetPlayerName(pID, string, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Du hast %s den Hackbetrag gesendet (+$%d).", string, Geld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    GiveMoney(playerid, -Geld);
    GiveMoney(pID, Geld);


    HackBetrag[playerid] = 0;
    HackBetrag[pID] = 0;
    HackWanteds[playerid] = 0;
    HackWanteds[pID] = 0;
    HackAntrag[pID] = INVALID_PLAYER_ID;
    }
    }
    }
    return 1;
    }

  • Ein paar pID und playerid's waren da noch vertauscht.
    Versuche es so:
    else if(strcmp(option, "hacken", true) == 0){ new Float:X, Float:Y, Float:Z; new pID = HackAntrag[playerid]; //Damit es einfacher ist. pID entspricht HackAntrag[playerid]. if(pID != INVALID_PLAYER_ID) { if(HackAntrag[pID] != INVALID_PLAYER_ID) { if(IsLoggedIn(pID)) { GetPlayerPos(pID, X, Y, Z); if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der Nähe vom Spieler."); new WantedsHack = HackWanteds[playerid]; new Geld = HackBetrag[playerid]; if(GetMoney(pID) < Geld)return SendClientMessage(playerid, COLOR_GREY, "Dein Partner hat nicht genügend Geld."); if(WantedsHack < 0 || WantedsHack > 5)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur zwischen 1 und 5 Wanteds löschen."); if(Spieler[playerid][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Wanteds."); OnWantedChange(playerid, Spieler[playerid][pWanteds], (Spieler[playerid][pWanteds]-WantedsHack)); Spieler[playerid][pWanteds] -= WantedsHack; if(Spieler[playerid][pWanteds] <= 0)Spieler[playerid][pWanteds] = 0; new string[145]; GetPlayerName(pID, string, MAX_PLAYER_NAME); format(string, sizeof(string), "Du hast %s den Hackbetrag gesendet (+$%d).", string, Geld); SendClientMessage(playerid, COLOR_GREEN, string); GiveMoney(playerid, -Geld); GiveMoney(pID, Geld); HackBetrag[playerid] = 0; HackBetrag[pID] = 0; HackWanteds[playerid] = 0; HackWanteds[pID] = 0; HackAntrag[pID] = INVALID_PLAYER_ID; } } } return 1;}

    Es funktioniert nun, vielen Dank für deine Hilfe!