Um... well... I got lost half way through. The simplest layout that I can think of to solve this problem is

//get number over three
//get values for each number from the user
//set the numbers to random positions

and then, when a different script is called,

//take the bottom two values and move them to the top
//chance one out of two move the second value (just moved up with the first) to before the first
//print on the screen

I came up with some code, but I am no good at quimps, so I don't know if this works or not:

ds_quimp_create(2);
do num = get_integer("Number over 3",3) until num > 3;
ds_quimp_asc(true);
for (i = 0; i < num; i += 1) {
a = ds_quimp_add_row();
ds_quimp_set(a,0,get_string("name:",""));
ds_quimp_set(a,1,i + 2);
}
ds_quimp_order(0,1);
ds_quimp_order(1,0);

other script:

ds_quimp_set(ds_quimp_rows(),2,1);
ds_quimp_order(0,1);
ds_quimp_order(1,0);
ds_quimp_set(ds_quimp_rows(),2,0);
ds_quimp_order(0,1);
ds_quimp_order(1,0);
for (i = 0; i < ds_quimp_rows(); i += 1) {
ds_quimp_set(i,2,ds_quimp_get(i,2,true) + 2);
}
ds_quimp_order(0,1);
ds_quimp_order(1,0);
i = choose(1,2);
if i = 1 {
ds_quimp_set(1,2,ds_quimp_get(2,2,true));
ds_quimp_set(2,2,ds_quimp_get(2,2,true) - 1);
}

And I also don't know how to record the values.

**Edited by pcnerd, 04 March 2007 - 03:36 AM.**