Beiträge von Tiduz187

    Ich helfe mal kurz nach:


    if (strcmp(cmdtext, "/skroad2", true, 10) == 0)
    {
    SetPlayerPos(playerid,-622.439636, 2506.885742, 1098.159546);
    GetPlayerName(playerid, playa, sizeof(playa));
    format(string, sizeof(string), "%s befindet sich nun auf /skroad2", playa);
    SendClientMessageToAll(0x33AA33AA,string);
    SendClientMessage(playerid, COLOR_RED, "Diese Strecke ist Gefährich! Fahre nicht ohne God Mode!!");
    return 1;
    }

    Hey, ich hab mein Interior unter der Erde gemappt...
    Aber wenn ich mich dahin porten möchte, lande ich IMMER auf dem Land dadrüber...


    (Sprich: Normaler Boden halt)


    Kann mir da wer sagen, wie ich das behebe?

    ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");



    -.-' Boah ey xD


    nix register hier xD
    LOGIN! *änder* xD

    public Anmelden(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Users/%s.ini",SpielerName);
    SpielerInfo[playerid][Geld] = dini_Int(Spielerdatei,"Geld");
    SpielerInfo[playerid][Bank] = dini_Int(Spielerdatei,"Bank");
    SpielerInfo[playerid][Wanteds] = dini_Int(Spielerdatei,"Wanteds");
    SpielerInfo[playerid][Team] = dini_Int(Spielerdatei,"Team");
    SpielerInfo[playerid][Leader] = dini_Int(Spielerdatei,"Leader");
    SpielerInfo[playerid][alvl] = dini_Int(Spielerdatei,"AdminLevel");
    SpielerInfo[playerid][Skin] = dini_Int(Spielerdatei,"Skin");
    new plw = SpielerInfo[playerid][Wanteds];
    new plg = SpielerInfo[playerid][Geld];
    new pls = SpielerInfo[playerid][Skin];
    //SetPlayerMoney(playerid,plg);
    SetPlayerSkin(playerid, pls);
    SetPlayerWantedLevel(playerid,plw);
    SendClientMessage(playerid,Rot,"Willkommen!");
    SpawnPlayer(playerid);


    Eingeloggt[playerid] = 1;

    if(SpielerInfo[playerid][alvl] > 0)
    {
    new lgnshwscr = SpielerInfo[playerid][alvl];
    new AdminLevelShow[256];
    format(AdminLevelShow,sizeof(AdminLevelShow),"Dein Account besitzt Admin-Rechte Level %d!",lgnshwscr);
    SendClientMessage(playerid, Rot, AdminLevelShow);
    }

    return 1;
    }



    public PasswortFalsch(playerid)
    {
    if(FalschesPasswort[playerid] == 1)
    {
    SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 1 mal falsch eingegeben du hast noch 2 Versuche");
    ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    }
    if(FalschesPasswort[playerid] == 2)
    {
    SendClientMessage(playerid,Rot,"Du hast das Passwort bereits 2 mal falsch eingegeben du hast noch 1 Versuch!");
    ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    }
    if(FalschesPasswort[playerid] == 3)
    {
    SendClientMessage(playerid,Rot,"Du hast das Passwort 3 mal falsch eingegeben, du wurdest gekickt!");
    Kick(playerid);
    }
    return 1;
    }

    ja dann ist das PW falsch oder es liest es net aus datei raus und kick kommt vllt wegen falschem login du sollst die zeile Kick(playerid); suchen bei diesen Dialogen

    Und dann?...x_X


    Der ließt alles aus, ausser das dumme PW -.-*

    ..:-X Ich poste jetzt mal alles, was mit login zu tun hat:


    forward Anmelden(playerid);
    forward PasswortFalsch(playerid);
    forward SpielerUpdate(playerid);


    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerUpdate(playerid);
    Eingeloggt[playerid] = 0;
    SaveX[playerid] = 0;
    SaveY[playerid] = 0;
    SaveZ[playerid] = 0;
    SaveInt[playerid] = 0;


    Und hier Register UND Login:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == login)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Users/%s.ini",SpielerName);
    strmid(SpielerInfo[playerid][Passwort],dini_Get(Spielerdatei,"Passwort"),0,strlen(dini_Get(Spielerdatei,"Passwort")),strlen(dini_Get(Spielerdatei,"Passwort")));
    if(strcmp(inputtext,SpielerInfo[playerid][Passwort],false) == 0)
    {
    Anmelden(playerid);
    SpawnPlayer(playerid);
    }
    else
    {
    FalschesPasswort[playerid] += 1;
    PasswortFalsch(playerid);
    }
    }
    }


    if(dialogid == regis)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    SpielerInfo[playerid][alvl] = 0;
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Users/%s.ini",SpielerName);
    dini_Create(Spielerdatei);
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Registriere dich!", " ", "Registrieren!", "Abbrechen!");
    dini_Set(Spielerdatei,"Passwort",inputtext);
    dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
    dini_IntSet(Spielerdatei,"AdminLevel",SpielerInfo[playerid][alvl]);
    new GlueckWunschText[256];
    format(GlueckWunschText,sizeof(GlueckWunschText),"Du hast dich erfolgreich mit den Name : %s und dem Passwort : %s registriert",SpielerName,inputtext);
    SendClientMessage(playerid,Rot,GlueckWunschText);
    Anmelden(playerid);
    SendClientMessage(playerid,Rot,"Du wurdest automatisch eingloggt!");
    }
    }


    Die Passwörter stehen auch noch in den .ini's --> Aber er ließt die wohl nie korrekt aus :-X


    //Edit: Hier die Enums


    enum SInfo
    {
    Passwort[256],
    Wanteds,
    Geld,
    Bank,
    alvl,
    Tode,
    Kills,
    Spawn,
    Team,
    Leader,
    Skin,
    Waffen,
    Jail,
    Banned,
    Reason[256],
    IP[128],
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];

    Es geht um login..


    Allerdings:


    Ich versuche mich mit dem KORREKTEN PW einzuloggen, geht 3x nicht..
    Dann steht da


    Du hast dich erfolgreich mit den Name : %s und dem Passwort : %s registriert

    Dann ist immernoch der Bug:


    Auch wenn das PW korrekt ist (Was ich eingebe)


    Kommt halt:


    bla 1. fehler
    bla 2. fehler
    "du hast dich erfolgreich mit dem passwort: meinpasswort registriert"


    wtf?

    Hey, bei'm Login System buggt es immer, der ließt iwie das Passwort nie korrekt aus, und loggt ein egal was man da eingibt...


    zB Passwort: test
    Man gibt ein: lol


    Man kommt rein... hier der Login Dialog:


    if(dialogid == login)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    if(!strlen(inputtext))return ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "Logge dich ein!", " ", "Login!", "Abbrechen!");
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Users/%s.ini",SpielerName);
    SpielerInfo[playerid][Passwort] = strval(dini_Get(Spielerdatei,"Passwort"));
    if(strcmp(inputtext,SpielerInfo[playerid][Passwort],false) == 0)
    {
    Anmelden(playerid);
    SpawnPlayer(playerid);
    }
    else
    {
    FalschesPasswort[playerid] += 1;
    PasswortFalsch(playerid);
    }
    }
    }