UNPKG

@infernus/drift-detection

Version:

A wrapper of the popular SA-MP driftDetection library for samp-node.

91 lines (85 loc) 2.94 kB
import { Player } from '@infernus/core'; declare enum DriftEndReasonEnum { TIMEOUT = 0, DAMAGED = 1, OTHER = 2 } declare enum DriftStateEnum { NONE = 0, DRIFTING = 1 } declare enum DriftOptionsEnum { DRIFT_CHECK_ENABLED = 1, DAMAGE_CHECK_ENABLED = 2 } declare const MIN_DRIFT_ANGLE = 12; declare const MAX_DRIFT_ANGLE = 80; declare const MIN_DRIFT_SPEED = 45; declare const DRIFT_PROCESS_INTERVAL = 250; declare const DRIFT_TIMEOUT_INTERVAL = 6; interface IDriftPlayer { vHealth: number; startPosX: number; startPosY: number; startPosZ: number; driftState: DriftStateEnum; startTimestamp: number; lastTimestamp: number; timeoutTicks: number; playerFlags: DriftOptionsEnum; } declare const Drift: { setMinAngle(angle: number): void; getMinAngle(): number; setMinSpeed(speed: number): void; getMinSpeed(): number; setTimeoutTicks(ticks: number): void; getTimeoutTicks(): number; enableDetection(player?: Player | -1): void; disableDetection(player?: Player | -1): void; isDetectionEnabled(player?: Player | -1): boolean; enableDamageCheck(player?: Player | -1): void; disableDamageCheck(player?: Player | -1): void; isDamageCheckEnabled(player?: Player | -1): boolean; isPlayerDrifting(player: Player): boolean; }; declare const DriftEvent: { onPlayerStart: (cb: (ret: { player: Player; } & { next: (value?: Partial<{ player: Player; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; onPlayerUpdate: (cb: (ret: { player: Player; driftAngle: number; speed: number; time: number; } & { next: (value?: Partial<{ player: Player; driftAngle: number; speed: number; time: number; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; onPlayerEnd: (cb: (ret: { player: Player; reason: DriftEndReasonEnum; distance: number; time: number; } & { next: (value?: Partial<{ player: Player; reason: DriftEndReasonEnum; distance: number; time: number; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; }; export { DRIFT_PROCESS_INTERVAL, DRIFT_TIMEOUT_INTERVAL, Drift, DriftEndReasonEnum, DriftEvent, DriftOptionsEnum, DriftStateEnum, MAX_DRIFT_ANGLE, MIN_DRIFT_ANGLE, MIN_DRIFT_SPEED }; export type { IDriftPlayer };