Fix: 未正确处理Action语句

This commit is contained in:
SerendipityR 2024-02-02 00:38:14 +08:00 committed by GitHub
parent 32cd3d2305
commit 79cf68e4cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -344,6 +344,8 @@ public class BotManager {
case "moveToLocation":
String[] moveArgs = _action[1].split("_");
boolean doOnce = Boolean.parseBoolean(moveArgs[0]);
String moveFlag = moveArgs[4];
if ("none".equals(moveFlag) || botHandler.hasClientFlag(client, moveFlag)) {
if (doOnce && botHandler.hasClientFlag(client, "moved")) {
return;
} else if (doOnce) {
@ -354,8 +356,12 @@ public class BotManager {
LogUtil.doLog(0, "[" + userName + "] [行动] 尝试移动到指定位置: " + Arrays.toString(loc), "BotAttack");
}
moveToLocation(client, loc);
}
break;
case "goToLobby":
String[] lobbyArgs = _action[1].split("_");
String lobbyFlag = lobbyArgs[0];
if ("none".equals(lobbyFlag) || botHandler.hasClientFlag(client, lobbyFlag)) {
// 必须禁用默认处理方式
Object npc = getNpc();
Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc);
@ -370,6 +376,7 @@ public class BotManager {
LogUtil.doLog(0, "[" + userName + "] [行动] 尝试与NPC交互: " + Arrays.toString(npcLoc), "BotAttack");
}
packetHandler.sendPlayerInteractEntityPacket(client, packetHandler.getSpawnPlayerEntityId(npc), new float[]{npcLoc[0].floatValue(), npcLoc[1].floatValue(), npcLoc[2].floatValue()});
}
break;
default:
LogUtil.doLog(0, "[" + userName + "] [行动] 无法识别的action语句: " + action, "BotAttack");