Advertisement
Nik

ExEventMatchManage

Nik
Jan 10th, 2014
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. package l2r.gameserver.network.serverpackets;
  2.  
  3. import l2r.commons.util.Rnd;
  4. import l2r.gameserver.model.Player;
  5.  
  6. /**
  7.  *
  8.  * @author Nik, UnAfraid
  9.  *
  10.  */
  11. public class ExEventMatchManage extends L2GameServerPacket
  12. {
  13.     private int _raceId;
  14.     private EventMatchTeam[] _teams;
  15.    
  16.     public ExEventMatchManage(int raceId, EventMatchTeam ... teams)
  17.     {
  18.         if (teams.length != 2)
  19.             return;
  20.        
  21.         _raceId = raceId;
  22.         _teams = teams;
  23.     }
  24.    
  25.     public ExEventMatchManage(EventMatchTeam ... teams)
  26.     {
  27.         if (teams.length != 2)
  28.             return;
  29.        
  30.         _raceId = Rnd.get(65535);
  31.         _teams = teams;
  32.     }
  33.    
  34.     @Override
  35.     protected void writeImpl()
  36.     {
  37.         writeEx(0x30);
  38.         writeD(_raceId); // Race ID whatever it means
  39.         writeC(_teams[0].teamId); // Team 1 ID
  40.         writeC(_teams[1].teamId); // Team 2 Id
  41.         writeS(_teams[0].teamName); // Team 1 Name
  42.         writeC(_teams[0].partyStatus); // Team 1 Party Status: 0 not looking, 1 has party
  43.         writeS(_teams[1].teamName); // Team 2 Name
  44.         writeC(_teams[1].partyStatus); // Team 2 Party Status: 0 not looking, 1 has party
  45.         writeD(_teams[0].players.length + _teams[1].players.length); // Players's size
  46.         for (EventMatchTeam team : _teams)
  47.         {
  48.             for (Player player : team.players)
  49.             {
  50.                 writeC(team.teamId); // Player Team ID
  51.                 writeC(player.getObjectId() == team.partyLeaderObjId ? 1 : 0); // Party Representive (leader)
  52.                 writeD(player.getObjectId()); // Player Object ID
  53.                 writeS(player.getName()); // Player Name
  54.                 writeD(player.getClassId().getId()); // Player Class ID
  55.                 writeD(player.getLevel()); // Player Level
  56.             }
  57.         }
  58.     }
  59.    
  60.     public static class EventMatchTeam
  61.     {
  62.         public String teamName;
  63.         public int teamId;
  64.         public int partyStatus;
  65.         public int partyLeaderObjId;
  66.         public Player[] players;
  67.        
  68.         public EventMatchTeam(String teamName, int teamId, int partyStatus, int partyLeaderObjId, Player ... players)
  69.         {
  70.             this.teamName = teamName;
  71.             this.teamId = teamId;
  72.             this.partyStatus = partyStatus;
  73.             this.partyLeaderObjId = partyLeaderObjId;
  74.             this.players = players;
  75.         }
  76.        
  77.         public EventMatchTeam(String teamName, int teamId, int partyLeaderObjId, Player ... players)
  78.         {
  79.             this.teamName = teamName;
  80.             this.teamId = teamId;
  81.             this.partyLeaderObjId = partyLeaderObjId;
  82.             this.players = players;
  83.         }
  84.        
  85.         public EventMatchTeam(String teamName, int teamId, Player ... players)
  86.         {
  87.             this.teamName = teamName;
  88.             this.teamId = teamId;
  89.             this.partyStatus = 1;
  90.             this.partyLeaderObjId = players[0] != null ? players[0].getParty() != null ? players[0].getParty().getPartyLeader().getObjectId() : 0 : 0 ;
  91.             this.players = players;
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement