"Bankrob" Problem

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
  • Hallo,
    ich habe bei meinem Bankrob vorgehabt wenn man /rob eingibt, erscheint nach 5 Sekunden eine Nachricht, dass man Geld erhält und wie viel. Dies soll sich alle 5 Sekunden für 1 Minuten wiederholen.
    Bloß jetzt krieg ich nur einmal Geld und ohne Nachricht.


    Den Fehler kann ich nicht finden.



    SA:MP in 2020?

  • new robtimer[MAX_PLAYERS];


    if(strcmp(cmd, "/rob", true) == 0) {
    if(!IsPlayerConnected(playerid)) return 1;
    if(IsPlayerInRangeOfPoint(playerid, 12, 2144.2869,1635.0681,993.5761)) { //VOSA ROB
    SendClientMessage(playerid, COLOR_CYAN, "Du hast den Vault of San Andreas Raub gestartet, überlebe ihn besser.");
    robtimer[playerid]=SetTimer("VosaRob", 5000, true);//Timer wiederholt sich alle 5 Sekunden, maximal 12x
    return 1;
    }
    }


    forward VosaRob(playerid);
    public VosaRob(playerid) {
    if(GetPlayerHealth(playerid) < 1) return SendClientMessage(playerid, COLOR_ERROR, "Du bist gestorben, Raub abgebrochen!");
    if(PlayerInfo[playerid][pRob] == 12) {
    SendClientMessage(playerid, COLOR_CYAN, "60 Sekunden sind vorüber, jetzt schnell weg hier!");
    new robmoney[256];
    format(robmoney, sizeof(robmoney), "Beute: $%d", PlayerInfo[playerid][pRobTotal]);
    SendClientMessage(playerid, COLOR_CYAN, robmoney);
    KillTimer(robtimer[playerid]);//nach 12 wiederholungen stoppt der timer
    return 1;
    } else {
    if(IsPlayerInRangeOfPoint(playerid, 12,2144.2869,1635.0681,993.5761)) {
    new money = random(60001) + 60000;
    GivePlayerMoney(playerid, money);
    PlayerInfo[playerid][pCash] += money;
    new moneymsg[256];
    format(moneymsg, sizeof(moneymsg), "5 Sekunden sind vorüber, Beute: $%d", money);
    SendClientMessage(playerid, COLOR_CYAN, moneymsg);
    PlayerInfo[playerid][pRob] ++;
    PlayerInfo[playerid][pRobTotal] += money;
    return 1;
    } else {
    SendClientMessage(playerid, COLOR_ERROR, "Raub abgebrochen, Du hast den Raum verlassen.");
    for(new i = 0; i < MAX_PLAYERS; i++) {
    new pname[MAX_PLAYERS];
    GetPlayerName(playerid,pname,sizeof(pname));
    new failmsg[256];
    format(failmsg, sizeof(failmsg), "Der Raub auf das Vault of San Andreas wurde abgebrochen, %s hat den Raum verlassen", pname);
    SendClientMessage(i, COLOR_CYAN, failmsg);
    }
    return 1;
    }
    }
    return 1;
    }
    Sollte klappen.

  • So sollte es funktionieren, du musst den Parameter "playerid" ja auch irgendwie dem Public mitteilen.

  • Ja aber der schafft es ja auch irgendwie trotzdem dem Räuber das Geld schon zu geben. Da benutzt er ja auch playerid, komisch.


    Funktioniert aber immer noch nicht :/


    @Jeffry hast du vielleicht ne Lösung?

    SA:MP in 2020?

    Einmal editiert, zuletzt von Anti. ()

  • Wenn ich meinen Code benutze kommt keine Nachricht und es wiederholt sich nicht,


    wenn ich die verbesserten Codes benutze kommt keine Nachricht und es wiederholt sich unendlich

    SA:MP in 2020?

  • Ich kriege unendlich oft Geld



    SA:MP in 2020?

  • Beitrag von CaZe ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Schwachsinn ().
  • Es sollte so komplett funktionstüchtig sein, du hattest einmal anstatt playerid | robtimer[playerid] stehen. Was normalerweise zu einem Error führen sollte.

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