Archon Short
Forumsgott/göttin
Hi, bin grad durch ein paar externe Einflüsse(u.A. Tramal) arg beeinträchtigt und benötige mal Hilfe bei dieser einfachen Sache.
Aktuell wird eine höhere Punktzahl zur Liste addiert und die Liste nach Höhe sortiert.
Jetzt sollen aber niedrigere Punktzahlen besser sein und die Sortierung eben so stattfinden.
Puh, ich hoffe das ist einigermaßen verständlich.
LG Archon
Aktuell wird eine höhere Punktzahl zur Liste addiert und die Liste nach Höhe sortiert.
Jetzt sollen aber niedrigere Punktzahlen besser sein und die Sortierung eben so stattfinden.
Puh, ich hoffe das ist einigermaßen verständlich.
Code:
addScore(string cName, integer nScore, key kKey, integer bRefresh)
{
if (cName != "" && nScore > 0)
{
if (llGetListLength(lPlayers) == 0)
{
lPlayers += cName;
lScores += nScore;
}
else
{
integer nBestPos = llGetListLength(lScores);
integer i;
integer nLastTake = 0;
for (i = 0; i < llGetListLength(lScores); i++)
{
integer nExtractScore = llList2Integer(lScores, i);
if (nScore >= nExtractScore && nExtractScore > nLastTake)
{
nBestPos = i;
nLastTake = nExtractScore;
}
}
if (nBestPos > -1 && nBestPos < 11)
{
lPlayers += "";
lScores += 0;
if (nBestPos < llGetListLength(lPlayers))
{
for (i = llGetListLength(lPlayers) - 1; i > nBestPos - 1; i--)
{
lPlayers = llListReplaceList(lPlayers, [llList2String(lPlayers, i - 1)], i, i);
lScores = llListReplaceList(lScores, [llList2String(lScores, i-1)], i, i);
}
}
integer nLast = llGetListLength(lPlayers) - 1;
if (nLast > 9)
{
lPlayers = llDeleteSubList(lPlayers, nLast, nLast);
lScores = llDeleteSubList(lScores, nLast, nLast);
}
lPlayers = llListReplaceList(lPlayers, [cName], nBestPos, nBestPos);
lScores = llListReplaceList(lScores, [nScore], nBestPos, nBestPos);
}
}
if (bRefresh) setAll();
}
}
LG Archon