Der PWN Compiler stürzt bei OnPlayerLogin ab

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 derzeit ein mieses und fieses Problem, ich habe heute mein Login und Registersystem fertiggestellt mit frwite usw,
    doch wenn ich den OnPlayerLogin stock so drinne lasse, wie es ist, dann stürzt der PWN Compiler völlig ab, was auch unten am Bild zusehen ist.
    Ich hoffe ihr könnt mir dabei helfen, ich weiß solangsam echt nicht was ich falsch gemacht habe.
    Sonst klappt alles sehr einwandfrei, ich verstehe die welt nicht mehr, vielleicht sollte ich ja mal ein paar Bier zischen, dann bin ich anscheinend
    besser aufgelegt, ne oder egal, wisst ihr woran das liegen könnte, wenn die Login funktion so aussieht ?


    public OnPlayerLogin(playerid,password[]);
    {
    new string[128],PassData[265],keytmp[256],valtmp[256],str[128];
    format(string,sizeof(string),"/Accounts/%s.ini",SpielerName(playerid));
    new File:UserFile=fopen(string,io_read);
    if(UserFile)
    {
    fread(UserFile,PassData,sizeof(PassData));
    keytmp=ini_GetKey(PassData);
    if(strcmp(keytmp,"Passwort",true)==0)
    {
    valtmp=ini_GetValue(PassData);
    strmid(Spieler[playerid][pPasswort],valtmp,0,strlen(valtmp)-1,255);
    }
    if(strcmp(Spieler[playerid][pPasswort],password,true)==0)
    {
    new key[256],val[256],Data[256];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key=ini_GetKey(Data);
    }
    fclose(UserFile);
    }
    else
    {
    passwortfalsch[playerid]++;
    if(passwortfalsch[playerid]==1)
    {
    SendClientMessage(playerid,ADMINROT,"Du hast das Passwort bereits 1 mal falsch eingegeben. Versuch 1/3 bis zum Kick.");
    format(str,sizeof(str),"Dein Name: %s.\n\nGebe bitte unten dein Passwort ein:",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",str,"Login","Abbruch");
    return 1;
    }
    if(passwortfalsch[playerid]==2)
    {
    SendClientMessage(playerid,ADMINROT,"Du hast das Passwort bereits 2 mal falsch eingegeben. Versuch 2/3 bis zum Kick.");
    format(str,sizeof(str),"Dein Name: %s.\n\nGebe bitte unten dein Passwort ein:",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",str,"Login","Abbruch");
    return 1;
    }
    if(passwortfalsch[playerid]==3)
    {
    SendClientMessage(playerid,ADMINROT,"Du hast das Passwort bereits 2 mal falsch eingegeben. Versuch 3/3 bis zum Kick.");
    format(str,sizeof(str),"Dein Name: %s.\n\nGebe bitte unten dein Passwort ein:",SpielerName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",str,"Login","Abbruch");
    return 1;
    }
    if(passwortfalsch[playerid]==4)
    {
    SendClientMessage(playerid,ADMINROT,"Du hast zu oft das falsche Passwort eingegeben, nun wirst du gekickt.");
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Du wurdest gekickt","Du wurdest vom Server gekickt.\nDer Grund war:\n\n3 Fehlerhafte Logins.\n\nSolltest du dich ungerecht behandelt fühlen,\nwende dich an das Adminteam.","Ok","");
    KickSpieler(playerid);
    return 1;
    }
    }
    }
    return 1;
    }



    Und das ist der Fehler
    new File: UserFile = fopen(string, io_read);


    Das verursacht den Compcrash.
    Aber was ist dadran Falsch