Telefonnummern

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • So, ich weiß nicht ob es funktioniert aber so sollte es nie doppelte Nummern geben (Ungetestet):


    stock GiveNummer(playerid)
    {
    new nummer = 10000 + random ( 89999 ) ;
    if(IsValidNumber(nummer))
    {
    AddNummer(nummer);
    //Hier dem Spieler die Nummer zuweisen. z.B. PlayerInfo[playerid][pNumber] = nummer;
    return 1;
    }
    else return GiveNummer(playerid);
    }
    stock IsValidNumber(nummer1)
    {
    new nummer[5];
    format(nummer,5,"%d",nummer1);
    new File: file = fopen("Nummern.txt", io_read);
    if (file)
    {
    new nrr[5];
    while (fread(file, nrr))
    {
    StripNewLine(nrr);
    if (!strcmp(nrr, nummer, true, strlen(nummer)))
    {
    fclose(file);
    return false;
    }
    }
    }
    fclose(file);
    return true;
    }
    stock StripNewLine(string[])
    {
    new len = strlen(string);
    if (string[0]==0) return ;
    if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
    string[len - 1] = 0;
    if (string[0]==0) return ;
    if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
    }
    }
    stock AddNummer(nummer)
    {
    new string[9];
    new File:hFile;
    format(string, 9, "%d\r\n",nummer);
    hFile = fopen("Nummern.txt", io_append);
    fwrite(hFile, string);
    fclose(hFile);
    return 1;
    }