Eine neue Registrations (Tutorial) erstellen! Problem mit "Spawn" klicken...

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
  • Hey Leute,


    ich möchte gerade ein eigenes Registratiosnsystem machen bzw. Tutorial d.h. dass wenn man auf den Server geht in das FLugzeug geportet wird.
    Jedoch kommt bevor man überhaupt in das Flugzeug geportet wird ein Dialog, dass man auf Spawn klicken muss und dann spackt alles total rum...


    Wie kann ich diesen Dialog ausschalten bzw. wegmachen?

  • Soweit ich das in Erinnerung hab kannst du einen Timer bei OnPlayerRequestClass machen. (Den machst du z.B. auf 100) Und dann haust du die Funktion SpawnPlayer(playerid) in den Timer rein. Ich schau morgen nochmal nach.

    Momentan im Ruhestand

  • Ich habe es jetzt geschafft diesen Spawnbutton zu umgehen, jedoch werde ich jetzt gekickt sobald ich mich Registriert habe...


    Hier einmal der Dialog:


    if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER: Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    }
    }
    return 1;
    }


    Und der stock:


    stock Register(playerid,key[])
    {
    TogglePlayerSpectating(playerid, 0);
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Create(Playerdatei);
    dini_Set(Playerdatei,"Passwort", key);
    SetPVarInt(playerid,"Eingeloggt", 1);
    SetPlayerScore(playerid, 1);
    SetPlayerInterior(playerid,1);
    SetPlayerPos(playerid,1.808619,32.384357,1199.593750);
    ShowPlayerDialog(playerid,DIALOG_PLANE,DIALOG_STYLE_MSGBOX,"Flug 717","Willkommen im Flug 717 nach Los Santos.\nWir werden in ein paar Minuten am LS Airport landen.\nMachen Sie es noch so lange bequem... ","In Ordnung","In Ordnung"" ");
    // Flugzeug Landetimer (2 Minuten)
    SetTimerEx("Landung", 120000, false, "i", playerid);

    }


    Also nachdem ich mich registriert habe werde ich zwar ins Flugzeug geportet und der Dialog (PLANE) erscheint auch, jedoch werde ich sofort gekickt...


    Was habe ich falsch gemacht?

  • if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER:Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    }
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    else
    {

    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;



    }
    }
    return 1;
    }



    Jetzt nur noch richtig einrücken.


    #Handy

  • Versuch das mal so, ich habe dir das kürzer geschrieben, so sollte das klappen.


    if(dialogid==DIALOG_REGISTER){
    if(!response)return SendCientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!"),SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!"),Kick(playerid);
    if(!inputtext)return SendClientMessage(playerid,COLOR_GREEN,"SERVER: Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!"),ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return Register(playerid,MD5_Hash(inputtext));
    }