@infernus/drift-detection
Version:
A wrapper of the popular SA-MP driftDetection library for samp-node.
91 lines (85 loc) • 2.94 kB
TypeScript
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 };