Chucl
Member
- ServUO Version
- Publish Unknown
- Ultima Expansion
- None
Hello guys im trying to make a list of all players then order it by the Value of 2 attachments together, higher at the top, leaderboard like
i saw this method somewhere (thanks vorspire) but its giving me 2 errors;
CS1061: Line 88: 'Server.Mobiles.PlayerMobile' does not contain a definition for 'OrderByDescending' and no extensio
n method 'OrderByDescending' accepting a first argument of type 'Server.Mobiles.PlayerMobile' could be found (are you mi
ssing a using directive or an assembly reference?)
CS1061: Line 88: 'Server.Mobiles.PlayerMobile' does not contain a definition for 'OrderBy' and no extension method '
OrderBy' accepting a first argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a using direct
ive or an assembly reference?)
Im using Runuo 2.2 (yeah i should upgrade i know)
i added
and this
the script is a clusterfuck, im sorry, thanks guys
i saw this method somewhere (thanks vorspire) but its giving me 2 errors;
CS1061: Line 88: 'Server.Mobiles.PlayerMobile' does not contain a definition for 'OrderByDescending' and no extensio
n method 'OrderByDescending' accepting a first argument of type 'Server.Mobiles.PlayerMobile' could be found (are you mi
ssing a using directive or an assembly reference?)
CS1061: Line 88: 'Server.Mobiles.PlayerMobile' does not contain a definition for 'OrderBy' and no extension method '
OrderBy' accepting a first argument of type 'Server.Mobiles.PlayerMobile' could be found (are you missing a using direct
ive or an assembly reference?)
Im using Runuo 2.2 (yeah i should upgrade i know)
i added
C#:
using System.Linq;
and this
C#:
public enum OrderBy
{
None,
level
}
C#:
AddBackground (18, 0 ,512,478,2620);
AddAlphaRegion (18,0,498,463);
AddLabel(101, 8, 1952, "Top exp");
//AddLabel(440, 7, 1952, "Minimize");
AddButton(492, 7, 2710, 2711, 2, GumpButtonType.Reply, 0);
int page = 0, cpage = 1;
var players = World.Mobiles.Values.OfType<PlayerMobile>(); // filter only PlayerMobiles
players = players.Take( 10 ); // take the first 10
int yOffset = 40;
var orderBy = OrderBy.level; // Sort by the int level?
var desc = Utility.RandomBool( ); // Random ascending or descending
int level = 0;
int levelm = 0;
foreach( var pm1 in players ) // iterate the results
{
XMLPlayerLevelAtt xml = XmlAttach.FindAttachment( pm1, typeof( XMLPlayerLevelAtt ) ) as XMLPlayerLevelAtt; //attach 1
XMLPlayerLevelAttm xml2 = XmlAttach.FindAttachment( pm1, typeof( XMLPlayerLevelAttm ) ) as XMLPlayerLevelAttm; //attach 2
if (xml != null)
level +=xml.Levell; //adding the xmlvalue
if (xml2 != null)
levelm +=xml2.Levell; //adding the 2nd xmlvalue
level += levelm; //both values
switch( orderBy )
{
case OrderBy.level:
pm1 = desc ? pm1.OrderByDescending( pm1 => level ) : pm1.OrderBy( pm1 => level ); //error
break;
}
string text = string.Format( ""+pm1.Name+ " Level [{0}] Exp: {1} / {2}", level, xml.kxp, xml.ToLevell ); //TODO TOTAL EXP
AddLabel( 70, yOffset, 1952, text );
yOffset += 55;
the script is a clusterfuck, im sorry, thanks guys