Fehler in meinem Bankrob "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
  • Hallo :D.


    Ich hab gestern ein kleines Bankrobsystem in mein Script eingearbeitet. Wenn man in der Bank ist tippt man /bankrob, ein 5 Minuten Timer läuft dann und nach den 5 Minuten kommt eine Meldung + das Geld an den Spieler (zumindest in der Theorie...)


    Das ganze sieht so aus:



    Soweit so gut, nachdem der Timer das ganze auslöst kommt zwar die Meldungen in Zeile 10, die andere Meldung hingegen sowie das Geld wird dem Spieler nicht gegeben :S.


    Ich komm einfach nicht drauf warum nicht... Bestimmt ist es irgentwas ganz simples, also bitte nicht lachen ich mach das noch nicht lang. :whistling:
    Es gibt auch keine Warnings beim compilen.

  • Soo einfach ist der Fehler nicht ;) (Oder ich seh ihn nicht).


    Kannst du mal genau beschreiben, was ausgegeben wird? Alternativ bitte ich dich noch, deinen Code mal durch folgenden zu ersetzen, ihn auszuführen und zu schreiben, was geprintet wird:


    forward LSBankRobTimer(playerid);
    public LSBankRobTimer(playerid)
    {
    print("Punkt 1");
    new string[250];
    LSBankRobErfolgreich = 2;
    new BankrobBeuteLS = random(900000);
    printf("BankrobBeutel: %i",BankrobBeuteLS);
    printf("Geld des Spielers Anfang: %i",GetPlayerMoney(playerid));
    GivePlayerMoney(playerid,BankrobBeuteLS);
    printf("Geld des Spielers Ende: %i",GetPlayerMoney(playerid));
    format(string, sizeof(string), "~g~Raubzug erfolgreich! Beute: %d$",BankrobBeuteLS);
    GameTextForPlayer(playerid,string, 10000, 3);
    format(string, sizeof(string), "Der Überfall auf die Bank von Los Santos war erfolgreich! Beute: %d$",BankrobBeuteLS);
    OOCOff(COLOR_YELLOW, string);
    print("Ende");
    }


    Es könnten Loose-Indentation-Warnings drin sein, ich kann im Browser nicht einrücken, nicht drüber wundern. ;) Ansonsten lässt sich noch sagen, dass new string[250]; viel zu groß ist. Den kannst du mindestens auf 128 begrenzen. Ist aber nicht der Auslöser für dein Problem. ;)