Fehler im Robsystem

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
  • Wenn ich nur einen Bot habe, dann funktioniert das Script. Füge ich jedoch weitere hinzu, so funktioniert das Ganze nicht und mir wird das geloggt:
    [13:04:04] Spieler 0 zielt auf Actor 0
    [13:04:04] Actor 0 hat eine Sperre von: 0
    [13:04:04] Raube Actor 0 aus.
    [13:04:04] string = Du hast 0$ ausgeraubt.
    [13:04:04] Actor 1 hat nun eine Sperre von: 60
    [13:04:05] Spieler 0 zielt auf Actor 0
    [13:08:13] Spieler 0 zielt auf Actor 1
    [13:08:13] Actor 1 hat eine Sperre von: 0
    [13:08:13] Raube Actor 1 aus.
    [13:08:13] string = Du hast 0$ ausgeraubt.
    [13:08:13] Actor 2 hat nun eine Sperre von: 60
    [13:08:14] Spieler 0 zielt auf Actor 1
    [13:08:15] Spieler 0 zielt auf Actor 1


    Also beendet der Rob direkt beim zielen.






    push

  • [21:44:35] Spieler 0 zielt auf Actor 0
    [21:44:35] Actor 0 hat eine Sperre von: 0
    [21:44:35] Raube Actor 0 aus.
    [21:44:36] Spieler 0 zielt auf Actor 0
    [21:44:36] string = Du hast 0$ ausgeraubt.
    [21:44:36] Actor 1 hat nun eine Sperre von: 60
    [21:44:37] Spieler 0 zielt auf Actor 0
    [21:44:38] Spieler 0 zielt auf Actor 0
    [21:44:41] Spieler 0 zielt auf Actor 0
    [21:44:42] Spieler 0 zielt auf Actor 0
    [21:44:43] Spieler 0 zielt auf Actor 0
    [21:44:44] Spieler 0 zielt auf Actor 0
    [21:45:14] Spieler 0 zielt auf Actor 1
    [21:45:14] Actor 1 hat eine Sperre von: 25
    [21:45:14] Robbing: 0
    [21:45:14] Beende.
    [21:45:15] Spieler 0 zielt auf Actor 1
    [21:45:15] Actor 1 hat eine Sperre von: 24
    [21:45:15] Robbing: 0
    [21:45:15] Beende.



    Rob beendet wieder sofort, beim zweiten Bot ist aber dann die Sperre

  • Der Variable "RobbedBot" wurde die ID des Bots anstatt des Indexes (i) zugewiesen, daher hat der falsche Bot die Sperre bekommen.
    Ich habe bei den Timern auch noch eine Sicherung hinzugefügt, dass die nicht doppelt gestartet werden, und ich habe die erste Abfrage angepasst.


    Deklariere dein Rob_Timer so:
    new Rob_Timer[MAX_PLAYERS] = {-1, ...};


    Und versuche es mit dem Timer so:
    void BotTimer()
    {
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(RobBot[i][RobSperre] > 0)
    {
    RobBot[i][RobSperre]--;
    }
    }
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    new playerTargetActor = GetPlayerTargetActor(playerid);
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == false)
    {
    new playerWeapon = GetPlayerWeapon(playerid);
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
    printf("Spieler %d zielt auf Actor %d", playerid, i);
    if(!ActorHandsup[RobBot[i][rob_ID]] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
    {
    printf("Actor %d hat eine Sperre von: %d", i, RobBot[i][RobSperre]);
    if(RobBot[i][RobSperre] > 0)
    {
    printf("Robbing: %d", IsRobbing[playerid]);
    if(IsRobbing[playerid] == false)
    {
    new Sperre[145];
    format(Sperre, sizeof(Sperre), "Dieses Geschäft kann erst wieder in %02d:%02d ausgeraubt werden.", RobBot[i][RobSperre]/60, RobBot[i][RobSperre]%60);
    SendClientMessage(playerid, COLOR_RED, Sperre);
    }
    printf("Beende.");
    break;
    }
    else
    {
    printf("Raube Actor %d aus.", i);
    ApplyActorAnimation(RobBot[i][rob_ID], "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0); // Handsup
    ActorHandsup[RobBot[i][rob_ID]] = true;
    //ab hier startet der ROb
    IsRobbing[playerid] = true;
    RobbedBot[playerid] = i;
    RobSek[playerid] = random(10)+30;
    if(Rob_Timer[playerid] != -1) KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = SetTimerEx("RobTimer", 1000, true, "i", playerid);
    break;
    }
    }
    }
    else if(playerTargetActor != RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == true)
    {
    //nicht anvisiert
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    printf("string = %s", string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobBot[i][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", i, RobBot[i][RobSperre]);
    RobMoney[playerid] = 0;
    RobbedBot[playerid] = -1;
    ActorHandsup[RobBot[i][rob_ID]] = false;
    ClearActorAnimations(RobBot[i][rob_ID]);
    break;
    }
    }
    }
    return 1;
    }


    void RobTimer(playerid)
    {
    printf("Timer aufgerufen: %d -> RobSek: %d", playerid, RobSek[playerid]);
    new sekMoney = random(100)+10, moneyText[128];
    RobSek[playerid]--;
    RobMoney[playerid] += sekMoney;
    format(moneyText, sizeof(moneyText), "~g~%d$", RobMoney[playerid]);
    GameTextForPlayer(playerid, moneyText, 988, 6);
    if(RobSek[playerid] == 0)
    {
    //RobBot[RobbedBot[playerid]][RobSperre] = 60;
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobMoney[playerid] = 0;
    RobBot[RobbedBot[playerid]][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", RobbedBot[playerid], RobBot[RobbedBot[playerid]][RobSperre]);
    ActorHandsup[RobbedBot[playerid]] = false;
    ClearActorAnimations(RobBot[RobbedBot[playerid]][rob_ID]);
    RobbedBot[playerid] = -1;
    }
    return 1;
    }

  • Ok, dann wird der Timer gar nicht aufgerufen, das erklärt es.
    Versuche es so:
    void BotTimer()
    {
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(RobBot[i][RobSperre] > 0)
    {
    RobBot[i][RobSperre]--;
    }
    }
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    new playerTargetActor = GetPlayerTargetActor(playerid), bool:intarget;
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == false)
    {
    new playerWeapon = GetPlayerWeapon(playerid);
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
    printf("Spieler %d zielt auf Actor %d", playerid, i);
    if(!ActorHandsup[RobBot[i][rob_ID]] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
    {
    printf("Actor %d hat eine Sperre von: %d", i, RobBot[i][RobSperre]);
    if(RobBot[i][RobSperre] > 0)
    {
    printf("Robbing: %d", IsRobbing[playerid]);
    if(IsRobbing[playerid] == false)
    {
    new Sperre[145];
    format(Sperre, sizeof(Sperre), "Dieses Geschäft kann erst wieder in %02d:%02d ausgeraubt werden.", RobBot[i][RobSperre]/60, RobBot[i][RobSperre]%60);
    SendClientMessage(playerid, COLOR_RED, Sperre);
    }
    printf("Beende.");
    intarget = true;
    break;
    }
    else
    {
    printf("Raube Actor %d aus.", i);
    ApplyActorAnimation(RobBot[i][rob_ID], "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0); // Handsup
    ActorHandsup[RobBot[i][rob_ID]] = true;
    //ab hier startet der ROb
    IsRobbing[playerid] = true;
    RobbedBot[playerid] = i;
    RobSek[playerid] = random(10)+30;
    if(Rob_Timer[playerid] != -1) KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = SetTimerEx("RobTimer", 1000, true, "i", playerid);
    intarget = true;
    break;
    }
    }
    }
    }
    if(intarget == false && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == true)
    {
    //nicht anvisiert
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    printf("string = %s", string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobBot[i][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", i, RobBot[i][RobSperre]);
    RobMoney[playerid] = 0;
    RobbedBot[playerid] = -1;
    ActorHandsup[RobBot[i][rob_ID]] = false;
    ClearActorAnimations(RobBot[i][rob_ID]);
    break;
    }
    }
    return 1;
    }


    void RobTimer(playerid)
    {
    printf("Timer aufgerufen: %d -> RobSek: %d", playerid, RobSek[playerid]);
    new sekMoney = random(100)+10, moneyText[128];
    RobSek[playerid]--;
    RobMoney[playerid] += sekMoney;
    format(moneyText, sizeof(moneyText), "~g~%d$", RobMoney[playerid]);
    GameTextForPlayer(playerid, moneyText, 988, 6);
    if(RobSek[playerid] == 0)
    {
    //RobBot[RobbedBot[playerid]][RobSperre] = 60;
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobMoney[playerid] = 0;
    RobBot[RobbedBot[playerid]][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", RobbedBot[playerid], RobBot[RobbedBot[playerid]][RobSperre]);
    ActorHandsup[RobbedBot[playerid]] = false;
    ClearActorAnimations(RobBot[RobbedBot[playerid]][rob_ID]);
    RobbedBot[playerid] = -1;
    }
    return 1;
    }

  • [12:20:00] Spieler 0 zielt auf Actor 0
    [12:20:00] Actor 0 hat eine Sperre von: 0
    [12:20:00] Raube Actor 0 aus.
    [12:20:01] string = Du hast 0$ ausgeraubt.
    [12:20:01] Actor 0 hat nun eine Sperre von: 60
    [12:20:02] Spieler 0 zielt auf Actor 0
    [12:20:02] Actor 0 hat eine Sperre von: 59
    [12:20:02] Robbing: 0
    [12:20:02] Beende.
    [12:20:04] Spieler 0 zielt auf Actor 0
    [12:20:04] Actor 0 hat eine Sperre von: 58
    [12:20:04] Robbing: 0
    [12:20:04] Beende.
    [12:20:05] Spieler 0 zielt auf Actor 0
    [12:20:05] Actor 0 hat eine Sperre von: 57
    [12:20:05] Robbing: 0
    [12:20:05] Beende.
    [12:20:26] Spieler 0 zielt auf Actor 1
    [12:20:26] Actor 1 hat eine Sperre von: 0
    [12:20:26] Raube Actor 1 aus.
    [12:20:27] string = Du hast 0$ ausgeraubt.
    [12:20:27] Actor 0 hat nun eine Sperre von: 60
    [12:20:28] Spieler 0 zielt auf Actor 1

  • Ok, sieht doch schon besser aus.
    Versuche es so:
    void BotTimer()
    {
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(RobBot[i][RobSperre] > 0)
    {
    RobBot[i][RobSperre]--;
    }
    }
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    new playerTargetActor = GetPlayerTargetActor(playerid), bool:intarget;
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == false)
    {
    new playerWeapon = GetPlayerWeapon(playerid);
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
    printf("Spieler %d zielt auf Actor %d", playerid, i);
    if(!ActorHandsup[RobBot[i][rob_ID]] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
    {
    printf("Actor %d hat eine Sperre von: %d", i, RobBot[i][RobSperre]);
    if(RobBot[i][RobSperre] > 0)
    {
    printf("Robbing: %d", IsRobbing[playerid]);
    if(IsRobbing[playerid] == false)
    {
    new Sperre[145];
    format(Sperre, sizeof(Sperre), "Dieses Geschäft kann erst wieder in %02d:%02d ausgeraubt werden.", RobBot[i][RobSperre]/60, RobBot[i][RobSperre]%60);
    SendClientMessage(playerid, COLOR_RED, Sperre);
    }
    printf("Beende.");
    intarget = true;
    break;
    }
    else
    {
    printf("Raube Actor %d aus.", i);
    ApplyActorAnimation(RobBot[i][rob_ID], "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0); // Handsup
    ActorHandsup[RobBot[i][rob_ID]] = true;
    //ab hier startet der ROb
    IsRobbing[playerid] = true;
    RobbedBot[playerid] = i;
    RobSek[playerid] = random(10)+30;
    if(Rob_Timer[playerid] != -1) KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = SetTimerEx("RobTimer", 1000, true, "i", playerid);
    intarget = true;
    break;
    }
    }
    }
    else if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && RobbedBot[playerid] == i && IsRobbing[playerid] == true)
    {
    intarget = true;
    }
    }
    if(intarget == false && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == true)
    {
    //nicht anvisiert
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    printf("string = %s", string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobBot[i][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", i, RobBot[i][RobSperre]);
    RobMoney[playerid] = 0;
    RobbedBot[playerid] = -1;
    ActorHandsup[RobBot[i][rob_ID]] = false;
    ClearActorAnimations(RobBot[i][rob_ID]);
    break;
    }
    }
    return 1;
    }


    void RobTimer(playerid)
    {
    printf("Timer aufgerufen: %d -> RobSek: %d", playerid, RobSek[playerid]);
    new sekMoney = random(100)+10, moneyText[128];
    RobSek[playerid]--;
    RobMoney[playerid] += sekMoney;
    format(moneyText, sizeof(moneyText), "~g~%d$", RobMoney[playerid]);
    GameTextForPlayer(playerid, moneyText, 988, 6);
    if(RobSek[playerid] == 0)
    {
    //RobBot[RobbedBot[playerid]][RobSperre] = 60;
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobMoney[playerid] = 0;
    RobBot[RobbedBot[playerid]][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", RobbedBot[playerid], RobBot[RobbedBot[playerid]][RobSperre]);
    ActorHandsup[RobbedBot[playerid]] = false;
    ClearActorAnimations(RobBot[RobbedBot[playerid]][rob_ID]);
    RobbedBot[playerid] = -1;
    }
    return 1;
    }



    Ich habe diesen Teil noch hinzugefügt:
    else if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && RobbedBot[playerid] == i && IsRobbing[playerid] == true)
    {
    intarget = true;
    }

  • Der erste Bot geht jetzt, der andere weitere nicht


    [12:35:29] Spieler 0 zielt auf Actor 0
    [12:35:29] Actor 0 hat eine Sperre von: 0
    [12:35:29] Raube Actor 0 aus.
    [12:35:30] Timer aufgerufen: 0 -> RobSek: 32
    [12:35:31] Timer aufgerufen: 0 -> RobSek: 31
    [12:35:33] Timer aufgerufen: 0 -> RobSek: 30
    [12:35:34] Timer aufgerufen: 0 -> RobSek: 29
    [12:35:35] Timer aufgerufen: 0 -> RobSek: 28
    [12:35:36] string = Du hast 376$ ausgeraubt.
    [12:35:36] Actor 0 hat nun eine Sperre von: 60
    [12:35:38] Spieler 0 zielt auf Actor 0
    [12:35:38] Actor 0 hat eine Sperre von: 58
    [12:35:38] Robbing: 0
    [12:35:38] Beende.
    [12:35:58] Spieler 0 zielt auf Actor 1
    [12:35:58] Actor 1 hat eine Sperre von: 0
    [12:35:58] Raube Actor 1 aus.
    [12:35:59] string = Du hast 0$ ausgeraubt.
    [12:35:59] Actor 0 hat nun eine Sperre von: 60
    [12:36:00] Spieler 0 zielt auf Actor 1
    [12:36:07] Spieler 0 zielt auf Actor 1
    [12:36:08] Spieler 0 zielt auf Actor 1
    [12:36:09] Spieler 0 zielt auf Actor 1

  • Mir ist gerade aufgefallen, dass ich bei dem Teil, den ich aus der Schleife gezogen habe, die Deklaration von "i" vergessen habe. Hast du das immer selbst hinzugefügt?
    Ich habe das jetzt eingebaut, und einen weiteren print falls es nicht klappt.
    Versuche es so:
    void BotTimer()
    {
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(RobBot[i][RobSperre] > 0)
    {
    RobBot[i][RobSperre]--;
    }
    }
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    new playerTargetActor = GetPlayerTargetActor(playerid), bool:intarget;
    for(new i = 0; i < sizeof(RobBot); i++)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) printf("Target: %d, BotID: %d (idx: %d), Robbing: %d, RobbedBot: %d", playerTargetActor, RobBot[i][rob_ID], IsRobbing[playerid], RobbedBot[playerid]);
    if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == false)
    {
    new playerWeapon = GetPlayerWeapon(playerid);
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
    printf("Spieler %d zielt auf Actor %d", playerid, i);
    if(!ActorHandsup[RobBot[i][rob_ID]] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
    {
    printf("Actor %d hat eine Sperre von: %d", i, RobBot[i][RobSperre]);
    if(RobBot[i][RobSperre] > 0)
    {
    printf("Robbing: %d", IsRobbing[playerid]);
    if(IsRobbing[playerid] == false)
    {
    new Sperre[145];
    format(Sperre, sizeof(Sperre), "Dieses Geschäft kann erst wieder in %02d:%02d ausgeraubt werden.", RobBot[i][RobSperre]/60, RobBot[i][RobSperre]%60);
    SendClientMessage(playerid, COLOR_RED, Sperre);
    }
    printf("Beende.");
    intarget = true;
    break;
    }
    else
    {
    printf("Raube Actor %d aus.", i);
    ApplyActorAnimation(RobBot[i][rob_ID], "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0); // Handsup
    ActorHandsup[RobBot[i][rob_ID]] = true;
    //ab hier startet der ROb
    IsRobbing[playerid] = true;
    RobbedBot[playerid] = i;
    RobSek[playerid] = random(10)+30;
    if(Rob_Timer[playerid] != -1) KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = SetTimerEx("RobTimer", 1000, true, "i", playerid);
    intarget = true;
    break;
    }
    }
    }
    else if(playerTargetActor == RobBot[i][rob_ID] && Spieler[playerid][Team] == 2 && RobbedBot[playerid] == i && IsRobbing[playerid] == true)
    {
    intarget = true;
    break;
    }
    }
    if(intarget == false && Spieler[playerid][Team] == 2 && IsRobbing[playerid] == true)
    {
    printf("Fertig.");
    //nicht anvisiert
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    printf("string = %s", string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    new i = RobbedBot[playerid];
    RobBot[i][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", i, RobBot[i][RobSperre]);
    RobMoney[playerid] = 0;
    RobbedBot[playerid] = -1;
    ActorHandsup[RobBot[i][rob_ID]] = false;
    ClearActorAnimations(RobBot[i][rob_ID]);
    }
    }
    return 1;
    }


    void RobTimer(playerid)
    {
    printf("Timer aufgerufen: %d -> RobSek: %d", playerid, RobSek[playerid]);
    new sekMoney = random(100)+10, moneyText[128];
    RobSek[playerid]--;
    RobMoney[playerid] += sekMoney;
    format(moneyText, sizeof(moneyText), "~g~%d$", RobMoney[playerid]);
    GameTextForPlayer(playerid, moneyText, 988, 6);
    if(RobSek[playerid] == 0)
    {
    //RobBot[RobbedBot[playerid]][RobSperre] = 60;
    IsRobbing[playerid] = false;
    KillTimer(Rob_Timer[playerid]);
    Rob_Timer[playerid] = -1;
    new string[128];
    format(string, sizeof(string), "Du hast %d$ ausgeraubt.", RobMoney[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
    GivePlayerMoney(playerid, RobMoney[playerid]);
    RobMoney[playerid] = 0;
    RobBot[RobbedBot[playerid]][RobSperre] = 60;
    printf("Actor %d hat nun eine Sperre von: %d", RobbedBot[playerid], RobBot[RobbedBot[playerid]][RobSperre]);
    ActorHandsup[RobbedBot[playerid]] = false;
    ClearActorAnimations(RobBot[RobbedBot[playerid]][rob_ID]);
    RobbedBot[playerid] = -1;
    }
    return 1;
    }