F4 und eine Frage Zum dialog

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
  • Nur Eine Sache Verstehe ich nicht ...


    wenn ichs so machen würde ->


    if(!Eingeloggt[playerid])
    {
    if(!strlen(inputtext))
    {
    if(response)
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du wurdest gekickt Grund: nicht Registriert!");
    Kick(playerid);
    return 1;
    }


    dann drück ich auf Registrieren und er spawnt einfach ohne das der rest des regi system kommt drück ich auf Verlassen kick nur frage mich wieder einfach nur spawn? mehr nicht


    //EDIT: Ach ich bereuhe es mein altes script gelöscht zuhaben da hatte ichs richtig drinne mann boah hoffentlich kriegs ich noch hin ^^

    Einmal editiert, zuletzt von Quini ()

  • So müsstest du ja einen Button haben um zu Fragen:"Besitz du schon einen Account"?
    Das musst du vorher abfragen , und dann sehen ob die Person schon registriert ist.
    Wenn ja -> Zeig Login Dialog -> Wenn links geklickt, und PW richtig spawne Player
    -> Wenn recht geklickt, kick Player
    Wenn nein -> Zeig registerdialog -> Wenn links geklickt, erstelle Account
    -> Wenn rechts geklickt, kick Player


    Weiß du was ich meine?

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Also wie hier ?


    if(!dini_Exists(s))
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    }
    else
    if(dini_Exists(s))
    {
    new girismsg[128];
    format(girismsg,128,"Herzlich Willkommen %s \n\nBitte Loggen sie sich ein \n\nGeben sie nun ihr Passwort ein",Name);
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Einloggen",girismsg,"Login","Verlassen");
    }

    Code
    Naja was soll hier mein ganzen Register System ---> eig wollts ich nicht aber eqal


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(!Eingeloggt[playerid])
    {
    if(!strlen(inputtext))
    {
    if(response)
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    }
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du wurdest gekickt Grund: nicht Registriert!");
    Kick(playerid);
    }
    GetPlayerName(playerid,Name,sizeof(Name));
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(!dini_Exists(s))
    {
    dini_Create(s);
    dini_IntSet(s,"Passwort",udb_hash(inputtext));
    dini_FloatSet(s,"X",-2756.4143);
    dini_FloatSet(s,"Y",374.9626);
    dini_FloatSet(s,"Z",4.3366);
    dini_FloatSet(s,"A",269.2460);
    dini_FloatSet(s,"Health",100);
    dini_FloatSet(s,"Armor",0);
    dini_IntSet(s,"Geld",500);
    dini_IntSet(s,"Skin",26);
    dini_IntSet(s,"Virt",0);
    dini_IntSet(s,"Inte",0);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Wohnort","Bitte geben sie an wo sie Wohnen möchten.","SF","LV");
    }
    }
    }
    return 1;
    }

    Code
    //EDIT: ja weiter unten wird ja abgefragt ob er einen acc hat wenn nicht registriert er ihn
    //EDIT: 2 Bearbeitet

    Einmal editiert, zuletzt von Quini ()

  • Jep, und nun das SpawnPlayer bei dem Response von Dialogid 9 rein, wenn das PW richtig war.
    Denke so sollte das gehen ;)


    Er fragt schon hier ab, ob er registriert ist, ( if(!dini_Exists(s)) )
    Du solltest das nicht doppelt machen :D


    Edit: das geht do nicht ;)
    Du musst bei response die Daten erstellen, und bei !response kicken, oder was auch immer ;)
    Dialoge sind so aufgebau:


    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren","lalala","Registrieren","Verlassen");

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(response)
    {
    spielerdaten erstellen mit dem eigegebenem PW (inputtext)
    }
    else
    {
    // rechten button gedrückt
    }
    }
    }

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

    Einmal editiert, zuletzt von |-|auke ()

  • Das ist der Grund:
    if(response)
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    }
    Zu zeigst dem Spieler dann gleich wieder den Dialog :D

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ok ich hoffe ich kriegs nun hin noch ne weiter frage


    meinste ich kann f4 igendwie machn das er dann gleich wieder spawnt weil mit dem einen code gings net ^^


    //EDIT:


    habs nun so doch wieder das selbe wie eben Drück ich auf Regi gehts net weiter..


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(!Eingeloggt[playerid])
    {
    if(!strlen(inputtext))
    {
    if(response)
    {
    GetPlayerName(playerid,Name,sizeof(Name));
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(!dini_Exists(s))
    {
    dini_Create(s);
    dini_IntSet(s,"Passwort",udb_hash(inputtext));
    dini_FloatSet(s,"X",-2756.4143);
    dini_FloatSet(s,"Y",374.9626);
    dini_FloatSet(s,"Z",4.3366);
    dini_FloatSet(s,"A",269.2460);
    dini_FloatSet(s,"Health",100);
    dini_FloatSet(s,"Armor",0);
    dini_IntSet(s,"Geld",500);
    dini_IntSet(s,"Skin",26);
    dini_IntSet(s,"Virt",0);
    dini_IntSet(s,"Inte",0);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Wohnort","Bitte geben sie an wo sie Wohnen möchten.","SF","LV");
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du wurdest gekickt Grund: nicht Registriert!");
    Kick(playerid);
    }
    }
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von Quini ()

  • Höö Kapiers net also hier nommal


    OnPlayerRequestClass:


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerFacingAngle(playerid, 136.3925);
    SetPlayerPos(playerid, -1531.6234,686.8140,133.0514);
    SetPlayerCameraPos(playerid, -1544.0018,672.2354,147.4409);
    SetPlayerCameraLookAt(playerid, -1531.6234,686.8140,133.0514);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(!dini_Exists(s))
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    }
    else
    if(dini_Exists(s))
    {
    new girismsg[128];
    format(girismsg,128,"Herzlich Willkommen %s \n\nBitte Loggen sie sich ein \n\nGeben sie nun ihr Passwort ein",Name);
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Einloggen",girismsg,"Login","Verlassen");
    }
    return 1;
    }


    und hier Login Dialog wenn er bei OnPlayerRequestClass auf Registrieren klickt:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(!Eingeloggt[playerid])
    {
    if(!strlen(inputtext))
    {
    if(response)
    {
    GetPlayerName(playerid,Name,sizeof(Name));
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(!dini_Exists(s))
    {
    dini_Create(s);
    dini_IntSet(s,"Passwort",udb_hash(inputtext));
    dini_FloatSet(s,"X",-2756.4143);
    dini_FloatSet(s,"Y",374.9626);
    dini_FloatSet(s,"Z",4.3366);
    dini_FloatSet(s,"A",269.2460);
    dini_FloatSet(s,"Health",100);
    dini_FloatSet(s,"Armor",0);
    dini_IntSet(s,"Geld",500);
    dini_IntSet(s,"Skin",26);
    dini_IntSet(s,"Virt",0);
    dini_IntSet(s,"Inte",0);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Wohnort","Bitte geben sie an wo sie Wohnen möchten.","SF","LV");
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du wurdest gekickt Grund: nicht Registriert!");
    Kick(playerid);
    }
    }
    }
    }
    return 1;
    }


    und hir login


    if(dialogid == 9)
    {
    if(!Eingeloggt[playerid])
    {
    if(!strlen(inputtext))
    {
    if(response)
    {
    new s2[265];
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(dini_Exists(s))
    {
    s2=dini_Get(s,"Passwort");
    if(udb_hash(inputtext)==strval(s2))
    {
    Eingeloggt[playerid] = 1;
    SpawnPlayer(playerid);
    return 1;
    }
    if(udb_hash(inputtext)!=strval(s2))
    {
    new girismsg[128];
    format(girismsg,128,"Herzlich Willkommen %s \n\nBitte Loggen sie sich ein \n\nGeben sie nun ihr Passwort ein",Name);
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Einloggen",girismsg,"Login","Verlassen");
    return 1;
    }
    if(!response)
    {
    SendClientMessage(playerid, Rot, "Du wurdest gekickt Grund: nicht Eingeloggt!");
    Kick(playerid);
    }
    }
    }
    }
    }
    }
    return 1;
    }


    //edit. dialog zugefügt


  • SetPlayerFacingAngle(playerid, 136.3925);
    SetPlayerPos(playerid, -1531.6234,686.8140,133.0514);
    SetPlayerCameraPos(playerid, -1544.0018,672.2354,147.4409);
    SetPlayerCameraLookAt(playerid, -1531.6234,686.8140,133.0514);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(s,sizeof(s),"acc/%s.ini",Name);
    if(!dini_Exists(s))
    {
    new kayitmsg[128];
    format(kayitmsg,128,"Herzlich Willkommen %s \n\nBitte Registrieren sie sich \n\nGeben sie nun ihr Passwort ein.",Name);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrieren",kayitmsg,"Registrieren","Verlassen");
    }
    else
    if(dini_Exists(s))
    {
    new girismsg[128];
    format(girismsg,128,"Herzlich Willkommen %s \n\nBitte Loggen sie sich ein \n\nGeben sie nun ihr Passwort ein",Name);
    ShowPlayerDialog(playerid,9,DIALOG_STYLE_INPUT,"Einloggen",girismsg,"Login","Verlassen");
    }

    das unter onplayerconnect machen.
    Wenn das zu frü sein sollte, verzögert mit einem Timer ausführen ;)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • jap kann dir sagen was passiert


    als erstes kommt meine Camera posis da nicht und wenn ich dann mich doch registrieren will


    passiert folgenes ich gebe mein passwort ein drücke enter oder Registrieren dann :pinch: Spawnt er :pinch:


    igendwo inna luft blueberry und mehr net ^^

  • Benutzt du ein GF, und willst den auf Dialog umbauen?
    Sonst müsstest du eigentlich wissen worwann das liegt ;)
    Guck dir mal tutorials über dialoge an.


    Ich gehe nun auch mal in´s Bett ;)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.