UNPKG

rustplus-ts

Version:

Rust+ API Wrapper written in TypeScript for the game Rust.

99 lines (98 loc) 3.2 kB
import { EventEmitter } from 'events'; import * as rp from './rustplus'; /** * The buttons that can be sent to the server. */ export declare enum Buttons { NONE = 0, FORWARD = 2, BACKWARD = 4, LEFT = 8, RIGHT = 16, JUMP = 32, DUCK = 64, SPRINT = 128, USE = 256, FIRE_PRIMARY = 1024, FIRE_SECONDARY = 2048, RELOAD = 8192, FIRE_THIRD = 134217728 } /** * The control flags that can be sent to the server. * - CCTV Camera: 0, NONE * - PTZ CCTV Camera: 10, NONE, MOUSE, FIRE * - Drone: 7, NONE, MOVEMENT, MOUSE, SPRINT_AND_DUCK * - Auto Turret: 58, NONE, MOUSE, FIRE, RELOAD, CROSSHAIR */ export declare enum ControlFlags { NONE = 0, MOVEMENT = 1, MOUSE = 2, SPRINT_AND_DUCK = 4, FIRE = 8, RELOAD = 16, CROSSHAIR = 32 } export declare enum CameraType { UNKNOWN = 0, CCTV_CAMERA = 1, PTZ_CCTV_CAMERA = 2, DRONE = 3, AUTO_TURRET = 4 } export declare function getCameraType(controlFlags: number): CameraType; export declare class Camera extends EventEmitter { private rustplus; private identifier; private cameraType; private playerId; private playerToken; private isSubscribed; private cameraRays; private cameraSubscribeInfo; /** * @param {rp.RustPlus} rustplus An existing RustPlus instance. * * Events emitted by the Camera class instance * - subscribing: When we are subscribing to a Camera. * - subscribed: When we are subscribed to a Camera. * - unsubscribing: When we are unsubscribing from the Camera. * - unsubscribed: When we are unsubscribed from the Camera. * - render: When a camera frame has been rendered. A png image buffer will be provided. */ constructor(rustplus: rp.RustPlus); /** * Render a camera frame to a PNG image buffer. * @returns {Promise<Buffer>} Returns a promise that resolves to Buffer. */ private renderCameraFrame; /** * Subscribe to a camera. * @param {string} playerId The steamId of the player making the request. * @param {number} playerToken The authentication token of the player making the request. * @param {string} identifier Camera identifier. * @returns {Promise<boolean>} Returns a promise that resolves true if successful, else false. */ subscribe(playerId: string, playerToken: number, identifier: string): Promise<boolean>; /** * Unsubscribe from a camera. * @returns {Promise<boolean>} Returns a promise that resolves true if successful, else false. */ unsubscribe(): Promise<boolean>; /** * Zoom a PTZ CCTV camera. * @returns {Promise<boolean>} Returns a promise that resolves true if successful, else false. */ zoom(): Promise<boolean>; /** * Shoot a PTZ CCTV controlled Auto Turret. * @returns {Promise<boolean>} Returns a promise that resolves true if successful, else false. */ shoot(): Promise<boolean>; /** * Reload a PTZ CCTV controlled Auto Turret. * @returns {Promise<boolean>} Returns a promise that resolves true if successful, else false. */ reload(): Promise<boolean>; }