Beiträge von EvilToastBrot

    :thumbdown:
    WTF! Wiso machst du aus dem Passwort immer einen Integer Wert?!!
    Das Passwort ist ein STRING, also eine Zeichenkette und KEINE Zahl!
    new pw;
    pw = strval(inputtext);


    Völlig unsinnig -.-



    if(pInfo[playerid][passwort] != pw)


    Diese Bedinung kann NICHT erfüllt sein, da das Passwort noch nicht in pInfo[playerid][passwort] geladen ist!!!



    so:


    new save[128];
    GetPlayerName(playerid,player,sizeof(player));
    format(save,sizeof(save),"Spieler/%s.ini",player);
    format(pInfo[playerid][passwort], 50, dini_Get(save, "Passwort"));
    if(!strlen(inputtext))
    {
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
    new wstring[250];
    format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext, pInfo[playerid][passwort], true))
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    else
    {
    //...


    Ist das denn so schwer? :thumbdown:


    Das musst du doch können wie hast du denn sonst über 500 Beiträge gesammelt?
    Du hast den Rank Profi!

    Dein Script hat 364 Zeilen.
    Zeilen+1 = Die Zeile in der unbenutzte Varibalen in den Warnings angegeben wird.
    ==> Du verwendest die Variable pInfo nirgendswo.
    Falls du es nicht benutzen willst, wovon ich aber nicht ausgehe, es aber nicht rausmachen willst mach oben unter die includes: #pragma unused pInfo

    Du musst die ja defniert haben also z.b.:
    NewbRoller[0] = AddStaticVehicleEx(462,1004.8057,-1127.8035,23.4982,268.1421,-1,-1,36000000);
    Die 36000000 bedeuten nach 10h oder 1h kp jedenfalls da könnte bei dir eine 1 stehen, ersetz das einfach durch 36000000


    36000000 Sekunden bist du verrückt :O
    Das ist über 1 Jahr!
    Einfach -1 beim respawn_delay hatte noch nie ein Problem damit...



    //Edit: war ein Zitat zu viel^^

    Was soll denn das heißen?


    Farbe1 || Farbe2 < 0 || Farbe1 || Farbe2 > 126


    Wenn Farbe1 ist 1 oder Farbe2 kleiner 0 oder Farbe1 ist 1 oder Farbe2 größer 126


    Wiso zweimal Farbe1 == 1?
    Ich glaub da haste nen Denkfehler :D

    1)
    Wenns mit ii nicht klappt, dann ist wo anders was falsch.


    if(sscanf(params,"ii",Farbe1,Farbe2))
    {
    SendClientMessage(playerid,Rot,"Benutze /cc [Farbe][Farbe]");
    return 1;
    }


    So meine ich, nicht, dass wir an einander vorbeidenken...


    ii ist richtig, siehe hier.



    2) Yes.




    Du hast das sscanf Plugin oder?

    if(!strcmp(cmdtext, "/skin", true))
    {
    new str[50], skin = GetPlayerSkin(playerid);
    format(str, sizeof str, "Dein Skin: %d", skin);
    SendClientMessage(playerid, 0xFFFFFF, str);
    return 1;
    }

    Ja wenn du die Warningzeile auskommentierst und den Server verlässt, dann wird ja wieder ein leerer String in die Variable reingeschrieben, weil pInfo[playerid][passwort] immernoch ein leerer String ist.
    dann mach eben: statt dem format(pInfo[playerid][passwort, sizeof(inputtext)...);
    Das:
    strmid(pInfo[playerid][passwort], inputtext, 0, strlen(inputtext)-1, 255);


    Ich seh gerade, dass du beim einloggen das Passwort garnicht lädst...
    Also noch zu den anderen dini_Int usw bei if(dialogid == 1):



    new length = strlen(dini_Get(save, "Passwort"));
    strmid(pInfo[playerid][passwort], dini_Get(save, "Passwort"), 0, length-1, 255);



    Und beim Disconnecten:


    dini_Set(save, "Passwort", pInfo[playerid][passwort]); Falls du das nicht schon hast.




    Dir fehlen die einfachsten Basics.

    dini_Set(save,"Passwort",pInfo[playerid][passwort]);


    Das noch unter OnPlayerDisconnect, oder da wo du die PlayerVaribalen eben speicherst.



    dini_Set(save,"Passwort",inputtext);
    dini_Set(save,"Passwort",pInfo[playerid][passwort]);


    Warum zwei mal?



    //Edit Mach so:


    dini_Set(save,"Passwort",inputtext);
    format(pInfo[playerid][passwort], sizeof(inputtext), inputtext);
    Sonst wäre die Variable passwort ja wieder ein leerer String ^^

    Account neu erstellen, und wenn du mit LoH arbeitest die User Dateien nicht mit dem Windows Editor bearbeiten! Nur mit notepad++, sonst ist dein Passwort gleich wieder weg :D Hab ich viel Erfahrung mit^^

    Genau das meine ich ja.
    Erst speichert er einen String, dann Integer mit dem Key "Passwort".
    Eigentlich müsste da ja ein Warning kommen, weil wenn Passwort String ist, kommt ein Warning bei dini_IntSet, wenn Passwort Integer ist, müsste der Warning bei dini_Set kommen.

    OnPlayerConnect(playerid)
    {
    new counter;
    for(new i = 0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    counter++;
    }
    }
    if(counter == 1) ConnectNPC(...);
    }


    Schleife durch alle Spieler laufen lassen, prüfen ob einer Connected ist, wenn ja counter um 1 erhöhen, wenn am Ende counter = 1 gilt, dann ist der Spieler der einzige auf dem Server ==> NPC wird connected.


    //Edit: einrücken