Login Screen...

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
  • Heey,
    ich habe 2 Fragen:


    Ich bekomme das nicht hin, dass wenn Jemand auf den Server connected dort erst steht: "Bitte warten, deine Daten werden geladen..."
    Und dann kommt erst das GUI zum einloggen oder registrieren.


    Und ich möchte das nach diesem bitte warten die Kamera woanders hinguckt, also nicht auf diesen Strand in LS wie es normalerweise ist...


    Würde mich über Hilfe freuen! :)

  • Bevor die Login-/Registerbox erscheind sendest du einfach per SendClientMessage eine Nachricht an die Person. Anschließend lässt du die Dialoge erscheinen.


    Während des Logins oder Register setzt du die PlayerPos in die Nähe des gewünschten Ortes, damit das "Bild" scharf wird. Nun einfach noch die Kamera dazu, Facing und fertig. Die ganzen Funktionen dazu sind im Wiki enthalten, ein wenig suchen :)

  • Ich möchte den User ja ein paar Sekunden warten lassen und dann erst die Dialoge setzten, doch ich habe noch nie was mit Timern gemacht, dahher habe ich kein Plan davon.


    Habe ich, doch es wird trotzdem der Strand gezeigt...


    e# Ich habe de Coords schon unter OnPlayerConnect und OnPlayerRequestClass gesetzt, es wird immer der Strand gezeigt...


    Einmal editiert, zuletzt von Seri0usLy ()

  • Hätte ich mein Selfmade noch könnte ich es dir eben herauskopieren. Die Funktion mit dem Timer ist ganz easy, dazu suchst du im Wiki einfach nach Timer. Alles ist dort ausführlich erklärt. Sollte dir das immer noch nicht helfen gibt es bestimmt ein Tutorial, das hier dazu verfasst wurde.


    Das mit dem Strand habe ich folgendermaßen gelöst. Ich erstellte eine Funktion mit den Inhalten SetPlayerPos, SetPlayerCameraPos, SetPlayerCameraLookAt. Diese erstellte Funktion rufst du nun während des Erscheinen der Dialoge auf, sollte funktionieren.

  • Ich habe n stock gemacht:
    stock SetPlayerLoginScreen(playerid)
    {
    SetPlayerPos(playerid, 1172.0696, 1207.8075, 67.4315+10);
    SetPlayerCameraPos(playerid, 1172.0696, 1207.8075, 67.4315);
    SetPlayerCameraLookAt(playerid, 1171.5370, 1206.9558, 67.1615);
    }
    Den dann halt beim Login Dialog reingemacht "SetPlayerLoginScreen(playerid);".
    Doch es geht immernoch nich. :(


    Ich weiß echt nich weiter. ^^


  • if(IsPlayerNPC(playerid))return 1;
    new PlayerData[128];
    format(PlayerData, sizeof(PlayerData), "/Accounts/%s.ini", PlayerName(playerid));
    if(dini_Exists(PlayerData))
    {
    ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Login", "{00FF00}Account gefunden.\n{FFFFFF}Bitte logge dich jetzt ein.", "LOGIN", "ABBR.");
    SetPlayerLoginScreen(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, REGISTER_DIALOG, DIALOG_STYLE_INPUT, "Registrierung", "{FF0000}Account nicht gefunden.\n{FFFFFF}Bitte registriere dich jetzt.", "REGISTER", "ABBR.");
    }
    SendClientMessage(playerid, BLUE, ">_____ Dinamite-Life V1_____<");
    SendClientMessage(playerid, WHITE, "Willkommen auf Dinamite-Life!");
    SendClientMessage(playerid, WHITE, "Wir wünschen dir viel Spaß bei uns!");
    return 1;

  • Verschiebe das SetPlayerLoginScreen mal auserhalb der if-Abfrage. Direkt ins OnPlayerRequest oder OnPlayerConnect. Das sollte dann, nein muss, funktionieren. Auser ich bin auf beiden Augen blind :D

  • Also der Loginscreen funktioniert schonmal, oder? Nur noch das mit dem Timer?