From 73059baa9e0982c521ad154a4da1554768e2b2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A1=E7=81=B5=E6=9A=B4=E9=BE=99=E5=A4=A7=E5=B8=9D?= Date: Mon, 15 Apr 2024 21:12:09 +0800 Subject: [PATCH 1/2] Fix:There is a chance that a friend will disappear MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复有些人指令机器人有概率消失 将玩家所有OpenState的状态改为1 --- .../server/packet/send/PacketOpenStateUpdateNotify.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java index 6fbc5d3c8d4..91e07341a50 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java @@ -20,6 +20,10 @@ public PacketOpenStateUpdateNotify(Player player) { OpenStateUpdateNotify.Builder proto = OpenStateUpdateNotify.newBuilder(); GameData.getOpenStateList().stream().map(OpenStateData::getId).forEach(id -> { + + // 将所有OpenState的状态改为1 也就是全部打开 与/unlockall效果相同 + proto.putOpenStateMap(id, 1); + if ((id == 45) && !GAME_OPTIONS.resinOptions.resinUsage) { proto.putOpenStateMap(45, 0); // Remove resin from map return; From 4537d22fc840f776f9432d82ae6ce15e639b8f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A1=E7=81=B5=E6=9A=B4=E9=BE=99=E5=A4=A7=E5=B8=9D?= Date: Mon, 15 Apr 2024 22:03:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8A=8A=E5=9C=B0=E5=9B=BE=E8=BE=B9?= =?UTF-8?q?=E7=95=8C=E7=8A=B6=E6=80=81=E6=94=B9=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/packet/send/PacketOpenStateUpdateNotify.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java index 91e07341a50..d6631d9c052 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketOpenStateUpdateNotify.java @@ -22,7 +22,11 @@ public PacketOpenStateUpdateNotify(Player player) { GameData.getOpenStateList().stream().map(OpenStateData::getId).forEach(id -> { // 将所有OpenState的状态改为1 也就是全部打开 与/unlockall效果相同 - proto.putOpenStateMap(id, 1); + proto.putOpenStateMap(id, 1); + if (id == 48) { + proto.putOpenStateMap(48, 0); // 把地图边界状态改为0 + return; + } if ((id == 45) && !GAME_OPTIONS.resinOptions.resinUsage) { proto.putOpenStateMap(45, 0); // Remove resin from map