(wahrscheinlich) simple loopfrage

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
  • Moin, ich will die top10 ausfiltern, jedoch


    weder


    for(new j, k = 1; j<10; j++, k++)
    {
    if(TopKillerKills[j] < kills)
    {
    TopKillerName[k] = TopKillerName[j]; // ...
    TopKillerKills[k] = TopKillerKills[j]; // ...
    TopKillerTode[k] = TopKillerTode[j];


    TopKillerName[j] = name;
    TopKillerKills[j] = kills;
    TopKillerTode[j] = tode;
    }
    }


    noch


    for(new i=9, j=8; i>=0; i--, j--)
    {
    TopKillerName[i] = TopKillerName[j]; // ...
    TopKillerKills[i] = TopKillerKills[j]; // ...
    TopKillerTode[i] = TopKillerTode[j];

    TopKillerName[j] = name;
    TopKillerKills[j] = kills;
    TopKillerTode[j] = tode;
    }


    funktioniert, dieselbe Person hat dann 9x den 1. - 9. Platz und irgendein anderer hat dann den 10. Platz.


    aber so kriege ich es hin:


    if(TopKillerKills[0] < kills)
    {


    TopKillerName[1] = TopKillerName[0];
    TopKillerKills[1] = TopKillerKills[0];
    TopKillerTode[1] = TopKillerTode[0];


    TopKillerName[0] = name;
    TopKillerKills[0] = kills;
    TopKillerTode[0] = tode;
    }
    else if(TopKillerKills[1] < kills)
    {


    TopKillerName[2] = TopKillerName[1];
    TopKillerKills[2] = TopKillerKills[1];
    TopKillerTode[2] = TopKillerTode[1];


    TopKillerName[1] = name;
    TopKillerKills[1] = kills;
    TopKillerTode[1] = tode;
    }


    else if(TopKillerKills[2] < kills)
    {
    TopKillerName[3] = TopKillerName[2];
    TopKillerKills[3] = TopKillerKills[2];
    TopKillerTode[3] = TopKillerTode[2];


    TopKillerName[2] = name;
    TopKillerKills[2] = kills;
    TopKillerTode[2] = tode;
    }



    Liegt es an dem else? Und wie baue ich dass dann in den Loop ein... Kann ja sein, dass ich mir das alles schwerer mache, als es in wirklichkeit ist, aber ich erkenn den Fehler nicht, obwohl ich mich entsinne, diesen gleichen Denkfehler bereits einmal gehabt zu haben..


    MfG


    /edit1-2: Eingerückt..


    /edit3: Weiß niemand was ? :/

    3 Mal editiert, zuletzt von x0rYyy ()

  • Nach den erhaltenen Daten von dir ist dies herusgekommen, auch wenn ich damit ned so zufrieden bin wie du es vorgezeigt hast, also deine Methode aber bitte ^^ Hier die 1zu1 Kopie zu deinem else if Beispiel:


    new control=-1;
    if(TopKillerKills[0] < kills) control=0;
    else if(TopKillerKills[1] < kills) control=1;
    else if(TopKillerKills[2] < kills) control=2;
    if(control!=-1)
    {
    for(new i = 0;i!=4;i++)
    {
    if(i==control)
    {
    TopKillerName[i] = name;
    TopKillerKills[i] = kills;
    TopKillerTode[i] = tode;
    continue;
    }
    TopKillerName[i+1] = TopKillerName[i];
    TopKillerKills[i+1] = TopKillerKills[i];
    TopKillerTode[i+1] = TopKillerTode[i];
    }
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ich habe es jetzt etwas anders gelöst, mithilfe einer einfachen mysql query :o
    Aber 1) Könntest du vlt. kurz ausklammern oder besser in 1-2 Sätzen, erklären, was genau das Script macht? Irgendwie blicke ich da nicht durch, und mich würde auch mal deine Variante interessieren.


    Wäre sehr nett, danke im Vorraus.


    MfG