UNPKG

@infernus/raknet

Version:

A wrapper of the popular open.mp raknet plugin for samp-node.

628 lines (611 loc) 20.9 kB
import { BulletHitTypesEnum, WeaponEnum, Player, Vehicle, InvalidEnum } from '@infernus/core'; declare const PR_MAX_HANDLERS = 256; declare const PR_MAX_WEAPON_SLOTS = 13; declare const PR_BITS_TO_BYTES: (bits: number) => number; declare const PR_BYTES_TO_BITS: (bytes: number) => number; declare enum PacketRpcEventType { IncomingPacket = 0, IncomingRpc = 1, OutgoingPacket = 2, OutgoingRpc = 3, IncomingCustomRpc = 4, NumberOfEventTypes = 5 } declare enum PacketRpcValueType { Int8 = 0, Int16 = 1, Int32 = 2, UInt8 = 3, UInt16 = 4, UInt32 = 5, Float = 6, Bool = 7, String = 8, CInt8 = 9, CInt16 = 10, CInt32 = 11, CUInt8 = 12, CUInt16 = 13, CUInt32 = 14, CFloat = 15, CBool = 16, CString = 17, Bits = 18, Float3 = 19, Float4 = 20, Vector = 21, NormQuat = 22, String8 = 23, String32 = 24, IgnoreBits = 25 } declare enum PacketRpcPriority { System = 0, High = 1, Medium = 2, Low = 3 } declare enum PacketRpcReliability { Unreliable = 6, UnreliableSequenced = 7, Reliable = 8, ReliableOrdered = 9, ReliableSequenced = 10 } declare enum RakNetNatives { SendPacket = 0, SendRpc = 1, EmulateIncomingPacket = 2, EmulateIncomingRpc = 3, New = 4, NewCopy = 5, Delete = 6, Reset = 7, ResetReadPointer = 8, ResetWritePointer = 9, IgnoreBits = 10, SetWriteOffset = 11, GetWriteOffset = 12, SetReadOffset = 13, GetReadOffset = 14, GetNumberOfBitsUsed = 15, GetNumberOfBytesUsed = 16, GetNumberOfUnreadBits = 17, GetNumberOfBitsAllocated = 18 } declare enum PacketIdList { DriverSync = 200, RconCommand = 201, AimSync = 203, WeaponsUpdate = 204, StatsUpdate = 205, BulletSync = 206, OnFootSync = 207, MarkersSync = 208, UnoccupiedSync = 209, TrailerSync = 210, PassengerSync = 211, SpectatingSync = 212, InternalPing = 6, ConnectedPong = 9, RequestStaticData = 10, ConnectionRequest = 11, AuthKey = 12, RpcMapping = 17, DetectLostConnections = 23, NewIncomingConnection = 30, NoFreeIncomingConnections = 31, DisconnectionNotification = 32, ConnectionLost = 33, ConnectionRequestAccepted = 34, ConnectionAttemptFailed = 35, ConnectionBanned = 36, InvalidPassword = 37, ModifiedPacket = 38 } declare enum RPCIdList { ShowActor = 171, HideActor = 172, ApplyActorAnimation = 173, ClearActorAnimation = 174, SetActorFacingAngle = 175, SetActorPos = 176, SetActorHealth = 178, SetPlayerAttachedObject = 113, ChatBubble = 59, GiveActorDamage = 177, DisableCheckpoint = 37, SetRaceCheckpoint = 38, DisableRaceCheckpoint = 39, SetCheckpoint = 107, ShowDialog = 61, AddGangZone = 108, GangZoneDestroy = 120, GangZoneFlash = 121, GangZoneStopFlash = 85, ShowGameText = 73, SetGravity = 146, SetMapIcon = 56, RemoveMapIcon = 144, InitMenu = 76, ShowMenu = 77, HideMenu = 78, ShowPlayerNameTag = 80, CreateObject = 44, SetPlayerObjectMaterialText = 84, AttachObjectToPlayer = 75, AttachCameraToObject = 81, EditAttachedObject = 116, EditObject = 117, EnterEditObject = 27, CancelEdit = 28, SetObjectPos = 45, SetObjectRotation = 46, DestroyObject = 47, MoveObject = 99, StopObject = 122, CreatePickup = 95, DestroyPickup = 63, ServerJoin = 137, ServerQuit = 138, InitGame = 139, ConnectionRejected = 130, UpdateScoresAndPings = 155, ClientJoin = 25, NpcJoin = 54, ClientCheck = 103, GameModeRestart = 40, ApplyPlayerAnimation = 86, ClearPlayerAnimation = 87, DeathBroadcast = 166, SetPlayerName = 11, SetPlayerPos = 12, SetPlayerPosFindZ = 13, SetPlayerFacingAngle = 19, SetPlayerSkillLevel = 34, SetPlayerSkin = 153, SetPlayerTime = 29, SetPlayerSpecialAction = 88, SetWeather = 152, SetWorldBounds = 17, SetPlayerVelocity = 90, TogglePlayerControllable = 15, TogglePlayerSpectating = 124, ToggleClock = 30, SetPlayerTeam = 69, PlaySound = 16, GivePlayerMoney = 18, ResetPlayerMoney = 20, ResetPlayerWeapons = 21, GivePlayerWeapon = 22, PlayAudioStream = 41, PlayCrimeReport = 112, StopAudioStream = 42, RemoveBuilding = 43, SetPlayerHealth = 14, SetPlayerArmour = 66, SetWeaponAmmo = 145, SetCameraBehind = 162, SetArmedWeapon = 67, WorldPlayerAdd = 32, WorldPlayerRemove = 163, InterpolateCamera = 82, CreateExplosion = 79, SendDeathMessage = 55, SendGameTimeUpdate = 60, SendClientMessage = 93, SetShopName = 33, SetPlayerDrunkLevel = 35, SetPlayerFightingStyle = 89, SetInterior = 156, SetPlayerColor = 72, ForceClassSelection = 74, ToggleWidescreen = 111, SetPlayerWantedLevel = 133, SetCameraPos = 157, SetCameraLookAt = 158, SetSpawnInfo = 68, RequestClass = 128, RequestSpawn = 129, SpectatePlayer = 126, SpectateVehicle = 127, EnableStuntBonus = 104, ToggleSelectTextDraw = 83, TextDrawSetString = 105, ShowTextDraw = 134, HideTextDraw = 135, PlayerEnterVehicle = 26, PlayerExitVehicle = 154, RemoveVehicleComponent = 57, AttachTrailerToVehicle = 148, DetachTrailerFromVehicle = 149, LinkVehicleToInterior = 65, PutPlayerInVehicle = 70, RemovePlayerFromVehicle = 71, UpdateVehicleDamageStatus = 106, SetVehicleTireStatus = 98, ScmEvent = 96, SetVehicleNumberPlate = 123, DisableVehicleCollisions = 167, SetVehicleHealth = 147, SetVehicleVelocity = 91, SetVehiclePos = 159, SetVehicleZAngle = 160, SetVehicleParams = 161, SetVehicleParamsEx = 24, WorldVehicleAdd = 164, WorldVehicleRemove = 165, Create3DTextLabel = 36, Delete3DTextLabel = 58, SetWorldTime = 94, ToggleCameraTarget = 170, EnterVehicle = 26, ExitVehicle = 154, VehicleDamaged = 106, VehicleDestroyed = 136, SendSpawn = 52, ChatMessage = 101, InteriorChangeNotification = 118, DeathNotification = 53, SendCommand = 50, ClickPlayer = 23, DialogResponse = 62, ClientCheckResponse = 103, GiveTakeDamage = 115, MapMarker = 119, MenuSelect = 132, MenuQuit = 140, SelectTextDraw = 83, PickedUpPickup = 131, SelectObject = 27, CameraTarget = 168, SetPlayerVirtualWorld = 48, ModelInfo = 179, ModelFile = 183, SrcFinishedDownloading = 185, FinishedDownloading = 184, RequestDffFile = 181, RequestTxdFile = 182 } declare enum InternalPacketIdList { INTERNAL_PING = 6, CONNECTED_PONG = 9, REQUEST_STATIC_DATA = 10, CONNECTION_REQUEST = 11, AUTH_KEY = 12, RPC_MAPPING = 17, DETECT_LOST_CONNECTIONS = 23, NEW_INCOMING_CONNECTION = 30, NO_FREE_INCOMING_CONNECTIONS = 31, DISCONNECTION_NOTIFICATION = 32, CONNECTION_LOST = 33, CONNECTION_REQUEST_ACCEPTED = 34, CONNECTION_ATTEMPT_FAILED = 35, CONNECTION_BANNED = 36, INVALID_PASSWORD = 37, MODIFIED_PACKET = 38, RECEIVED_STATIC_DATA = 41 } type BitStreamRaw = number; type Vector3<T> = [T, T, T]; type Vector4<T> = [T, T, T, T]; interface IOnFootSync { lrKey: number; udKey: number; keys: number; position: Vector3<number>; quaternion: Vector4<number>; health: number; armour: number; additionalKey: number; weaponId: WeaponEnum; specialAction: number; velocity: Vector3<number>; surfingOffsets: Vector3<number>; surfingVehicleId: number; animationId: number; animationFlags: number; } interface IInCarSync { vehicleId: number; lrKey: number; udKey: number; keys: number; quaternion: Vector4<number>; position: Vector3<number>; velocity: Vector3<number>; vehicleHealth: number; playerHealth: number; armour: number; additionalKey: number; weaponId: WeaponEnum; sirenState: number; landingGearState: number; trailerId: number; trainSpeed: number; } interface ITrailerSync { trailerId: number; position: Vector3<number>; quaternion: Vector4<number>; velocity: Vector3<number>; angularVelocity: Vector3<number>; } interface IPassengerSync { vehicleId: number; driveBy: number; seatId: number; additionalKey: number; weaponId: WeaponEnum; playerHealth: number; playerArmour: number; lrKey: number; udKey: number; keys: number; position: Vector3<number>; } interface IUnoccupiedSync { vehicleId: number; seatId: number; roll: Vector3<number>; direction: Vector3<number>; position: Vector3<number>; velocity: Vector3<number>; angularVelocity: Vector3<number>; vehicleHealth: number; } interface IAimSync { camMode: number; camFrontVec: Vector3<number>; camPos: Vector3<number>; aimZ: number; camZoom: number; weaponState: number; aspectRatio: number; } interface IBulletSync { fromId: number; hitType: BulletHitTypesEnum; hitId: number; origin: Vector3<number>; hitPos: Vector3<number>; offsets: Vector3<number>; weaponId: WeaponEnum; } interface ISpectatingSync { lrKey: number; udKey: number; keys: number; position: Vector3<number>; } interface IMarkersSync { numberOfPlayers: number; playerIsActive: boolean[]; playerPositionX: number[]; playerPositionY: number[]; playerPositionZ: number[]; playerIsParticipant: boolean[]; } interface IWeaponsUpdate { targetId: number; targetActorId: number; slotWeaponId: number[]; slotWeaponAmmo: number[]; slotUpdated: boolean[]; } interface IStatsUpdate { money: number; drunkLevel: number; } interface IRconCommand { command: number[]; } interface IPacketListSync { readSync(...args: any): void; writeSync(...args: any): void; } declare class BitStream { readonly id: BitStreamRaw; constructor(from?: BitStreamRaw | BitStream); sendPacket(player: number | Player, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; sendRPC(player: number | Player, rpcId: number, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; emulateIncomingPacket(player: number | Player): void; emulateIncomingRPC(player: number | Player, rpcId: number): void; newCopy(): BitStream; delete(): number; reset(): void; resetReadPointer(): void; resetWritePointer(): void; ignoreBits(numberOfBits: number): void; setWriteOffset(offset: number): void; getWriteOffset(): number; setReadOffset(offset: number): void; getReadOffset(): number; getNumberOfBitsUsed(): number; getNumberOfBytesUsed(): number; getNumberOfUnreadBits(): number; getNumberOfBitsAllocated(): number; readValue(...types: (PacketRpcValueType | [PacketRpcValueType, number])[]): number | boolean | (number | boolean | number[])[]; writeValue(...types: [PacketRpcValueType, number | number[] | boolean, number?][]): boolean | boolean[]; readInt8(): number | boolean | (number | boolean | number[])[]; readInt16(): number | boolean | (number | boolean | number[])[]; readInt32(): number | boolean | (number | boolean | number[])[]; readUint8(): number | boolean | (number | boolean | number[])[]; readUint16(): number | boolean | (number | boolean | number[])[]; readUint32(): number | boolean | (number | boolean | number[])[]; readFloat(): number | boolean | (number | boolean | number[])[]; readBool(): number | boolean | (number | boolean | number[])[]; readString(size?: number): string; readCompressedInt8(): number | boolean | (number | boolean | number[])[]; readCompressedInt16(): number | boolean | (number | boolean | number[])[]; readCompressedInt32(): number | boolean | (number | boolean | number[])[]; readCompressedUint8(): number | boolean | (number | boolean | number[])[]; readCompressedUint16(): number | boolean | (number | boolean | number[])[]; readCompressedUint32(): number | boolean | (number | boolean | number[])[]; readCompressedFloat(): number | boolean | (number | boolean | number[])[]; readCompressedBool(): number | boolean | (number | boolean | number[])[]; readCompressedString(size: number, charset?: string): string; readBits(size: number): number | boolean | (number | boolean | number[])[]; readFloat3(): number | boolean | (number | boolean | number[])[]; readFloat4(): number | boolean | (number | boolean | number[])[]; readVector(): number | boolean | (number | boolean | number[])[]; readNormQuat(): number | boolean | (number | boolean | number[])[]; readString8(charset?: string): string; readString32(charset?: string): string; writeInt8(value: number): boolean; writeInt16(value: number): boolean; writeInt32(value: number): boolean; writeUint8(value: number): boolean; writeUint16(value: number): boolean; writeUint32(value: number): boolean; writeFloat(value: number): boolean; writeBool(value: boolean): boolean; writeString(value: string | number[], length?: number): boolean; writeCompressedInt8(value: number): boolean; writeCompressedInt16(value: number): boolean; writeCompressedInt32(value: number): boolean; writeCompressedUint8(value: number): boolean; writeCompressedUint16(value: number): boolean; writeCompressedUint32(value: number): boolean; writeCompressedFloat(value: number): boolean; writeCompressedBool(value: boolean): boolean; writeCompressedString(value: string, length?: number): boolean; writeBits(value: number, size: number): boolean; writeFloat3(value: Vector3<number>): boolean; writeFloat4(value: Vector4<number>): boolean; writeVector(value: Vector3<number>): boolean; writeNormQuat(value: Vector4<number>): boolean; writeString8(value: string | number[]): boolean; writeString32(value: string | number[]): boolean; static packAspectRatio(value: number): number; static unpackAspectRatio(value: number): number; static packCameraZoom(value: number): number; static unpackCameraZoom(value: number): number; static packHealthArmour(health: number, armour: number): number; static unpackHealthArmour(healthArmour: number): { health: number; armour: number; }; readWeaponsUpdate(): IWeaponsUpdate; readStatsUpdate(): IStatsUpdate; readRconCommand(): IRconCommand; writeWeaponsUpdate(data: IWeaponsUpdate): void; writeStatsUpdate(data: IStatsUpdate): void; writeRconCommand(data: IRconCommand): void; sendPacketToPlayerStream(players: Player[], player: Player, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; sendRPCToPlayerStream(players: Player[], player: Player, rpcId: number, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; sendPacketToVehicleStream(players: Player[], vehicle: Vehicle, excludedPlayer?: Player | InvalidEnum.PLAYER_ID, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; sendRPCToVehicleStream(players: Player[], vehicle: Vehicle, rpcId: number, excludedPlayer?: Player | InvalidEnum.PLAYER_ID, priority?: PacketRpcPriority, reliability?: PacketRpcReliability, orderingChannel?: number): void; } declare const onIncomingPacket: (cb: (ret: { playerId: number; packetId: number; bs: BitStream; } & { next: (value?: Partial<{ playerId: number; packetId: number; bs: BitStream; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; declare const onIncomingRPC: (cb: (ret: { playerId: number; rpcId: number; bs: BitStream; } & { next: (value?: Partial<{ playerId: number; rpcId: number; bs: BitStream; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; declare const onOutgoingPacket: (cb: (ret: { playerId: number; packetId: number; bs: BitStream; } & { next: (value?: Partial<{ playerId: number; packetId: number; bs: BitStream; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; declare const onOutgoingRPC: (cb: (ret: { playerId: number; rpcId: number; bs: BitStream; } & { next: (value?: Partial<{ playerId: number; rpcId: number; bs: BitStream; }> | undefined) => number | boolean | void; defaultValue: boolean | undefined; }) => (number | boolean | void) | Promise<number | boolean | void>, unshift?: boolean) => () => number | undefined; declare const IPacket: (eventId: number, func: Parameters<typeof onIncomingPacket>[0]) => () => number | undefined; declare const IRPC: (eventId: number, func: Parameters<typeof onIncomingRPC>[0]) => () => number | undefined; declare const OPacket: (eventId: number, func: Parameters<typeof onOutgoingPacket>[0]) => () => number | undefined; declare const ORPC: (eventId: number, func: Parameters<typeof onOutgoingRPC>[0]) => () => number | undefined; declare const IncomingPacket: (eventId: number, func: Parameters<typeof onIncomingPacket>[0]) => () => number | undefined; declare const IncomingRPC: (eventId: number, func: Parameters<typeof onIncomingRPC>[0]) => () => number | undefined; declare const OutgoingPacket: (eventId: number, func: Parameters<typeof onOutgoingPacket>[0]) => () => number | undefined; declare const OutgoingRPC: (eventId: number, func: Parameters<typeof onOutgoingRPC>[0]) => () => number | undefined; declare class AimSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): IAimSync | null; writeSync(data: IAimSync): void; } declare class BulletSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): IBulletSync | null; writeSync(data: IBulletSync): void; } declare class InCarSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(outgoing?: boolean): IInCarSync | null; writeSync(data: IInCarSync, outgoing?: boolean): void; } declare class MarkersSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): IMarkersSync | null | undefined; writeSync(data: IMarkersSync): void; } declare class OnFootSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(outgoing?: boolean): IOnFootSync | null; writeSync(data: IOnFootSync, outgoing?: boolean): void; } declare class PassengerSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): IPassengerSync | null; writeSync(data: IPassengerSync): void; } declare class SpectatingSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): ISpectatingSync | null; writeSync(data: ISpectatingSync): void; } declare class TrailerSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): ITrailerSync | null; writeSync(data: ITrailerSync): void; } declare class UnoccupiedSync extends BitStream implements IPacketListSync { private bs; constructor(bs: BitStream); readSync(): IUnoccupiedSync | null; writeSync(data: IUnoccupiedSync): void; } export { AimSync, BitStream, BulletSync, IPacket, IRPC, InCarSync, IncomingPacket, IncomingRPC, InternalPacketIdList, MarkersSync, OPacket, ORPC, OnFootSync, OutgoingPacket, OutgoingRPC, PR_BITS_TO_BYTES, PR_BYTES_TO_BITS, PR_MAX_HANDLERS, PR_MAX_WEAPON_SLOTS, PacketIdList, PacketRpcEventType, PacketRpcPriority, PacketRpcReliability, PacketRpcValueType, PassengerSync, RPCIdList, RakNetNatives, SpectatingSync, TrailerSync, UnoccupiedSync, onIncomingPacket, onIncomingRPC, onOutgoingPacket, onOutgoingRPC }; export type { BitStreamRaw, IAimSync, IBulletSync, IInCarSync, IMarkersSync, IOnFootSync, IPacketListSync, IPassengerSync, IRconCommand, ISpectatingSync, IStatsUpdate, ITrailerSync, IUnoccupiedSync, IWeaponsUpdate, Vector3, Vector4 };