[Include] Sort multi-dimensional arrays (enums supported)
#25

With the latest version, you can sort into other arrays (only for the comparator sorts atm, but that's just the opposite of a limitation).

First you'll need a comparator function:
pawn Код:
Comparator:CompareDistanceToFinish(left[E_RACE_DATA], right[E_RACE_DATA]) {
    // Returning negative means "left goes above"
    // Positive means "left goes below"
    // floatcmp returns -1 if right > left, 0 if equal, and 1 if left > right
    return floatcmp(left[DistanceToFinish], right[DistanceToFinish]);
}
Then you'll need a temporary array that you sort into:
pawn Код:
new sorted_racers[MAX_PLAYERS];

SortArrayUsingComparator(gPlayerRaceData, CompareDistanceToFinish) => sorted_racers;

for (new i = 0; i < sizeof(sorted_racers); i++) {
    new playerid = sorted_racers[i];
   
    if (!IsPlayerConnected(playerid))
        continue;
   
    // do stuff with "playerid"
}
There is, however, one little complication. Currently, md-sort has no idea what players are. It will blindly sort the whole array, regardless whether the player is connected.
So you won't be able to simply do sorted_racers[2] to get the 3rd top (as old values from disconnected players could be there). One workaround for this is when players disconnect, set the distance to like 9999.
Reply


Messages In This Thread
Sort multi-dimensional arrays (enums supported) - by Slice - 16.05.2012, 14:23
Re: Sort multi-dimensional arrays (enums supported) - by RyDeR` - 16.05.2012, 14:48
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 16.05.2012, 15:07
Re: Sort multi-dimensional arrays (enums supported) - by BlackBank - 16.05.2012, 15:29
Re: Sort multi-dimensional arrays (enums supported) - by richardcor91 - 16.05.2012, 15:32
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 16.05.2012, 15:41
Re: Sort multi-dimensional arrays (enums supported) - by Niko_boy - 16.05.2012, 15:42
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 16.05.2012, 15:43
Re: Sort multi-dimensional arrays (enums supported) - by Niko_boy - 16.05.2012, 15:48
Re: Sort multi-dimensional arrays (enums supported) - by Wanted1900 - 16.05.2012, 16:37
Re: Sort multi-dimensional arrays (enums supported) - by Jonny5 - 16.05.2012, 17:48
AW: Sort multi-dimensional arrays (enums supported) - by olaf137 - 16.05.2012, 19:01
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 16.05.2012, 20:07
Re: Sort multi-dimensional arrays (enums supported) - by Niko_boy - 17.05.2012, 12:39
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 17.05.2012, 13:12
Re: Sort multi-dimensional arrays (enums supported) - by Ballu Miaa - 17.05.2012, 13:26
Re: Sort multi-dimensional arrays (enums supported) - by CyNiC - 17.05.2012, 13:31
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 17.05.2012, 13:32
Re: Sort multi-dimensional arrays (enums supported) - by TheArcher - 17.05.2012, 14:23
Re: Sort multi-dimensional arrays (enums supported) - by Niko_boy - 17.05.2012, 15:24
Re: Sort multi-dimensional arrays (enums supported) - by AMEENAMEEN - 04.06.2012, 17:26
Re: Sort multi-dimensional arrays (enums supported) - by S_ILYa™ - 04.06.2012, 17:41
Re: Sort multi-dimensional arrays (enums supported) - by AndreT - 10.07.2012, 14:51
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 11.07.2012, 17:34
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 23.07.2012, 18:57
Re: Sort multi-dimensional arrays (enums supported) - by [HLF]Southclaw - 23.07.2012, 20:26
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 24.07.2012, 12:20
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 14.09.2012, 16:02
Re: Sort multi-dimensional arrays (enums supported) - by [HLF]Southclaw - 14.09.2012, 16:07
Re: Sort multi-dimensional arrays (enums supported) - by Y_Less - 14.09.2012, 16:18
Re: Sort multi-dimensional arrays (enums supported) - by [HLF]Southclaw - 14.09.2012, 16:22
Re: Sort multi-dimensional arrays (enums supported) - by [HLF]Southclaw - 14.09.2012, 17:08
Re: Sort multi-dimensional arrays (enums supported) - by ReVo_ - 06.10.2012, 15:14
AW: Sort multi-dimensional arrays (enums supported) - by Littl3j0hNy - 12.11.2012, 16:15
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 12.11.2012, 19:06
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 25.01.2013, 15:44
Re: Sort multi-dimensional arrays (enums supported) - by Christ - 25.01.2013, 19:00
Re: Sort multi-dimensional arrays (enums supported) - by habl - 29.01.2013, 20:13
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 29.01.2013, 21:28
Re: Sort multi-dimensional arrays (enums supported) - by habl - 30.01.2013, 18:03
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 31.01.2013, 06:19
Re: Sort multi-dimensional arrays (enums supported) - by zopert - 31.01.2013, 19:54
Re: Sort multi-dimensional arrays (enums supported) - by habl - 31.01.2013, 20:23
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 01.02.2013, 06:15
Re: Sort multi-dimensional arrays (enums supported) - by habl - 02.02.2013, 08:20
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 02.02.2013, 08:32
Re: Sort multi-dimensional arrays (enums supported) - by habl - 03.02.2013, 10:58
Re: Sort multi-dimensional arrays (enums supported) - by fordawinzz - 03.02.2013, 19:25
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 03.02.2013, 20:14
AW: Sort multi-dimensional arrays (enums supported) - by Mellnik - 01.03.2013, 12:04
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 01.03.2013, 12:26
AW: Sort multi-dimensional arrays (enums supported) - by Mellnik - 01.03.2013, 13:37
AW: Sort multi-dimensional arrays (enums supported) - by Mellnik - 01.03.2013, 15:50
AW: Sort multi-dimensional arrays (enums supported) - by Mellnik - 02.03.2013, 14:00
AW: Sort multi-dimensional arrays (enums supported) - by Mellnik - 02.03.2013, 16:34
Re: Sort multi-dimensional arrays (enums supported) - by Programie - 03.03.2014, 16:18
Re: Sort multi-dimensional arrays (enums supported) - by [ESC]Walter_Wolf - 18.04.2014, 09:14
Re: Sort multi-dimensional arrays (enums supported) - by Luis- - 27.04.2014, 21:43
Re: Sort multi-dimensional arrays (enums supported) - by Luis- - 28.04.2014, 07:08
Re: Sort multi-dimensional arrays (enums supported) - by Luis- - 28.04.2014, 15:20
Re: Sort multi-dimensional arrays (enums supported) - by Luis- - 28.04.2014, 15:36
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 29.04.2014, 08:14
Re: Sort multi-dimensional arrays (enums supported) - by Luis- - 30.04.2014, 21:10
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 30.04.2014, 21:18
Re: Sort multi-dimensional arrays (enums supported) - by iFarbod - 28.07.2014, 15:15
Re: Sort multi-dimensional arrays (enums supported) - by iFarbod - 28.07.2014, 20:40
Re: Sort multi-dimensional arrays (enums supported) - by Banditukas - 18.08.2014, 13:50
Re: Sort multi-dimensional arrays (enums supported) - by codectile - 18.08.2014, 14:22
Re: Sort multi-dimensional arrays (enums supported) - by Banditukas - 18.08.2014, 17:30
Re: Sort multi-dimensional arrays (enums supported) - by Banditukas - 18.08.2014, 18:45
Re: Sort multi-dimensional arrays (enums supported) - by Banditukas - 18.08.2014, 19:12
Re: Sort multi-dimensional arrays (enums supported) - by BlackBank - 02.12.2014, 17:34
Re: Sort multi-dimensional arrays (enums supported) - by vannesenn - 04.12.2014, 09:31
Re: Sort multi-dimensional arrays (enums supported) - by vannesenn - 04.12.2014, 22:52
Re: Sort multi-dimensional arrays (enums supported) - by vannesenn - 05.12.2014, 08:57
Re: Sort multi-dimensional arrays (enums supported) - by vannesenn - 07.12.2014, 18:47
Re: Sort multi-dimensional arrays (enums supported) - by StasWilson - 31.01.2015, 13:11
Re: Sort multi-dimensional arrays (enums supported) - by hab4ever - 28.08.2015, 16:37
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 28.08.2015, 16:44
Re: Sort multi-dimensional arrays (enums supported) - by hab4ever - 28.08.2015, 16:56
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 28.08.2015, 17:20
Re: Sort multi-dimensional arrays (enums supported) - by hab4ever - 28.08.2015, 18:17
Re: Sort multi-dimensional arrays (enums supported) - by Slice - 28.08.2015, 18:28
Re: Sort multi-dimensional arrays (enums supported) - by JR_Junior - 10.02.2016, 03:38
Re: Sort multi-dimensional arrays (enums supported) - by JR_Junior - 10.02.2016, 13:41

Forum Jump:


Users browsing this thread: 12 Guest(s)