From 87e735f892b588d46df4462e0e5f8ce66859e193 Mon Sep 17 00:00:00 2001 From: RallyBlock Date: Mon, 9 Nov 2026 15:24:03 -0500 Subject: [PATCH] Camera bind via ServerConnection Player --- client.cs | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/client.cs b/client.cs index 3e8419f..69dea46 100644 --- a/client.cs +++ b/client.cs @@ -144,21 +144,34 @@ function RPGClient_DisableOverlay() function RPGClient_ApplyCamera() { - if (!isObject(localClientConnection) || !isObject(localClientConnection.player)) + %conn = RPGClient_GetConn(); + if (!isObject(%conn)) { return; } - %body = localClientConnection.player; - %cam = localClientConnection.getControlObject(); + %body = %conn.Player; + if (!isObject(%body)) + { + %body = %conn.player; + } + if (!isObject(%body)) + { + return; + } + %cam = %conn.getControlObject(); if (!isObject(%cam) || %cam.getClassName() !$= "Camera") { - %cam = localClientConnection.camera; + %cam = %conn.Camera; + if (!isObject(%cam)) + { + %cam = %conn.camera; + } } if (!isObject(%cam)) { return; } - localClientConnection.setControlObject(%cam); + %conn.setControlObject(%cam); %rot = "0 0" SPC mSin($RPGClient::Yaw / 2) SPC mCos($RPGClient::Yaw / 2); %cam.setOrbitMode(%body, %body.getTransform(), 4, 32, $RPGClient::Dist); %cam.thirdPersonOnly = 1; @@ -210,6 +223,19 @@ function RPGClient_CanSendCmd() return isObject(ServerConnection) || isObject(localClientConnection); } +function RPGClient_GetConn() +{ + if (isObject(ServerConnection)) + { + return ServerConnection; + } + if (isObject(localClientConnection)) + { + return localClientConnection; + } + return 0; +} + function RPGClient_SendHello() { if ($RPGClient::Server)