Bei Registration Geschlecht 0?

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, ich habe mir ein System erstellt wo man sich Registrieren kann. Blos wenn ich das Geschlecht mit Maennlich oder Weiblich abspeichern will steht dann da 0?
    Woran kann das liegen? hier mal ein paar schnipsel:



    if(dialogid == REGISTER)//2 von 4
    {
    if(response == 0)
    {
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Grau,"Das Passwort war nicht lang genug");
    new string[128];
    format(string,sizeof(string),"Hallo, %s,\n Danke das du auf "SERVERNAME" gefunden hast. Bitte gebe hier ein Passwort ein um hier kostenlos Spielen zu können");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren - "SERVERNAME" 2 von 4 ",string,"Registrieren","Disconnecten");
    }
    else
    {
    //SpawnPlayer(playerid);
    Register(playerid,inputtext);
    //ShowPlayerDialog(playerid,REGELN,DIALOG_STYLE_MSGBOX,"Serverregeln - "SERVERNAME" Registrationsvorgang 1 von 4 ","1. Cybermobbing/Beleidigen ist strengstens untersagt\n2. Kein Cheat/Hack oder Cleos der wo die Vorteile erschaft\n3. Keine Rassistischen-/Ausländerfreindlichen ausdrücke in Namen oder zu anderen Mitspielern\n4. Behandle jeden Mitspieler mit Respek\n\nWenn du die Regeln Akzeptierst dann darfst du dir einen Account bei uns erstellen!","Akzeptieren","Disconnecten");
    ShowPlayerDialog(playerid,REGGESCHLECHT,DIALOG_STYLE_LIST,"Wie alt bist du? - "SERVERNAME" 3 von 5 ","Männlich\nWeiblich","Auswählen","Disconnecten");
    return 1;
    }
    }
    }



    if(dialogid == REGGESCHLECHT)//3 von 3
    {
    if(response)
    {
    new mann[64],weib[64];
    format(mann,sizeof(mann),"Maennlich");
    format(weib,sizeof(weib),"Weiblich");
    switch(listitem)
    {
    case 0: SendClientMessage(playerid,Weiß,"Ok, du bist also Männlich"),SetPVarString(playerid,"Geschlecht",mann),ShowPlayerDialog(playerid,REGALTER,DIALOG_STYLE_LIST,"Wie alt bist du? - "SERVERNAME" 4 von 4","13\n\n14\n15\n16\n17\n18\nOder älter","Auswählen","Disconnecten");
    case 1: SendClientMessage(playerid,Weiß,"Ok, du bist also Weiblich"),SetPVarString(playerid,"Geschlecht",weib),ShowPlayerDialog(playerid,REGALTER,DIALOG_STYLE_LIST,"Wie alt bist du? - "SERVERNAME" 4 von 4","13\n\n14\n15\n16\n17\n18\nOder älter","Auswählen","Disconnecten");
    }

    }
    }



    stock Register(playerid,key[])
    {
    new Spielerdatei[128],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);
    dini_IntSet(Spielerdatei,"Level",1);
    dini_IntSet(Spielerdatei,"Geschlecht",0);
    dini_IntSet(Spielerdatei,"Alter",0);
    dini_IntSet(Spielerdatei,"Geld",5000);
    SendClientMessage(playerid,Blau,"Du hast dich Erfolgreich auf "SERVERNAME"registriert");
    SetPlayerScore(playerid,1);
    GivePlayerMoney(playerid,5000);
    return 1;
    }



    stock SpielerLaden(playerid)
    {
    new Spielerdatei[128],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,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
    SetPVarInt(playerid,"Alter",dini_Int(Spielerdatei,"Alter"));

    SetPVarInt(playerid,"Level",dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Geld",dini_Int(Spielerdatei,"Geld"));
    return 1;
    }



    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
    return 1;
    }

    und wenn ich mich dann noch mit dem Selben account einloggen möchte dann steht da das ich mich wieder registriert habe.


    Danke im vorraus


    MfG Exon

  • was muss ich dann da machen?


    Erstmal musst du aus deinem Stock Register die Zeile mit dem Geschlecht löschen, da diese überflüssig ist. In deinem Dialog mit dem Geschlecht hast du schon alles richtig gemacht, nur würde ich dort noch folgendes einfügen: dini_Set(Spielerdatei,"Geschlecht",männlich) bzw. bei der Antwort für weiblich folgendes: dini_Set(Spielerdatei,"Geschlecht",weiblich).


    Bei dem stock laden ersetzt du:
    SetPVarInt(playerid,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
    durch:
    SetPVarString(playerid,"Geschlecht",dini_Get(Spielerdatei,"Geschlecht"));


    und beim stock speichern kannst du folgendes einfach löschen:
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));


    Das Geschlecht muss ja schließlich nur ein einziges mal gesetzt werden und das geschieht beim register dialog.




    //edit
    Rechtschreibfehler verbessert

  • da steht immernoch

    geschlecht 0 :huh: