Probleme mit Dialog Alter ..

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
  • Moin :D


    Ich habe mal wieder eine schöne Frage :D.


    Ich habe ein Register/Login System mit Dialogen halt .. und ich möchte aber auch noch ein Alter system machen also wenn der Spieler auf dem Server Joint sollte ein "Dialog Alter" kommen also wo der spieler sein alter angeben muss, Ich habe es schon gescriptet aber irgend wie geht es nicht .. der spieler kann eingeben was er möchte das dialog geht einfahr dann nru weg und es passiert nix ^^ ..



    Also hier der Script Code ..


    Ganz Oben Definiert



    #define DIALOG_ALTER 1


    OnPlayerConnect


    // .: MAP ICONS :.
    // LSPD
    SetPlayerMapIcon(playerid,1,1554.6030,-1675.4369,16.1953,30,GELB,MAPICON_LOCAL);
    // Staathalle
    SetPlayerMapIcon(playerid,2,1481.2584,-1768.5922,18.7958,38,GELB,MAPICON_LOCAL);
    // Ammunation
    SetPlayerMapIcon(playerid,3,1366.3596,-1280.4696,13.5469,6,GELB,MAPICON_LOCAL);
    // BSN Icon
    SetPlayerMapIcon(playerid,4,1201.2015,-921.2894,43.0943,10,GELB,MAPICON_LOCAL);
    // Autohaus Icon
    SetPlayerMapIcon(playerid,5,2131.4902,-1146.9860,24.5256,55,GELB,MAPICON_LOCAL);
    // Bank Icon
    SetPlayerMapIcon(playerid,6,1461.9246,-1012.8732,26.8438,52,GELB,MAPICON_LOCAL);
    // 24/7 Icon
    SetPlayerMapIcon(playerid,7,1315.2852,-899.1396,39.5781,25,GELB,MAPICON_LOCAL);
    // ..
    InSupport[playerid] = 0;
    DeinSupport[playerid] = 0;
    TicketGeschrieben[playerid] = 0;
    Ping1[playerid] = 0;
    SetTimerEx("Ping2", 1000*10, false, "%d", playerid);
    GivePlayerMoney(playerid, 25000);
    if(IsPlayerNPC(playerid))return 1;
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    LoadAccount(playerid);
    SendClientMessage(playerid,WEIS,"Willkommen auf Life of City (LoC)");
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SpielerSpeichern(playerid);

    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login System","Account wurde gefunden. Gib bitte dein Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Gib bitte Das Gewünschte passwort ein:","Register","Abbrechen");
    }


    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","Gib Bitte dein Alter an","Absenden");
    }
    return 1;
    }


    OnDialogResponse


    if(dialogid == DIALOG_DRIVEIN)
    {
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    GivePlayerMoney(playerid,-50);
    GivePlayerHealth(playerid,30);
    GameTextForPlayer(playerid, "Du hasst dir ein Chesse Burger Bestellt!.", 3000, 4);
    }
    case 1:
    {
    GivePlayerMoney(playerid,-50);
    GivePlayerHealth(playerid,30);
    GameTextForPlayer(playerid, "Du hasst dir ein Chicken Burger Bestellt!.", 3000, 4);
    }
    case 2:
    {
    GivePlayerMoney(playerid,-50);
    GivePlayerHealth(playerid,30);
    GameTextForPlayer(playerid, "Du hasst dir eine Pommes mit Chicken Bestellt!.", 3000, 4);
    }
    case 3:
    {
    GivePlayerMoney(playerid,-50);
    GivePlayerHealth(playerid,10);
    GameTextForPlayer(playerid, "Du hasst dir eine Cola Gekauft", 3000, 4);
    }
    }
    }
    return 1;
    }
    if(dialogid==DIALOG_ALTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }


    }
    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,GELB,"Passwort nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,GELB,"Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Passwort nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 0;
    }


    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,"Alter",key);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,BLAU,"Account Erfolgreich Erstellt.");
    SetPlayerScore(playerid,1);
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Alter",dini_Int(Spielerdatei,"Alter"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Suporterlevel",dini_Int(Spielerdatei,"Suporterlevel"));
    SetPVarInt(playerid,"Level",dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium"));
    SetPVarInt(playerid,"Coins",dini_Int(Spielerdatei,"Coins"));
    SetPVarInt(playerid,"Warns",dini_Int(Spielerdatei,"Warns"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
    SetPVarInt(playerid,"Spawnpunkt",dini_Int(Spielerdatei,""));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist Gebannt");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Suporterlevel",GetPVarInt(playerid,"Suporterlevel"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Coins",GetPVarInt(playerid,"Coins"));
    dini_IntSet(Spielerdatei,"Warns",GetPVarInt(playerid,"Warns"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
    dini_IntSet(Spielerdatei,"Spawnpunkt",GetPVarInt(playerid,"Spawnpunkt"));
    }
    return 1;
    }



    Also das einzige was ich will is wenn der Register Dialog kommt und er sein passwort angegeben hat, Das dann der "Dialog Alter" kommt .. villeicht könnt ihr mir da weiter helfen



    MFG:
    Equ_Res :)

  • Du musst unter OnPlayerDialogResponse bei dem Register Dialog den Alter Dialog einfügen.
    Sonst wird er nicht aufgerufen nach dem Registrieren.

  • Wie jetzt ? meinst du so ?


    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,GELB,"Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Passwort nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","Gib Bitte dein Alter an:","Absenden");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 0;
    }

  • Mach es mal so!!



    if(dialogid==DIALOG_ALTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,GELB,"Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alters Abfrage","Gib bitte das gewünschte Alter ein:","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 0;
    }



    //Edit 1. Fehler behoben.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • wie mache ich das jetzt, Das nur die Spieler den DIALOG ZU SEHEN bekommen die sich Noch Registrieren müssen .. weil wenn jetzt ein spieler rein kommt muss er sein Alter angeben .. er fragt jetzt garnicht mehr nach den Login System .. sondern nach den Alter system und fertig :huh: