Forums

Clan Memberlist Order

Quick find code: 86-87-403-65730031

Electric
May Member 2023

Electric

Posts: 2,922 Adamant Posts by user Forum Profile RuneMetrics Profile
What is it based on?

It seems completely random and after months of maintaining a spreadsheet I still haven't figured out a pattern or sorting order.

It tends to generally follow a chronological order especially with new Recruits, but let's say you promote someone from Recruit to Corporal, they aren't placed at the bottom as Corporal and could slot anywhere between other Corporals. It doesn't follow a queue-based pattern where someone who is, for example, newly promoted to Lieutenant, starts at the bottom of the Lieutenants list, and so on.

Also, from time to time, the order gets completely reshuffled across all/most ranks and people get scattered everywhere in no specific order. I assume this is related to the monthly/periodic clan statistics/database maintenance especially after a few members have left.

It's quite messy for those who are trying to maintain a spreadsheet, as automatic XP tracking and other similar things (hopefully a cap counter in the future) rely on order on the list for the value references. Sometimes the changes with the reshuffling/reordering can be quite drastic, and it would take lots of work to move and put people in the new correct and corresponding order.

Would it be possible to maintain a consistent order which is strictly queue-based/chronological?

It would work as follows:

- Someone leaves a spot by moving/leaving, and all those under move one position up. This is what happens currently, but after a while the order reshuffles by itself.

- Promotion puts someone at the bottom of the list of their new rank. Currently, they are placed randomly anywhere in their new rank.

- Demotion puts someone at the top of the list of their new rank. Currently, they are placed randomly anywhere in their new rank.

- Newly joined Recruit enters at the bottom. This is what happens currently, but after a while the order reshuffles by itself.


Thanks :)
Progressive
|
Portables
|
PvMing FC
|
SAPK

12-Jan-2016 15:23:18

Scret
Mar Member 2018

Scret

Posts: 25,434 Sapphire Posts by user Forum Profile RuneMetrics Profile
Yea well it does get shuffled around when the clan hiscores updates every couple of months or so as for the pattern after that im not sure either.
`*•.¸(*•.¸(`*•.¸+¸.•*´)¸.•*)¸.•*´
+«´¨`•°
SKILL SCHOOL
•´¨`»+
. .•*(¸.•*´(¸.•*´+`*•.¸)`*•.¸)*•.

12-Jan-2016 16:33:40

Redtunnel

Redtunnel

Posts: 3,429 Adamant Posts by user Forum Profile RuneMetrics Profile
It's sorted only by rank and likely unsorted otherwise. Even if they were chronologically sorted, though, the design of your XP tracker would have flaws (e.g. when any of your listed events occur).

It would be more useful if they provided an API for unique user IDs. Example look up an ID and get the name back and look a name up and get the ID back.

12-Jan-2016 22:24:34

Redtunnel

Redtunnel

Posts: 3,429 Adamant Posts by user Forum Profile RuneMetrics Profile
You can still do the XP tracking though. You need to give each clan member a unique id and use that as a reference.

When you load the clan list, you compare it to the old clan list. Copy the old clan list. Loop through each name in the new clan list and check if it exists in the copy of the old clan list.

If the name does not exist, save it to a list with new names for later checking.

If the name exists, make sure that:
a) a new member didn't take an old member's name and joined
b) two clan members didn't swap names

This can be determined by comparing the old clan XP with new clan XP. Is the new clan XP higher than the old? And is it within a reasonable threshold since the last lookup? If the evaluation is fine, you remove the name from the copy of old names. If not, you can run a more comprehensive stat comparison algorithm where you compare the old stats of username with new stats of username to determine if they are the same user or not.

When all of this is done, your old copy will contain users that either changed their name or left the clan. Now you loop through the list of unrecognised names and compare its stats to every unmatched old name's stats in your stat comparison algorithm (you check skill by skill; differences in XP and possibly rank for 200m stats). If the stats match, the user has changed their name and you can mark it for update and remove it from the list.

In the end, any names still in the copy of the old clan list will be users that left the clan. Any names still in the new names list will be new clan members.

Of course, these type of algorithmic guesses don't have 100% accuracy, but for as long as I have done XP tracking, very simple algorithms haven't failed and there's a ton of stuff you could do to improve them (like taking avatar images and archived hiscores into account etc). I don't know what Runeclan uses, but I have seen instances where the simple algorithms alone were superior to their method

12-Jan-2016 22:28:37 - Last edited on 12-Jan-2016 22:39:45 by Redtunnel

Electric
May Member 2023

Electric

Posts: 2,922 Adamant Posts by user Forum Profile RuneMetrics Profile
Of course it's obviously sorted by rank but my point is for the order to be queue-based and chronological within these ranks.

While a scripting method sounds viable, it's too complicated and requires a lot of work and, as you stated, may not even be 100% accurate, especially with name changes.

This is why we use a very practical and simple method which simply imports the list of members exactly as they are listed on the RS website (=IMPORTDATA(link)), and we follow that order. When a change happens in the clan, the list automatically updates/refreshes and we make changes accordingly on the main tab that is using references from it. For example, when someone is promoted from Lieutenant to Captain, we refer to the list first to see where they've been placed between the Captains and place them accordingly (in the corresponding order) on the main tab in order to maintain the same order which results in correct xp references.

It's very easy to do for minor changes, but sometimes the changes can be really drastic which causes a mess (but still manageable either way).

The point/issue is mostly why the order is random rather than sorted, as it only makes sense for it to be chronological within the ranks from top to bottom, and whether such order could in some way possibly and technically be implemented and maintained since it's very consistent, organised, and only logical.
Progressive
|
Portables
|
PvMing FC
|
SAPK

12-Jan-2016 23:02:07 - Last edited on 12-Jan-2016 23:06:13 by Electric

Redtunnel

Redtunnel

Posts: 3,429 Adamant Posts by user Forum Profile RuneMetrics Profile
Without official player id references, you'll always be guessing who a player is. :P The sort order appears arbitrary because it is not sorted beyond rank. For example, if I give a computer "2, 2, 3, 4" and ask it to sort low to high, it has no cause to ever move the 2s around if it hasn't been instructed to. The shuffling simply happens when the data is changed, which will depend on how they change the data and how it is stored among other things.

I wouldn't hold my breath for having the APIs updated though. They seem very disinclined to update those at all. For years and years, developers have requested a unique id lookup API, because name changes are by far the most problematic obstacle to any type of player tracking. The current APIs aren't even documented and we have to trial and error to find the request limitations. You'll also find certain irregularities, like the hiscores completely blanking a response; no error, just a blank page lol.

13-Jan-2016 15:15:48 - Last edited on 13-Jan-2016 15:49:03 by Redtunnel

Mod Maz

Mod Maz

Jagex Moderator Forum Profile Posts by user
Ahh.. web stuff. That may be a candidate for posting on the website section of the forums as an improvement. Mod Maz
Queen of the Squirrels
RS Training & Developer Lead

14-Jan-2016 08:21:20

Quick find code: 86-87-403-65730031 Back to Top