Beiträge von theTV

    Hier hab nur richtig eingerückt:

    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,"Passwort",key);
    SendClientMessage,(playerid,GELB,"Du hast dich Erfolgreich Registriert");
    return 1;
    }

    Arbeitest du mit:
    Mysql


    Mit Dini(Nur als Beispiel):

    public OnPlayerDisconnect(playerid)
    {
    new Float:pX,Float:pY,Float:pZ;//Erstellt drei neue Werte die mit Floats ausgetauscht werden können
    GetPlayerPos(playerid,pX,pY,pZ); ;//Erfragt die Spieler Position und definiert sie als pX, pY und pZ...
    SetPVarFloat(playerid,"EinloggPositionX",pX);//Speichert in eine PVar den Spieler Einlogg Float der X Achsen Korrdinate..
    SetPVarFloat(playerid,"EinloggPositionY",pY);//Speichert in eine PVar den Spieler Einlogg Float der Y Achsen Korrdinate..
    SetPVarFloat(playerid,"EinloggPositionZ",pZ);//Speichert in eine PVar den Spieler Einlogg Float der Z Achsen Korrdinate..
    }
    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid,GetPVarFloat(playerid,"EinloggPositionX"),GetPVarFloat(playerid,"EinloggPositionY"),GetPVarFloat(playerid,"EinloggPositionZ"));
    }

    Wie du es speicherst kannst du hier sehen

    und warum gehts bei mir trotzdem?

    public OnRconLoginAttempt(ip[], password[], success)
    {
    new playerid,string2[128];
    if(!success)
    {
    printf("[RCON] %s mit der IP %s versuchte mit das pw %s sich einzuloggen.",SpielerName(playerid),ip, password);
    new pip[16];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerIp(i, pip, sizeof(pip));
    if(!strcmp(ip, pip, true))
    {
    SendClientMessage(i, rot, "Falsches PW!");
    format(string2,sizeof(string2),"%s hat versucht sich als RCON einzuloggen.(Kick+Verwarnung)",SpielerName(playerid));
    SCMTA(rot,string2);
    warnLog(string2);
    SetPVarInt(i,"Warnungen",GetPVarInt(i,"Warnungen")+1);
    Kick(i);
    }
    }
    }
    return 1;
    }
    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

    Die Konsole gibt mir das hier:

    [RCON] thetvMt2 mit der IP 127.0.0.1 versuchte mit das pw llll sich einzuloggen.

    public OnRconLoginAttempt(ip[], password[], success)
    {
    if(!success)
    {
    //was wenn das pw nicht stimmt
    printf("[RCON] %s mit der IP %s versuchte mit das pw %s sich einzuloggen.",SpielerName(playerid),ip, password);
    }
    }

    Du hast:

    stock Register //fürs registrieren
    stock Login //überprüft ob das pw stimmt
    was fehlt:

    stock Speichern //um alles abzuspeichern
    stock Laden //um alles Laden zu können
    Bsp.:

    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new 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));
    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"));
    return 1;
    }

    Und so wendest du es an:

    public OnPlayerDisconnect(playerid)
    {
    Spielerspeichern(playerid);
    return 1;
    }
    public OnPlayerConnect(playerid)
    {
    LoadAccount(playerid);
    return 1;
    }

    new Float:RandomSpawn[][4]={ //die 4 steht für die anzahl
    //x,y,z,interior
    {1620.1317,-1879.7671,13.1119,0},
    {1620.1317,-1879.7671,13.1119,0},
    {1620.1317,-1879.7671,13.1119,0},
    {1620.1317,-1879.7671,13.1119,0}
    };
    SetPlayerSpawn(playerid,RandomSpawn[rand][0], RandomSpawn[rand][1], RandomSpawn[rand][2]);
    SetPlayerInterior(playerid,RandomSpawn[rand][3]);


    new Float:RandomSpawn[][4]={ //die 4 steht für die anzahl
    //x,y,z
    {1620.1317,-1879.7671,13.1119},
    {1620.1317,-1879.7671,13.1119},
    {1620.1317,-1879.7671,13.1119},
    {1620.1317,-1879.7671,13.1119}
    };


    public OnPlayerSpawn(playerid)
    {
    new rand = random(sizeof(RandomSpawn));
    SetPlayerSpawn(playerid,RandomSpawn[rand][0], RandomSpawn[rand][1], RandomSpawn[rand][2]);
    return 1;
    }