Wie Wartezeit einbauen?

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 wollte fragen, wie man eine "Wartezeit" einbauen kann. Hier erstmal der Code (Auszug):


    if(PlayerInfo[playerid][pAdmin] >= 1337)
    {
    new string[256]; // Zeile 17555
    new string1[256];
    format(string, sizeof(string), "~y~Accounts ~w~werden\ngespeichert!");
    GameTextForPlayer(playerid, string, 2000, 1);
    SaveAccounts();
    SetTimer("AccountsSaved", 15000, 0); //240000
    format(string1, sizeof(string1), "~y~Accounts ~g~erfolgreich ~r~gespeichert!");
    GameTextForPlayer(playerid, string1, 15000, 1);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Das darfst du nicht tun!");
    }
    return 1;
    }


    Also erst soll die Schrift "Accounts werden gespeichert" kommen, dann wird ja die Funktion SaveAccounts() ausgeführt. Nach 4 Minuten soll dann die Schrift "Accounts erfolgreich gespeichert" kommen. (15 sek. erstmal zu Testzwecken, damit man das schneller überprüfen kann und nicht 4 Minuten warten muss).


    Mit Timer kenne ich mich noch nicht so gut aus.


    Zweites Problem:


    Zitat

    17555 : warning 219: local variable "string" shadows a variable at a preceding level


    Wie bekomme ich das weg?

  • Den Timer hast du ja schon erstell dir jetzt nen public mit dem Namen 'AccountsSaved'
    und pack das mit SaveAccounts & die Meldung rein.


    Zu 2. Dir Reicht ein String in höhe von 60-80 (und mach keine Strings mehr mit 256 :D)


    /edit etwas hinzugefüt zu Prob. 2

  • Danke für deine unsinnige Hilfe,
    beide Antworten waren falsch.


    Beim ersten wurde ein globaler Timer definiert,
    er braucht aber einen mit Parametern, also SetTimerEx


    Die zweite Meldung sagt, was einem PWNMod-User auffallen würde,
    dass eine Variable mehrmals deklariert wurde.


    Selbst dein Tipp bzgl der Stringgröße ist großer Humbug.
    Strings kann man solang machen, wie man lustig ist,
    die paar Zeichen machen keinen Unterschied,
    und nicht jeder String passt in 80 Zeichen

  • Jetzt habe ich nur noch einen Fehler:


    if(PlayerInfo[playerid][pAdmin] >= 1337)
    {
    new string[256];
    new string1[256];
    format(string, sizeof(string), "~y~Accounts ~w~werden~n~ ~p~gespeichert!");
    GameTextForPlayer(playerid, string, 2000, 0);
    SaveAccounts();
    SetTimerEx("AccountsSaved", 15000, 0, string1, 0); //240000
    format(string1, sizeof(string1), "~y~Accounts ~g~erfolgreich~n~ ~r~gespeichert!");
    GameTextForPlayer(playerid, string1, 15000, 0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Server-Manager!");
    }
    return 1;
    }


    Zitat

    17536 : warning 219: local variable "string" shadows a variable at a preceding level


    Das ist das mit diesen Strings; wie definiere ich die denn? Ich habe doch new string[256] und new string1[256] gemacht?


    Danke schon mal für die bisherige Hilfe :love: