struct _S_EX_PAYBACK_LIST{ var array<_PaybackRewardSet> vRewardSet; var int cEventIDType; var int nEndDatetime; var int nConsumedItemclassID; var int nUserConsumption;};struct _PaybackRewardSet{ var array<_PaybackRewardItem> vItemList; var int cSetIndex; var int nRequirement; var int cReceived;};struct _PaybackRewardItem{ var int nClassID; var int nAmount;};
@Override public boolean write(PacketWriter packet) { OutgoingPackets.EX_PAYBACK_LIST.writeId(packet); packet.writeD(3); // колличество строк // string size //nSize for (int i = 1; i < 4; i++) { //заполняем строку //fill the string //start _PaybackRewardSet packet.writeD(3); // колличество предметов в строке // item count in field (max 3)//i for (int j = 1; j < 4; j++) //start _PaybackRewardItem //заполняем предметы //fill the items { packet.writeD(57); // предмет // item id packet.writeD(1); // количество // count } //закончили заполнять предметы // item fill end //end _PaybackRewardItem packet.writeC(i); // cSetIndex packet.writeD(5); // сколько нужно потратить // how much you need //nRequirement packet.writeC(0x00); //получена ли награда // check reward receiving ( 0x00 - no, 0x01 - yes ) //cReceived //закончили заполнять строку // end string fill //end _PaybackRewardSet } packet.writeC(_EventID); //cEventIDType packet.writeD(10); //nEndDatetime packet.writeD(91663); //Итем, который должен светиться вверху // display item //nConsumedItemclassID packet.writeD(7); //Сколько всего было потрачено итемов // summary item spend //nUserConsumption return true; }
Code: [Select]struct _S_EX_PAYBACK_LIST{ var array<_PaybackRewardSet> vRewardSet; var int cEventIDType; var int nEndDatetime; var int nConsumedItemclassID; var int nUserConsumption;};struct _PaybackRewardSet{ var array<_PaybackRewardItem> vItemList; var int cSetIndex; var int nRequirement; var int cReceived;};struct _PaybackRewardItem{ var int nClassID; var int nAmount;};