Beiträge von NoLimit

    Also bezüglich des Passwortes: Dein Passwort wird mithilfe von MD5 verschlüsselt, sodass, falls der Server mal gehackt werden sollte, man mit den Passwörtern nichts anfangen kann.
    Bezüglich des Adminlevels: Das kann ich ehrlich gesagt nicht verstehen.. was für eine Meldung bekommst du Ingame?

    Also, du musst folgendes tun:
    -Order names "Accounts" bei den Scriptfiles.
    -Server starten & drauf gehen.
    -Ganz wichtig -> Disconnecten nicht den Server stoppen. Bei einem Serverstop wird der Account nicht gespeichert.
    -Dann kannst du dir im Ordner Accounts die .ini Datei mit einem normalen Editor öffnen & dein Adminlevel auf 5 setzen.
    Mit Freundlichen Grüßen,
    NoLimit

    Ich werde den Fehler so schnell wie möglich beheben, nur war ich im Urlaub und hatte schon lange keine Lust mehr zu scripten. Spätestens übermorgen sollte der Fehler behoben sein.

    Du solltest es eigentlich einfach nur übersetzen:
    !str(ing)c(o)mp(are)(key,dini_Get(Spielerdatei,"Passwort"),false))


    Heißt soviel wie: Er vergleicht das eingegebene mit dem richtigen Passwort. Wenn es falsch ist passiert das, was danach folgt (In deinem Fall: er lädt den Account)

    SavePlayer Code
    stock SavePlayer(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,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
    }
    return 1;
    }


    OnPlayerDisconnect
    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SavePlayer(playerid);
    }
    return 1;
    }

    Du musst bei Geld anstatt %s -> %i einbauen, sprich:
    if(strcmp(cmdtext, "/stats", true)==0)
    {
    new string[128];
    new fraktname[64];
    new money=GetPlayerMoney(playerid);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname="SAPD";}
    case 2:{fraktname="Army";}
    }
    SendClientMessage(playerid, Blau,string);
    //1 Reihe
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Geld: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,money);
    SendClientMessage(playerid, Blau, string);
    return 1;
    }


    Geld ist ja genauso wie Adminlevel & Level eine Zahl. Die musst du mit %i (Integer) wiedergeben

    Also ich hätte hier ein Beispiel mit ocmd:
    ocmd:afk(playerid,params)
    {
    if(GetPVarInt(playerid,"Afk")==1)
    {
    SendClientMessage(playerid,FARBE,"Du bist bereits Afk gemeldet. Benutze /back um alles wieder nutzen zu können.");
    }
    SetPVarInt(playerid,"Afk",1);
    SendClientMessage(playerid,FARBE,"Du hast dich soeben Afk gemeldet. Benutze /back um alles wieder nutzen zu können.");
    TogglePlayerControllable(playerid,1);
    return 1;
    }


    ocmd:back(playerid,params)
    {
    if(GetPVarInt(playerid,"Afk")==0)
    {
    SendClientMessage(playerid,FARBE,"Du bist nicht Afk gemeldet.");
    }
    SetPVarInt(playerid,"Afk",0);
    SendClientMessage(playerid,FARBE,"Du bist soeben aus dem Afk-Zustand zurückgekehrt.");
    TogglePlayerControllable(playerid,0);
    return 1;
    }


    Das wäre jetzt ein ziemlich einfaches Beispiel mit Dini & Ocmd.. umschreiben sollte nicht so schwer sein ^^


    Mit Freundlichen Grüßen,
    NoLimit