Logintimer

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
  • genau so wie ich dir das nun zeige mit der ClientMessage gehts auch mit nem Textdraw



    forward SekundenTimer(playerid);


    new Waiting[MAX_PLAYERS];
    new Timer[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    Waiting[playerid] = 3;
    Timer[playerid] = SetTimer("SekundenTimer",1000,1);
    return 1;
    }


    public SekundenTimer(playerid)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    Waiting[playerid] -= 1;
    format(Text,sizeof(Text),"Du kannst dich in %d sekunden einloggen");
    SendClientMessage(playerid,Gelb,Text);
    if(Waitin[playerid] == 0)
    {
    KillTimer(Timer[playerid]);
    }
    }
    return 1;
    }


    musst dann halt nur statt SendClientMessage das mit dein Textdraw machen

    RFT

  • so ?
    da bekomme ich errors:


    public SekundenTimer(playerid)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    Waiting[playerid] -= 1;
    format(Text,sizeof(Text),"Du kannst dich in %d sekunden einloggen");
    CreateTextDraw(playerid,Gelb,Text);
    if(Waitin[playerid] == 0)
    {
    KillTimer(Timer[playerid]);
    }
    }
    return 1;
    }


    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(2395) : warning 225: unreachable code
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33165) : error 017: undefined symbol "Text"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33165) : error 017: undefined symbol "Text"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33165) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33165) : fatal error 107: too many error messages on one line


    Innovativ & Professionell - Mein Blog





    "Define yourself by your deeds."

    Einmal editiert, zuletzt von )(Shadow)( ()

  • sorry hier



    public SekundenTimer(playerid)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    new Text[32];
    Waiting[playerid] -= 1;
    format(Text,sizeof(Text),"Du kannst dich in %d sekunden einloggen");
    CreateTextDraw(playerid,Gelb,Text);
    if(Waitin[playerid] == 0)
    {
    KillTimer(Timer[playerid]);
    }
    }
    return 1;
    }

    RFT

  • public SekundenTimer(playerid)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    new Text[32];
    Waiting[playerid] -= 1;
    format(Text,sizeof(Text),"Du kannst dich in %d sekunden einloggen"); //fehlt hier nicht was?
    CreateTextDraw(playerid,Gelb,Text);
    if(Waitin[playerid] == 0)
    {
    KillTimer(Timer[playerid]);
    }
    }
    return 1;
    }


    Da fehlt doch was, is doch ein string

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Das wird nichts nützen. Innerhalb des Callbacks Sekundentimer wird eine playerid benötigt.
    Julian, warum stellst du dann einen Timer für alle? Hierfür ist SetTimerEx gedacht mit dem du dann auch eine playerid übergeben kannst.
    SetTimerEx("SekundenTimer", 1000, 1, "d", playerid);
    Was macht ihr eigentlich mit dem "CreateTextDraw"? Noch nie von der Funktion gehört, Wiki kennt das auch nicht...
    Mach dort lieber eine SendClientMessage oder einen GameModeText

  • jop hast recht und CreateTextdraw ist auch falsch ich hatte das mit SendClientMessage gemacht


    CreateTextdraw gibt es auch nicht ka wer das da rein gepostet hat


    //edit shadow benutz nen Textdraw editor das geht besser

    RFT

  • so



    public SekundenTimer(playerid)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    new Text[32];
    Waiting[playerid] -= 1;
    format(Text,sizeof(Text),"Du kannst dich in %d sekunden einloggen"); //fehlt hier nicht was?
    Textdraw1 = TextDrawCreate(112.000000,111.000000,Text);
    TextDrawUseBox(Textdraw0,1);
    TextDrawBoxColor(Textdraw0,0x00000033);
    TextDrawTextSize(Textdraw0,496.000000,0.000000);
    TextDrawBackgroundColor(Textdraw1,0x000000ff);
    TextDrawFont(Textdraw1,1);
    TextDrawLetterSize(Textdraw1,0.499999,1.000000);
    TextDrawFont(Textdraw2,1);
    TextDrawColor(Textdraw1,0x0000ffcc);
    if(Waiting[playerid] == 0)
    {
    KillTimer(Timer[playerid]);
    }
    }
    return 1;
    }

    RFT

  • öhm


    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33176) : error 017: undefined symbol "Textdraw1"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33180) : error 017: undefined symbol "Textdraw1"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33181) : error 017: undefined symbol "Textdraw1"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33182) : error 017: undefined symbol "Textdraw1"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33183) : error 017: undefined symbol "Textdraw2"
    C:\Dokumente und Einstellungen\Boris\Desktop\PC2.pwn(33184) : error 017: undefined symbol "Textdraw1"


    Innovativ & Professionell - Mein Blog





    "Define yourself by your deeds."

  • naja geht iwi nicht -.- aber egal .. könte man das dann so machen das wenn man im haus gspawnt wird das man dann für 2 gefroren ist? ich habs versucht aber ich denke das ist falsch ...


    forward Freezetimer(playerid);


    ich weiß nicht wo das dann hin soll:


    SetTimer("Freezetimer",2000,1);
    for(new i=0; i<MAX_PLAYERS; i++)
    TogglePlayerControllable(i, 1);



    public Freezetimer(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    TogglePlayerControllable(i, 0);
    return 1;
    }


    Lg. Shadow


    Innovativ & Professionell - Mein Blog





    "Define yourself by your deeds."