Beiträge von RastaZopf.

    CMD:checkhack(playerid, params[])
    {
    new pID, menge, string[32];
    if(Spieler[playerid][pAdmin] == 0)return SendClientMessage(playerid, COLOR_GREY, ERROR_ADMIN);
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_GREY, "Benutze /checkhack [SpielerID/Name]");
    if(!IsLoggedIn(pID))return 1;
    new vehicleid = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(playerid, vehicleid, 0);
    SetPlayerPos(pID, 1024.8694,-1024.0836,32.1016);
    format(string, sizeof(string), "Spieler Geld: $%i.", GetPlayerMoney(pID));
    SendClientMessage(playerid, COLOR_GREY, string);
    if(GetPlayerMoney(playerid) > GetMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY,"Du hast verbotene Modifikationen installiert!");
    KickEx(pID);
    return 1;
    }
    return 1;
    }
    Hab es jetzt so geht allerdings noch immer nicht.
    Bitte um hilfe.
    @Jeffry

    Ich weiß zwar nicht genau was du damit bezwecken willst, aber am einfachsten ist es, wenn du vorher das aktuelle Geld speicherst und nach dem Resetten das 'neue' Geld mit dem alten Geld abgleichst.

    Ich will das mit dem S0beit Detecten versuchen bekomme das nicht so wirklich hin hab schon versucht
    CMD:checkhack(playerid, params[])
    {
    new pID, menge, string[32];
    if(Spieler[playerid][pAdmin] == 0)return SendClientMessage(playerid, COLOR_GREY, ERROR_ADMIN);
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_GREY, "Benutze /checkhack [SpielerID/Name]");
    if(!IsLoggedIn(pID))return 1;
    new vehicleid = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(playerid, vehicleid, 0);
    SetPlayerPos(pID, 1024.8694,-1024.0836,32.1016);
    format(string, sizeof(string), "Spieler Geld: $%i.", GetPlayerMoney(pID));
    SendClientMessage(playerid, COLOR_GREY, string);
    if(GetMoney(playerid) < menge)return SendClientMessage(playerid, COLOR_GREY, ERROR_MONEY);
    return 1;
    }
    Weiß nicht wie ich das machen soll..

    Schliesse mich der frage an suche was für anti armor

    new Float:antihp, Float:antiarm;


    GetPlayerHealth(playerid, antihp);
    GetPlayerArmour(playerid, antiarm);
    if(antihp > 125.0 && pSetHP[playerid] == 0)
    {
    if(Spieler[playerid][pAdmin] < 2)
    {
    format(string, sizeof(string), "%s wurde vom Server gekickt, Grund: Healhack", GetName(playerid));
    SendClientMessageToAll(COLOR_RED, string);
    KickEx(playerid);
    }
    }
    if(antiarm > 0 && !(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pAdmin] > 0))
    {
    if(pIsPB[playerid] == -1){
    format(string, sizeof(string), "%s wurde vom Server gekickt, Grund: Armorhack", GetName(playerid));
    SendClientMessageToAll(COLOR_RED, string);
    KickEx(playerid);
    }
    }
    Funktioniert ganz gut.
    Das mit "pIsPB" ist wegen Paintball falls du den Code brauchst pn mich.

    Hey,
    Ich wollte eine Geld abfrage machen, wenn der Spieler kein Geld verliert sollte er gekickt werden.
    Ich weiß allerdings nicht so genau wie ich das jetzt mache


    if(GetMoney(playerid) < menge)


    so frage ich es ab, aber muss irgendwie noch abfragen das wenn der Spieler dann kein Geld verliert das er danach gekickt wird.
    Kann mir jemand dabei helfen?
    Vielen Dank.

    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!

    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?

    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 sieht der vorherige Befehl aus, der /hacken?

    CMD:hacken(playerid,params[])
    {
    if(Spieler[playerid][pJob] != 6)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Hacker.");
    if(pErstehilfeUse[playerid] > 0)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur alle 30 Minuten hacken.");
    new pID, Hacken, Geld, string[128], Float:pos[3];
    if(Spieler[playerid][pLevel] < 3)return SendClientMessage(playerid, COLOR_GREY, "Du benötigst mindestens Level 5.");
    if(sscanf(params,"udd", pID, Hacken, Geld))return SendClientMessage(playerid, COLOR_GREY, "Benutze /hacken [SpielerID/Name] [Wanteds] [Bargeld]");
    if(!IsLoggedIn(pID))return SendClientMessage(playerid, COLOR_GREY, "Der angegebene Spieler ist nicht online.");
    if(pID == playerid)return SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht hacken??");
    GetPlayerPos(pID, pos[0], pos[1], pos[2]);
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, pos[0], pos[1], pos[2]))return SendClientMessage(playerid, COLOR_GREY, "Der Spieler befindet sich nicht in deiner Nähe.");
    if(Spieler[pID][pLevel] < 3)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler benötigt mindestens Level 3.");
    if(Hacken < 1 || Hacken > 5 )return SendClientMessage(playerid, COLOR_GREY, "Die Wantedsanzahl müssen zwischen 1-5 liegen");
    if(Geld < 5000 || Geld > 50000)return SendClientMessage(playerid, COLOR_GREY, "Der Betrag muss zwischen $5.000 und $50.000 liegen.");
    HackAntrag[pID] = playerid;
    HackAntrag[playerid] = pID;
    HackBetrag[playerid] = Geld;
    HackBetrag[pID] = Geld;
    HackWanteds[playerid] = Hacken;
    HackWanteds[pID] = Hacken;
    format(string, sizeof(string), "%s will dir für $%d, %d Wanteds hacken. (/accept hacken)", GetName(playerid), Geld, Hacken);
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s ein Angebot zum Hacken für $%d (%d Wanteds) gesendet.", GetName(pID), Geld, Hacken);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    pErstehilfeUse[playerid] = 1800;
    return 1;
    }

    In dem Befehl oben findet sich diese Nachricht (Du hast keine Wanteds) nicht. Wo kommt die her?

    if(Spieler[pID][pWanteds] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler hat keine Wanteds.");
    Das steht in dem Code dabei. Sry das heißt "Der Spieler hat keine Wanteds.".
    €: Und die Wanteds werden halt nicht gelöscht.

    Das war falsch. Du hast "pWanteds" ersetzt. Du sollst aber "wanteds" ersetzen.
    Versuche es nochmal.

    Wenn ich /hacken mache dann biete ich ihm an die Wanteds zu hacken, wenn er /accept Hacken macht steht da "Du hast keine Wanteds." wenn ich mir 2 Wanteds gebe dann z.B dann kann er den Betrag bezahlen aber er zieht die Wanteds auch nicht ab. Brauchst du villeicht den Code? (CMD:hacken)?


    €: grob gesagt ich biete mir selbst an mich selbst zu hacken.

    Oh, die habe ich übersehen, sorry.
    Ersetze beide "wanteds" mit "WantedsHack".

    Habe das jetzt so gemacht:
    OnWantedChange(pID, Spieler[pID][WantedsHack], (Spieler[pID][WantedsHack]-wanteds));
    Spieler[pID][WantedsHack] -= wanteds;


    allerdings;


    error 017: undefined symbol "wanteds"
    warning 213: tag mismatch
    error 017: undefined symbol "wanteds"

    error 017: undefined symbol "wanteds"
    error 017: undefined symbol "wanteds"


    in Zeile:
    OnWantedChange(pID, Spieler[pID][pWanteds], (Spieler[pID][pWanteds]-wanteds));
    Spieler[pID][pWanteds] -= wanteds;

    Wie kann ich das noch fixxen?

    Wird so immer noch nicht funktionieren da nach wie vor pID den Wert 0 hat. Vor der Wanted abfrage mit sscanf die variablen füllen lassen.

    Kannst du mir irgendwie da was vorgeben, da ich nicht so ganz kapiere was ihr meint. xD wäre nett.

    Dj Deagle hat dir dein Fehler doch erklärt Jeffry hat auch nicht immer Zeit nur weil er jemand ist der sehr oft hilft und immer eine Antwort hat heißt es nicht dass man andere Antworten ignorieren sollte.

    Wer sagt den das ich andere Antwort ignoiere? Es ging halt nicht bzw ich hab es nicht hinbekomme nso wie er mir das erklärt hat. "Versucht" habe ich es schon.

    Wenn du einem anderen Spieler die Wanteds damit hacken willst, braucht die Variable einen Wert.Die Variable pID ist 0 - Wenn Spieler-ID 0 keine Wanteds hat, geht der Befehl nicht.


    Darf man fragen, warum du immer versuchst eine Antwort von Jeffry zu erzwingen?

    Weil Jeffry einfach sehr gut helfen kann und komischerweise alles auf eine bessere ART erklärt, von daher finde ich es cool das er mir hilft.