public int HandlePacket(GameClient client, GSPacketIn packet) { GSPacketIn gSPacketIn = new GSPacketIn(69, client.Player.PlayerCharacter.ID); byte b = packet.ReadByte(); byte b2 = packet.ReadByte(); GamePlayer[] allPlayersNoGame = WorldMgr.GetAllPlayersNoGame(); int num = allPlayersNoGame.Length; byte b3 = (num > (int)b2) ? b2 : ((byte)num); gSPacketIn.WriteByte(b3); for (int i = (int)(b * b2); i < (int)(b * b2 + b3); i++) { PlayerInfo playerCharacter = allPlayersNoGame[i % num].PlayerCharacter; gSPacketIn.WriteInt(playerCharacter.ID); gSPacketIn.WriteString(playerCharacter.NickName); gSPacketIn.WriteByte(playerCharacter.typeVIP); gSPacketIn.WriteInt(playerCharacter.VIPLevel); gSPacketIn.WriteBoolean(playerCharacter.Sex); gSPacketIn.WriteInt(playerCharacter.Grade); gSPacketIn.WriteInt(playerCharacter.ConsortiaID); gSPacketIn.WriteString(playerCharacter.ConsortiaName); gSPacketIn.WriteInt(playerCharacter.Offer); gSPacketIn.WriteInt(playerCharacter.Win); gSPacketIn.WriteInt(playerCharacter.Total); gSPacketIn.WriteInt(playerCharacter.Escape); gSPacketIn.WriteInt(playerCharacter.Repute); gSPacketIn.WriteInt(playerCharacter.FightPower); gSPacketIn.WriteBoolean(playerCharacter.IsOldPlayer); } client.Out.SendTCP(gSPacketIn); return(0); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); byte page = packet.ReadByte(); byte count = packet.ReadByte(); GamePlayer[] players = WorldMgr.GetAllPlayersNoGame(); int total = players.Length; byte length = (total > (int)count) ? count : ((byte)total); pkg.WriteByte(length); for (int i = (int)(page * count); i < (int)(page * count + length); i++) { PlayerInfo info = players[i % total].PlayerCharacter; pkg.WriteInt(info.ID); pkg.WriteString((info.NickName == null) ? "" : info.NickName); pkg.WriteBoolean(info.Sex); pkg.WriteInt(info.Grade); pkg.WriteInt(info.ConsortiaID); pkg.WriteString((info.ConsortiaName == null) ? "" : info.ConsortiaName); pkg.WriteInt(info.Offer); pkg.WriteInt(info.Win); pkg.WriteInt(info.Total); pkg.WriteInt(info.Escape); pkg.WriteInt(info.Repute); pkg.WriteInt(info.FightPower); } player.Out.SendTCP(pkg); return(0); }