rustplus-ts
Version:
Rust+ API Wrapper written in TypeScript for the game Rust.
99 lines (98 loc) • 3.2 kB
TypeScript
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>;
}