fix(vehicles): support AskClaimVehicleSeat and AskReleaseVehicleSeat for F-key entry, and update README status matrix

This commit is contained in:
CAtlas0784 committed 2026-09-16 01:36:59 +07:00
1 parent f0f59a1fb2
commit 5f5fe4e82b
4 files changed
+47 -2

No files matched your search

@@ -596,5 +596,41 @@ internal sealed partial class GameRouter
conn.Log.Info("[TAFFY_MOTO] AskGetOffMotor");
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
}
[Handler(MethodId.AskClaimVehicleSeat, HandlerPacketKind.Invoke)]
private async Task AskClaimVehicleSeat(Connection conn, UxRpcMessage msg)
{
ulong vehicleId = 0;
try
{
var args = msg.GetArgs<SceneMethods.AskClaimVehicleSeatArgs>();
vehicleId = args.VehicleEntityId;
}
catch
{
vehicleId = LastSummonedEntity();
}
conn.Log.Info($"[VEHICLE] AskClaimVehicleSeat invoked for vehicle={vehicleId}");
await conn.ReturnAsync(msg, (byte)0);
await ForceEnterVehicleAsync(conn.Session, vehicleId);
}
[Handler(MethodId.AskReleaseVehicleSeat, HandlerPacketKind.Notify)]
[Handler(MethodId.AskReleaseVehicleSeat, HandlerPacketKind.Invoke)]
private async Task AskReleaseVehicleSeat(Connection conn, UxRpcMessage msg)
{
conn.Log.Info("[VEHICLE] AskReleaseVehicleSeat received");
if (msg.IsInvoke)
await conn.ReturnEmptyOkAsync(msg);
await ForceExitVehicleAsync(conn.Session);
}
[Handler(MethodId.AskChangeCanMoveToDriveSeat, HandlerPacketKind.Invoke)]
[Handler(MethodId.AskChangeCanMoveToDriveSeat, HandlerPacketKind.Notify)]
private Task AskChangeCanMoveToDriveSeat(Connection conn, UxRpcMessage msg)
{
conn.Log.Info("[VEHICLE] AskChangeCanMoveToDriveSeat");
return msg.IsInvoke ? conn.ReturnEmptyOkAsync(msg) : Task.CompletedTask;
}
}
@@ -73,6 +73,8 @@ internal sealed partial class GameRouter
MethodId.AskGetUnlockedVehicles,
MethodId.SyncStoryCoreClientInfo,
MethodId.AskClaimVehicleSeat,
MethodId.AskReleaseVehicleSeat,
MethodId.AskChangeCanMoveToDriveSeat,
MethodId.AskPlayerStartEnterOrExitVehicle,
MethodId.AskPlayerFinishEnterOrExitVehicle,
MethodId.AskVehicleMove,