Einträge ein Tiefer setzen?

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
  • Hey Com,


    Ich will jetzt machen, das wenn 20 Beiträge voll sind nun alle Beiträge auf +1 verschoben werden?
    Das heisst was auf 0 war auf 1 ; 1 auf 2; 2 auf 3 usw


    der LogEinsatz stock


    stock LogEinsatz(stichwort[],beschreibung[])
    {
    if(LastEinsatz[0][Inuse] == 0)
    {
    LastEinsatz[0][Einsatzid] = counteinsatz;
    format(LastEinsatz[0][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[0][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[0][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[1][Inuse] == 0)
    {
    LastEinsatz[1][Einsatzid] = counteinsatz;
    format(LastEinsatz[1][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[1][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[1][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[2][Inuse] == 0)
    {
    LastEinsatz[2][Einsatzid] = counteinsatz;
    format(LastEinsatz[2][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[2][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[2][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[3][Inuse] == 0)
    {
    LastEinsatz[3][Einsatzid] = counteinsatz;
    format(LastEinsatz[3][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[3][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[3][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[4][Inuse] == 0)
    {
    LastEinsatz[4][Einsatzid] = counteinsatz;
    format(LastEinsatz[4][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[4][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[4][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[5][Inuse] == 0)
    {
    LastEinsatz[5][Einsatzid] = counteinsatz;
    format(LastEinsatz[5][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[5][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[5][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[6][Inuse] == 0)
    {
    LastEinsatz[6][Einsatzid] = counteinsatz;
    format(LastEinsatz[6][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[6][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[6][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[7][Inuse] == 0)
    {
    LastEinsatz[7][Einsatzid] = counteinsatz;
    format(LastEinsatz[7][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[7][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[7][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[8][Inuse] == 0)
    {
    LastEinsatz[8][Einsatzid] = counteinsatz;
    format(LastEinsatz[8][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[8][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[8][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[9][Inuse] == 0)
    {
    LastEinsatz[9][Einsatzid] = counteinsatz;
    format(LastEinsatz[9][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[9][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[9][Inuse] = 1;
    return 1;
    }
    //H
    if(LastEinsatz[10][Inuse] == 0)
    {
    LastEinsatz[10][Einsatzid] = counteinsatz;
    format(LastEinsatz[10][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[10][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[10][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[11][Inuse] == 0)
    {
    LastEinsatz[11][Einsatzid] = counteinsatz;
    format(LastEinsatz[11][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[11][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[11][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[12][Inuse] == 0)
    {
    LastEinsatz[12][Einsatzid] = counteinsatz;
    format(LastEinsatz[12][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[12][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[12][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[13][Inuse] == 0)
    {
    LastEinsatz[13][Einsatzid] = counteinsatz;
    format(LastEinsatz[13][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[13][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[13][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[14][Inuse] == 0)
    {
    LastEinsatz[14][Einsatzid] = counteinsatz;
    format(LastEinsatz[14][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[14][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[14][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[15][Inuse] == 0)
    {
    LastEinsatz[15][Einsatzid] = counteinsatz;
    format(LastEinsatz[15][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[15][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[15][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[16][Inuse] == 0)
    {
    LastEinsatz[16][Einsatzid] = counteinsatz;
    format(LastEinsatz[16][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[16][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[16][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[17][Inuse] == 0)
    {
    LastEinsatz[17][Einsatzid] = counteinsatz;
    format(LastEinsatz[17][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[17][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[17][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[18][Inuse] == 0)
    {
    LastEinsatz[18][Einsatzid] = counteinsatz;
    format(LastEinsatz[18][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[18][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[18][Inuse] = 1;
    return 1;
    }
    else if(LastEinsatz[19][Inuse] == 0)
    {
    LastEinsatz[19][Einsatzid] = counteinsatz;
    format(LastEinsatz[19][Stichwort],256,"%s",stichwort);
    format(LastEinsatz[19][Beschreibung],1024,"%s",beschreibung);
    LastEinsatz[19][Inuse] = 1;
    return 1;
    }
    return 1;
    }


    Mfg

  • Ich hab dir mal die Funktion umgebaut, sodass sie das macht:
    stock LogEinsatz(stichwort[],beschreibung[])
    {
    new bool:found, u = sizeof LastEinsatz;
    for(new i = 0; i < u; i++)
    {
    if(LastEinsatz[i][Inuse] == true) continue;
    LastEinsatz[i][Einsatzid] = counteinsatz;
    format(LastEinsatz[i][Stichwort],256,stichwort);
    format(LastEinsatz[i][Beschreibung],1024,beschreibung);
    LastEinsatz[i][Inuse] = true;
    found = true;
    return 1;
    }
    if(!found)
    {
    new a,i;
    for(i = 0; i < u; i++)
    {
    a = i+1;
    if(a >= u) break;
    LastEinsatz[i][Einsatzid] = LastEinsatz[a][Einsatzid];
    format(LastEinsatz[i][Stichwort],256,LastEinsatz[a][Stichwort]);
    format(LastEinsatz[i][Beschreibung],1024,LastEinsatz[a][Beschreibung]);

    }
    LastEinsatz[i][Einsatzid] = counteinsatz;
    format(LastEinsatz[i][Stichwort],256,stichwort);
    format(LastEinsatz[i][Beschreibung],1024,beschreibung);
    LastEinsatz[i][Inuse] = true;
    }
    return 1;
    }
    Es werden so alle Einträge zunächst von ID 0-20 eingetragen & dann wird Eintrag 20 auf 19 verschoben, 19 auf 18 verschoben usw... und der Neueste bei 20 geaddet.

  • Hab das ganze auch mal geschrieben ^^



    for(new i= 19; i != 0; --i){
    if(i==19){
    LastEinsatz[i][Einsatzid]= 0;
    LastEinsatz[i][Inuse]= 0;
    strdel(LastEinsatz[i][Beschreibung],0,256);
    strdel(LastEinsatz[i][Stichwort],0,1024);
    }else{
    memcpy(LastEinsatz[(i+1)][Beschreibung], LastEinsatz[i][Beschreibung], strlen(LastEinsatz[(i+1)][Beschreibung]) * 4, 256 * 4, 1024);
    memcpy(LastEinsatz[(i+1)][Stichwort], LastEinsatz[i][Stichwort], strlen(LastEinsatz[(i+1)][Stichwort]) * 4, 256 * 4, 1024);
    LastEinsatz[(i+1)][Inuse]=1;
    LastEinsatz[(i+1)][Einsatzid]= i;
    LastEinsatz[i][Einsatzid]= 0;
    LastEinsatz[i][Inuse]=0;
    strdel(LastEinsatz[i][Beschreibung],0,1024);
    strdel(LastEinsatz[i][Stichwort],0,256);
    }
    }


    sollte vom code her schneller sein die version von RG
    das ganze schiebt alles ein stück nach oben und memcpy ist bei großen strings schneller als strcat ^^