hello, how can i make 5 top5 players?
1. Nick
Rank :
Exp :
2....
3....
4....
5....
i have menu . how make first position?
Printable View
hello, how can i make 5 top5 players?
1. Nick
Rank :
Exp :
2....
3....
4....
5....
i have menu . how make first position?
Im not sure its possible to place dvars in quickresponse menus. If i'm wrong, then you get all players and sort them according to score, and set the first 5 player's name in cvars. (self setclientcvar("first", player[0].name); )
Of course it's possible.
PHP Code:
isPlayerAlongerHunterAsB(a, b)
{
if (a.lastTimeOfDeathAsHunter > b.lastTimeOfDeathAsHunter)
return 1;
else
return 0;
}
// sample-function for sort()
a_bigger_b(a, b)
{
if (a > b)
return 1;
else
return 0;
}
// slow, but works... cba for quicksort now
sort(elements, isAbiggerB)
{
for (i=0; i<elements.size; i++)
{
for (j=i+1; j<elements.size; j++)
{
//if (elements[i] < elements[j])
if (
! // big to small...
[[isAbiggerB]](elements[i], elements[j])
)
{
// swap
tmp = elements[j];
elements[j] = elements[i];
elements[i] = tmp;
}
}
}
return elements;
}
Example:
PHP Code:
elements = [];
elements[elements.size] = 6;
elements[elements.size] = 3;
elements[elements.size] = 7;
elements[elements.size] = 34;
elements[elements.size] = 2;
elements[elements.size] = 6;
elements[elements.size] = 3;
elements[elements.size] = 5;
elements[elements.size] = 0;
elements[elements.size] = 2;
sorted = sort(elements, ::a_bigger_b);
iprintln("sorted.size="+sorted.size);
for (i=0; i<elements.size; i++)
iprintln("sorted["+i+"]=" + sorted[i]);
And menu dvar file looks something like this:
PHP Code:
itemDef
{
name "window"
group ingamebox
visible 1
rect 16 16 0 0
origin ORIGIN_QUICKMESSAGEWINDOW
forecolor 1 1 1 1
textfont UI_FONT_NORMAL
textscale .24
textaligny 8
dvar "your_dvar_name"
decoration
}
something a bit faster than kung's method:
PHP Code:
sort(elements, max_sort)
{
if(elements.size < max_sort)
max_sort = elements.size;
result = [];
for(i = 0; i < max_sort; i++)
{
smallest = undefined;
num = elements.size - i - 1;
for(j = 0; j < elements.size - i; j++)
{
if(!isdefined(smallest) || elements[j] < smallest)
{
smallest = elements[j];
num = j;
}
}
elements[num] = elements[elements.size - i - 1];
elements[elements.size - i - 1] = smallest;
result[result.size] = smallest;
}
return result;
}
The function signature is incompatible though