Nach Register oder Login automatisch 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
  • Hallo alle zusammen!
    Wie schon die Überschrift sagt, möchte ich wissen, dass wenn man sich Registriert oder Eingeloggt hat, wie man dan Automatisch spawnt?
    Dazu würde ich gerne noch wissen wie ich mein Script so Scripten kann, dass wenn man den Registrierungs oder Login vorgang abbricht das man gekickt wird und das man gekickt wird wenn man versucht zu spawnen ohne Eingeloggt zu sein.


    Ich hoffe ihr wisst was ich mein :D Danke im vorraus!


    Mfg RuSsiADaN

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

    Einmal editiert, zuletzt von RuSsiADaN ()

  • Dein erster Wunsch ist nicht möglich soweit ich weiß, weil es einfach nicht geht das "Spawn-Menu" zu überspringen.
    Das zweite ist, du musst einfach mit einem Bool abfragen, ob der Spieler die Registration beendet hat, wenn nicht, wird der Spieler gekickt.

    Jeder Veränderung hat was positives in sich

  • Ganz einfach mit SpawnPlayer(playerid);
    2. Bei der Registrierung wenn abgebrochen wird eben Kick(playerid); einbauen


    //e: Rechtschreibung

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Okay danke euch erstmal für die schnellen antworten! :thumbup:
    Ich werds gleich sofort ausprobieren.


    Soo ich hab ein neues Problem. Unzwar hab ich schon mal bei dem Register und Login Command else benutzt und wenn ich das Kick(playerid); da drunter setzte klappt es immernoch nicht?

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

    Einmal editiert, zuletzt von RuSsiADaN ()

  • Ok :D Hier ist er:


    if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Register(playerid,Params);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Login(playerid,Params);
    return 1;
    }
    }

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

  • if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Kick(playerid);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    return 1;
    }
    }

    Jeder Veränderung hat was positives in sich

  • Achso ja mom ich hatte das so :D


    if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Register(playerid,Params);
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Registrieren.");
    Kick(playerid);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Login(playerid,Params);
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Einloggen.");
    Kick(playerid);
    return 1;
    }
    }

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

  • if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Register(playerid,Params);
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Registrieren.");
    Kick(playerid);
    return 1;
    }
    }
    Kann natürlich nicht gehen: Du fragst ab, ob ein Passwort eingegeben wurde. Wenn ja dann führst du Register aus und kickst den Spieler vom Server. Du könntest einfach in der Funktion Register "SpawnPlayer(playerid);" ausführen. Das gleiche machst du dann auch noch für Login.


    edit:/
    Snap: ich denke mal er übergibt das eingegebene Passwort (Params) an die Funktion Register und Login. Dort wird er es dann wohl weiterverwenden...

  • Das ist im ganzen dann so :


    if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Registrieren.");
    Kick(playerid);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {


    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Einloggen.");
    Kick(playerid);
    return 1;
    }
    }

    Jeder Veränderung hat was positives in sich

  • Snap: jetzt führt der Befehl die Funktionen Register und Login nichtmehr aus^^ Und außerdem versteh ich den Sinn von dem Befehl nicht. Wenn ein Passwort eingegeben wird dann kommt die Meldung "Du musst dich erst registrieren" und der Spieler wird gekickt? O.o

  • Ja weil er doch dann auf Spawn...Ne warte mal ?
    Das geht doch garnicht ?
    Der Text wird doch auf jedenfall angezeigt, weil keine Abfrage besteht.



    Ich versteh das hier gearde nicht, und halte mich mal lieber nun raus, sonst mach ich es noch schlimmer :D

    Jeder Veränderung hat was positives in sich

  • Jetzt werde ich immer gekickt egal ob ich /register [Passwort] mache oder nicht.


    Also jz alles was zu Register und Login gehört oder nur die Befehle? Egal ich mach alles rein:


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    }
    return 1;
    }


    if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Registrieren.");
    Kick(playerid);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"Du musst dich zuerst Einloggen.");
    Kick(playerid);
    return 1;
    }
    }


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Erfolgreich Registriert.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SetPlayerScore(playerid,0);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Erfolgreich Eingeloggt.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Falsches Passwort.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    }

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

  • Probiers mal so:


    if(strcmp("/register",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Du bist noch nicht Registriert.Tippe /register [Passwort] ein um dich zu Registrieren.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Register(playerid,Params);
    return 1;
    }
    }
    if(strcmp("/login",cmd,true)==0)
    {
    Params = strtok(cmdtext, idx);
    if(!Params[0])
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Das Passwort war nicht lang genug.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    else
    {
    Login(playerid,Params)
    return 1;
    }
    }


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Erfolgreich Registriert.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SetPlayerScore(playerid,0);
    SpawnPlayer(playerid);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Erfolgreich Eingeloggt.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Falsches Passwort.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    SendClientMessage(playerid,0xAAAAAAAA,"Dein Account wurde gefunden.Tippe /login [Passwort] um dich Einzuloggen.");
    SendClientMessage(playerid,0xAAAAAAAA,"");
    return 1;
    }
    }