Login/Register Fenster wird nicht Angezeigt

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
  • Und zwar habe ich alles nach MAddins Tutorial gemacht, doch keine Dialoge kommen beim Connecten?
    Das TuT: http://forum.sa-mp.de/san-andr…r-beispiel-34#post1279119



    [13:11:03] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!


    Code:


    public OnPlayerRequestClass(playerid, classid)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder Skin Auswahl uns neu Einloggen müssen.
    {
    if(mysql_CheckAccount(playerid) == 0)//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");
    }
    else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
    }
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext); //Account wird erstellt
    SetPVarInt(playerid,"Eingeloggt",1); //Die variable wird auf 1 gesetzt, damit wir nun die Skin Auswahl benutzen können ohne wieder nach unserem Passwort gefragt zu werden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
    LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    else
    {
    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    }
    return 1;
    }

  • tuh das mal in OnPlayerConnect rein

    if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder Skin Auswahl uns neu Einloggen müssen.
    {
    if(mysql_CheckAccount(playerid) == 0)//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");
    }
    else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.
    {
    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
    }
    }

  • k.a kann ja sein ;D
    also vom code aus sieht es eig. gut aus ;D.


    verändere mal case bei case(DIALOG_LOGIN) in
    if(dialogid == DIALOG_LOGIN)
    {


    }


    if(dialogid == DIALOG_MAINLOGIN)
    {
    if(response)
    {
    if(listitem == 0) //login button ;D
    {
    mysql...
    }
    }
    }

    Einmal editiert, zuletzt von Fishtime9 ()

  • hier mach das bei ondialogresponse

    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext); //Account wird erstellt
    SetPVarInt(playerid,"Eingeloggt",1); //Die variable wird auf 1 gesetzt, damit wir nun die Skin Auswahl benutzen können ohne wieder nach unserem Passwort gefragt zu werden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
    LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
    return 1;
    }
    else
    {
    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
    }
    }
    return 1;
    }


  • midomen hab das gleiche, und wieso der return? wenn ich da noch andere sachen drunter habe ..

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Mit dem Return kommen 22 errors..


    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(948) : error 002: only a single statement (or expression) can follow each "case"
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(948) : warning 215: expression has no effect
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(949) : warning 209: function "OnDialogResponse" should return a value
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(952) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(954) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(956) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(958) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(962) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(964) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(968) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(970) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(974) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(976) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(980) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(982) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(989) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(991) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(993) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(998) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(1004) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(1010) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(1016) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(1022) : error 010: invalid function or declaration
    C:\Users\Alex\Desktop\Selfmade\Gamemode\Script.pwn(1030) : error 010: invalid function or declaration


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    22 Errors.

  • Ihr seit auf der falschen Spur


    Wenn es die Tabelle nicht gibt returnt der checkaccount -1 wieder
    daher kommt kein Dialog, dann würd ich dir mal raten die Tabelle nachzuschauen ob die auch den gleichen Namen hat wie es in der Funktion steht, womit du den account suchen lässt

    All in all it's just another brick in the wall

  • Den Dialog müsste man troztdem nochmal Intern mit returnen da sonst sich andere Dialoge einfach öffnen.


    Seit wann denn das?
    Der ruft die ID auf wenn du auf nen Button klickst, die der Dialog auch hat
    wenn sich andere öffnen, dann liegt es daran, das die falsch definiert worden sind

    All in all it's just another brick in the wall

  • An der Tabelle kann es wohl liegen, gibt es ein Beispiel?

  • Geht schlecht, da ich gemerkt habe das ich die Tabelle Garnicht erstellt hatte , da ich Navicat nicht Instalieren kann, und bei phpmyadmin nicht klar komme :/ und das Beispiel von Maddin finde ich nicht zum Runterladen also habe ich keine.
    Brauche aber nur um sich zu Regen und Logen mehr speicher ich zurzeit nicht, nur noch die Score.

  • Gib mir mal die daten von den saveplayer dann mach ich dir eben was fertig,, was du bei OnGamemodeinit nur einfügst und den server startest dann hast du die tabelle


    //e


    Jetzt geht es war nen MySQL fail

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()