Nach Register und Login spawnen

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
  • SpawnPlayer(playerid);


    Passiert aber nichts -.-" das wusste ich auch aber danke


    new str[264];
    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
    SpielerInfo[playerid][LoggedIn] = 1;
    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 PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(PlayerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    SpielerInfo[playerid][LoggedIn] = 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.
    }
    }

  • Naja, ohne nen Code wie und wo Du was machst kann man Dir nicht viel mehr erzählen.. :D
    Du musst halt einfach wenn der Spieler sein Passwort erfolgreich eingibt SpawnPlayer(playerid); machen...
    Das muss funktionieren...


    Ansonsten läuft irgendwas schief...


    Zeig am besten mal Deine Zeilen wo Du was machst bezüglich Login und Spawn.



    Greetz
    #else


    #e: ZU spät gesehen sorry,
    Ehm, mach "SpawnPlayer(playerid);" mal in CreateAccount mit rein. ;)
    Ich denke mal das Script läuft über mySQL...
    Dann machste das am besten nach mysql_query ;)


    Greetz
    #else


  • new str[264];
    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
    SpielerInfo[playerid][LoggedIn] = 1;
    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 PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(PlayerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
    {
    SpielerInfo[playerid][LoggedIn] = 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.
    }
    }

  • Zu spät gesehen sorry,
    Ehm, mach "SpawnPlayer(playerid);" mal in CreateAccount mit rein. ;)
    Ich denke mal das Script läuft über mySQL...
    Dann machste das am besten nach mysql_query ;)


    Ansonsten wie BOMBER auch schon gesagt hat, mit SetSpawnInfo ;)

  • Zu spät gesehen sorry,
    Ehm, mach "SpawnPlayer(playerid);" mal in CreateAccount mit rein. ;)
    Ich denke mal das Script läuft über mySQL...
    Dann machste das am besten nach mysql_query ;)


    Ansonsten wie BOMBER auch schon gesagt hat, mit SetSpawnInfo ;)


    Ohne SetSpawnInfo, wird SpawnPlayer(playerid); nicht funktionieren. Die Syntax von SpawnPlayer, braucht ja auch die SpawnInfos.


    MFG :)


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Ohne SetSpawnInfo, wird SpawnPlayer(playerid); nicht funktionieren. Die Syntax von SpawnPlayer, braucht ja auch die SpawnInfos.


    MFG :)


    Was mich persönlich aber sehr wundert..
    Ich habe in meinem Script nicht ein einziges mal SetSpawnInfo stehen und werde trotzdem gespawnt...
    Irgendeine Erklärung dafür?


    Greetz
    #else

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Was mich persönlich aber sehr wundert..
    Ich habe in meinem Script nicht ein einziges mal SetSpawnInfo stehen und werde trotzdem gespawnt...
    Irgendeine Erklärung dafür?


    Greetz
    #else


    Funktioniert ebenfalls mit AddPlayerClass(playerid, Parameter...);


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!


  • Was mich persönlich aber sehr wundert..
    Ich habe in meinem Script nicht ein einziges mal SetSpawnInfo stehen und werde trotzdem gespawnt...
    Irgendeine Erklärung dafür?


    Greetz
    #else


    Das du dein Login System in einem anderen Callback hast. Und den Spawn via AddPlayerClass schon hast.



    Zitat

    Nach dem Login passiert sowas


    Was passiert denn da außer das du tot bist?

  • Falls man in einem Interior gespawnt wird sollte man auch nicht vergessen dies anzugeben.


    //E
    Warum wird nicht einfach SetPlayerPos genutzt?


    Weil er die Requestclass überspringen möchte, und nicht seine Position auf X, Y, Z setzen möchte? :D


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Benutze ich ebenfalls nicht...
    Also kein
    AddPlayerClass, kein SetSpawnInfo einfach nur SpawnPlayer und SetPlayerPos/Interior


    B2T:
    Arbeite mal mit SpawnPlayer SetPlayerInterior und SetPlayerPos..
    Bei mir funktioniert das einwandfrei...