Kick beim zögern von Register / Login

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 folgendes Problem:
    Ich wollte scripten, dass wenn man beim Login/Register zu lange wartet, gekickt wird.
    Jedoch bekomme ich immer 2. Errors... Ich weiß nicht was gemeint ist mit dem undefinierten...



    Die forwards:
    forward LoginTimer(playerid);
    forward RegisterTimer(playerid);


    Die Errors:
    (3144) : error 017: undefined symbol "playerid"
    (3150) : error 017: undefined symbol "playerid"


    Die publics:
    public LoginTimer()
    {
    Kick(playerid);
    return 1;
    }


    public RegisterTimer()
    {
    Kick(playerid);
    return 1;
    }


    Die Timer unter den Dialogen:
    SetTimerEx("LoginTimer",10000,0,"i",playerid);
    ShowPlayerDialog(unwichtig...");
    }
    else
    {
    ShowPlayerDialog(unwichtig...");
    SetTimerEx("RegisterTimer",10000,0,"i",playerid);
    }


    Ich habe es auch mit:
    SetTimer("LoginTimer", 10000, 1);
    &
    SetTimer("RegisterTimer", 10000, 1);


    probiert... Ich weiß ja nichmal wo der unterschied zwischen den beiden ist.. =/
    Hoffe Ihr könnt mir helfen.


    Salute,
    Incanous


    Spoiler anzeigen
    €: Text verbesserung

  • lolwaaaaaas?
    forward LoginTimer(playerid);
    public LoginTimer(playerid)
    {
    blabla
    }

  • Hallo


    Es gibt 2 Arten von Timern:


    Code
    SetTimer() -> Funktion, Intervall und Wiederholung
    SetTimerEx() -> Funktion, Intervall, Wiederholung und Parameter


    Da playerid ein Integer und folglich ein Parameter ist, musst Du SetTimerEx verwenden. Nun möchtest Du bei LoginTimer() und RegisterTimer() auch wissen, welchen Spieler(playerid) es betrifft, sprich Du musst als Parameter dort die playerid des Spielers verwenden.


    Hier den Link für SetTimerEx():
    http://wiki.sa-mp.com/wiki/SetTimerEx


    Ich hoffe dir ist klar, dass die beiden Funktionen nicht wissen, was/wer nun playerid ist


    Gruss

  • Danke Euch beiden, funktioniert jetzt.. :thumbup:
    Dummheit lässt Grüßen...


    Typisch Anfänger :S


    €: könntet ihr mir vielleicht auch noch sagen, wie ich den Timer Kille? Ich krieg das mit KillTimer nicht hin :/


    Lg,
    Incanous

    Einmal editiert, zuletzt von DirectX ()

  • Hallo


    Gloabel Variabeln für einen KillTimer von ner playerid sind unberechenbar. Am Betsen so:


    new statusRegisterTimer[MAX_PLAYERS];
    new statusLoginTimer[MAX_PLAYERS];


    statusRegisterTimer[playerid] = SetTimerEx("RegisterTimer",60000,1,"i",playerid);
    statusLoginTimer[playerid] = SetTimerEx("LoginTimer",60000,1,"i",playerid);


    KillTimer(statusRegisterTimer[playerid]);
    KillTimer(statusLoginTimer[playerid]);



    Das Ganze geht natürlich auch mit PVars.

  • Ich danke Dir :)


    Salute,
    Incanous