ClientRPC
На этой странице собраны Client RPC - вызовы, которые сервер отправляет клиенту.
Данные извлечены из декомпиляции Assembly-CSharp.dll - это все вызовы вида ClientRPC(RpcTarget.*("Имя", …)). Всего уникальных имён: 319.
Как читать таблицу
Таргет - как вызов шлёт ванилла:
Player- одному конкретному игроку;NetworkGroup- всем, кто видит сущность;Players- списку соединений;PlayerAndSpectators- игроку и его наблюдателям;SendInfo- вызов черезSendInfo.
Получатель - сущность, на которой вызывается RPC (именно её и надо передавать в ClientRPC). Запись (this) ClassName означает, что вызов идёт от самого объекта этого класса.
Объявлен в - класс (или классы), в котором встречается этот вызов.
Полезно знать
RPC с таргетом NetworkGroup тоже можно адресовать одному игроку через RpcTarget.Player(имя, player).
Список может использоваться для:
- написания и отладки плагинов
- ручной отправки эффектов, звуков и UI-состояний клиенту
- воспроизведения ванильного поведения без правки клиента
- исследования сетевого взаимодействия сервера и клиента
Уведомление
Данные получены из декомпиляции и актуальны на момент выгрузки. После крупных обновлений игры имена и аргументы RPC могут измениться.
(byte)attemptStatus, arg2: true(byte)status, arg2: false"[\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"name\": \"TestPanel7766\",\r\n\t\t\t\t\t\t\t\"parent\": \"Overlay\",\r\n\t\t\t\t\t\t\t\"components\":\r\n\t\t…"[\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"name\": \"TestPanel7766\",\r\n\t\t\t\t\t\t\t\"update\": true,\r\n\t\t\t\t\t\t\t\"components\":\r\n\t\t\t\t\t\…entityID, patternFirework.Design.ToProtoBytes()uInt, (uint)array.Length, array, uInt2, (byte)@intAttackTarget.ServerPositiontarget.ServerPositionGetNetworkTime(), frontBogieYRot, rearBogieYRotGetNetworkTime(), SteerAngle, throttleAndBrake, DriveWheelVelocity, GetFuelFraction()GetNetworkTime(), SteerAngle, throttleAndBrake, DriveWheelVelocity, GetFuelFraction(), SidecarAngleGetNetworkTime(), SteerAngle, throttleAndBrake, DriveWheelVelocity, GetFuelFraction(), SprintPercentRemainingarg1: falsearg1: truewasPushedOrDamaged ? 2f : 0fnavMeshData.ToProtoBytes()tile.navId, tile.coord.x, tile.coord.y, tile.worldCenter, array_mountedPlayerAnimator.StringToHash(animClip.name)voiceline.index