Can you try move ExConnectedTimeAndGettableReward instead of LevelDailyMissionHandler?
One packet send should be enough.
Index: java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java
===================================================================
--- java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java (revision 8157)
+++ java/org/l2jmobius/gameserver/model/actor/stat/PlayerStat.java (working copy)
@@ -44,6 +44,7 @@
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
+import org.l2jmobius.gameserver.network.serverpackets.dailymission.ExConnectedTimeAndGettableReward;
import org.l2jmobius.gameserver.network.serverpackets.dailymission.ExOneDayReceiveRewardList;
import org.l2jmobius.gameserver.network.serverpackets.friend.FriendStatus;
import org.l2jmobius.gameserver.util.Util;
@@ -251,6 +252,9 @@
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerLevelChanged(getActiveChar(), getLevel() - value, getLevel()), getActiveChar());
+ // Update daily mission count.
+ getActiveChar().sendPacket(new ExConnectedTimeAndGettableReward(getActiveChar()));
+
// Give AutoGet skills and all normal skills if Auto-Learn is activated.
getActiveChar().rewardSkills();
Index: java/org/l2jmobius/gameserver/network/clientpackets/dailymission/RequestOneDayRewardReceive.java
===================================================================
--- java/org/l2jmobius/gameserver/network/clientpackets/dailymission/RequestOneDayRewardReceive.java (revision 7753)
+++ java/org/l2jmobius/gameserver/network/clientpackets/dailymission/RequestOneDayRewardReceive.java (working copy)
@@ -75,8 +75,8 @@
}
}
+ player.sendPacket(new ExOneDayReceiveRewardList(player, true));
player.sendPacket(new ExConnectedTimeAndGettableReward(player));
- player.sendPacket(new ExOneDayReceiveRewardList(player, true));
ThreadPool.schedule(() ->
{
Index: java/org/l2jmobius/gameserver/network/serverpackets/dailymission/ExConnectedTimeAndGettableReward.java
===================================================================
--- java/org/l2jmobius/gameserver/network/serverpackets/dailymission/ExConnectedTimeAndGettableReward.java (revision 7753)
+++ java/org/l2jmobius/gameserver/network/serverpackets/dailymission/ExConnectedTimeAndGettableReward.java (working copy)
@@ -23,7 +23,7 @@
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
/**
- * @author Sdw
+ * @author Sdw, Ren
*/
public class ExConnectedTimeAndGettableReward implements IClientOutgoingPacket
{
@@ -31,7 +31,7 @@
public ExConnectedTimeAndGettableReward(PlayerInstance player)
{
- _oneDayRewardAvailableCount = DailyMissionData.getInstance().getDailyMissionData(player).size();
+ _oneDayRewardAvailableCount = (int) DailyMissionData.getInstance().getDailyMissionData(player).stream().filter(o -> o.getStatus(player) == 1).count();
}
@Override