import type { eVehicleSeat } from '../enums/eVehicleSeat'; import type { eWeaponHash } from '../enums/eWeaponHash'; import type { Entity } from '../classes/Entity'; import type { Ped } from '../classes/Ped'; import type { Vehicle } from '../classes/Vehicle'; import type { Volume } from '../classes/Volume'; import { Vector2 } from '../types/Vector2'; import { Vector3 } from '../types/Vector3'; import { Vector4 } from '../types/Vector4'; import { Color } from '../types/Color'; import { createFromHandle } from '../types/HandleRegistry'; import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f, int, uint, float, Hash, u8, u16, u32, u64, i8, i16, i32, i64 } from '../types/NativeAliases'; export class VehicleStatics { /** * @param p0 */ static N_0xDC0556D0F484ECAA(p0: any): void { inv('0xDC0556D0F484ECAA', p0); } /** * @param p0 */ static N_0xE12F5ED49F44D40D(p0: any): void { inv('0xE12F5ED49F44D40D', p0); } /** * @param trackIndex * @param p1 */ static N_0x6B34BE961F639E21(trackIndex: int, p1: int): void { inv('0x6B34BE961F639E21', trackIndex, p1); } /** * @param p0 * @param p1 */ static N_0x3053064F909B5F42(p0: any, p1: any): void { inv('0x3053064F909B5F42', p0, p1); } /** * @param p0 * @param p1 */ static N_0x3137EDC899E6DAE4(p0: any, p1: any): void { inv('0x3137EDC899E6DAE4', p0, p1); } /** * configHash: https://alloc8or.re/rdr3/doc/enums/eTrainConfig.txt * For more information, see trainconfigs.ymt * To make the train AI controlled, set conductor to true and set the speed once. * * @param configHash * @param pos * @param direction * @param passengers * @param p6 * @param conductor * @returns */ static createMissionTrain(configHash: string | number, pos: Vector3, direction: boolean, passengers: boolean, p6: boolean, conductor: boolean): Vehicle | null { return createFromHandle('Vehicle', inv('0xC239DBD9A57D2A71', _h(configHash), f(pos.x), f(pos.y), f(pos.z), direction, passengers, p6, conductor, rai())); } /** * @param trackIndex */ static N_0x0D5FDF0D36FA10CD(trackIndex: int): void { inv('0x0D5FDF0D36FA10CD', trackIndex); } /** * Only used in train_robbery4 R* Script * _C* - _DEL* * * @param entity */ static detachWagonEntityFromTrain(entity: Entity): void { inv('0x54CBDD6E1B4CB4DF', entity.handle); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static setHorseTrafficGroupingDistribution(p0: any, p1: any, p2: any, p3: any): void { inv('0xF5FFB08976911B50', p0, p1, p2, p3); } /** * @param p0 */ static N_0xF6E3D38869D0F7AD(p0: any): void { inv('0xF6E3D38869D0F7AD', p0); } /** * @param ped * @param vehicle * @returns outIndex */ static isPedExclusiveDriverOfVehicle(ped: Ped, vehicle: Vehicle): [boolean, number] { const result = inv<[boolean, number]>('0xB213D2A560B2E48B', ped.handle, vehicle.handle, pvi(), rai()); return [!!result[0], result[1]]; } /** * @param multiplier */ static setParkedVehicleDensityMultiplierThisFrame(multiplier: float): void { inv('0xFEDFA97638D61D4A', f(multiplier)); } /** * @param p0 */ static N_0x165BE2001E5E4B75(p0: any): void { inv('0x165BE2001E5E4B75', p0); } /** * @param p0 * @returns */ static N_0xE777DDF3E78397E8(p0: any): any { return inv('0xE777DDF3E78397E8', p0); } /** * @param p0 * @param p1 */ static N_0xD4907EF4334C7602(p0: any, p1: any): void { inv('0xD4907EF4334C7602', p0, p1); } /** * Identical to CREATE_VEHICLE but allows to set draftAnimalPopGroup (see popgroups.#mt for DRAFT_HORSES_*) * * @param modelHash * @param pos * @param heading * @param isNetwork * @param bScriptHostVeh * @param bDontAutoCreateDraftAnimals * @param draftAnimalPopGroup * @param p9 * @returns */ static createDraftVehicle(modelHash: string | number, pos: Vector3, heading: float, isNetwork: boolean, bScriptHostVeh: boolean, bDontAutoCreateDraftAnimals: boolean, draftAnimalPopGroup: string | number, p9: boolean): Vehicle | null { return createFromHandle('Vehicle', inv('0x214651FB1DFEBA89', _h(modelHash), f(pos.x), f(pos.y), f(pos.z), f(heading), isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, _h(draftAnimalPopGroup), p9, rai())); } /** * @param p0 * @param p1 * @returns */ static N_0xA9E185D498B9AC67(p0: any, p1: any): any { return inv('0xA9E185D498B9AC67', p0, p1); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 */ static removeVehiclesFromGeneratorsInArea(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void { inv('0xC619A44639BC0CB4', p0, p1, p2, p3, p4, p5); } /** * @param vehicleHash * @param vehicleAsset */ static requestVehicleAsset(vehicleHash: string | number, vehicleAsset: int): void { inv('0x81A15811460FAB3A', _h(vehicleHash), vehicleAsset); } /** * @param toggle */ static setRandomBoats(toggle: boolean): void { inv('0xF44D446D4E36DB87', toggle); } /** * @param p0 * @param p1 */ static N_0x13EB275BF81636D1(p0: any, p1: any): void { inv('0x13EB275BF81636D1', p0, p1); } /** * @param p0 * @returns */ static N_0x0BA4250D20007C2E(p0: any): any { return inv('0x0BA4250D20007C2E', p0); } /** * @param trackIndex * @param p1 */ static N_0x427C919E9809E370(trackIndex: int, p1: int): void { inv('0x427C919E9809E370', trackIndex, p1); } static N_0x2A7413168F6CD5A8(): void { inv('0x2A7413168F6CD5A8'); } /** * @param model * @returns */ static isThisModelABoat(model: string | number): boolean { return !!inv('0x799CFC7C5B743B15', _h(model), rai()); } /** * @param trackIndex * @param p1 */ static N_0xA7966807953A18EE(trackIndex: int, p1: float): void { inv('0xA7966807953A18EE', trackIndex, f(p1)); } /** * @param disabled * @param weaponHash Refer to {@link eWeaponHash} * @param vehicle * @param owner */ static disableVehicleWeapon(disabled: boolean, weaponHash: eWeaponHash, vehicle: Vehicle, owner: Ped): void { inv('0x94B1E71B144356A5', disabled, weaponHash, vehicle.handle, owner.handle); } /** * @param p0 * @param p1 */ static N_0x0CD7914D17A970AB(p0: any, p1: any): void { inv('0x0CD7914D17A970AB', p0, p1); } /** * @param trackIndex * @returns */ static N_0x37D238BE69F7378A(trackIndex: int): boolean { return !!inv('0x37D238BE69F7378A', trackIndex, rai()); } /** * @param p0 */ static N_0xE682002DB1F30669(p0: any): void { inv('0xE682002DB1F30669', p0); } /** * @param trackIndex * @param p1 */ static N_0x615B3B8E73634509(trackIndex: int, p1: float): void { inv('0x615B3B8E73634509', trackIndex, f(p1)); } /** * trainTrack: FREIGHT_GROUP, TRAINS3, BRAITHWAITES2_TRACK_CONFIG, TRAINS_OLD_WEST01, TRAINS_OLD_WEST03, TRAINS_NB1, TRAINS_INTERSECTION1_ANN * * @param trainTrack * @param junctionIndex * @param enabled */ static setTrainTrackJunctionSwitch(trainTrack: string | number, junctionIndex: int, enabled: boolean): void { inv('0xE6C5E2125EB210C1', _h(trainTrack), junctionIndex, enabled); } /** * @param p0 * @returns */ static N_0x0FDDEE66E3465726(p0: any): any { return inv('0x0FDDEE66E3465726', p0); } /** * Returns trackIndex * * @param configHash * @param pos * @param direction * @param p5 * @returns */ static N_0x331CBD247FC5DAA8(configHash: string | number, pos: Vector3, direction: boolean, p5: boolean): int { return inv('0x331CBD247FC5DAA8', _h(configHash), f(pos.x), f(pos.y), f(pos.z), direction, p5, rai()); } /** * @param p0 * @param p1 * @returns */ static N_0x0E558D3A49D759D6(p0: any, p1: any): any { return inv('0x0E558D3A49D759D6', p0, p1); } /** * This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording. See REQUEST_VEHICLE_RECORDING * * @param recording * @param time * @param script * @returns */ static getPositionOfVehicleRecordingAtTime(recording: int, time: float, script: string): Vector3 { return Vector3.fromArray(inv('0x1A00961A1BE94E5E', recording, f(time), script, rav())); } /** * @param p0 */ static N_0x172E9DD35858DCD7(p0: any): void { inv('0x172E9DD35858DCD7', p0); } /** * This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording. See REQUEST_VEHICLE_RECORDING * * @param recording * @param time * @param script * @returns */ static getRotationOfVehicleRecordingAtTime(recording: int, time: float, script: string): Vector3 { return Vector3.fromArray(inv('0x61787DD28B8CC0D5', recording, f(time), script, rav())); } /** * Returns train * * @param trackIndex * @returns */ static getTrainVehicleFromTrackIndex(trackIndex: int): Vehicle | null { return createFromHandle('Vehicle', inv('0x6E585A616ABB8401', trackIndex, rai())); } static N_0x16B86A49E072AA85(): void { inv('0x16B86A49E072AA85'); } /** * @param p0 * @param p1 */ static N_0x750D42C013F64AE7(p0: any, p1: any): void { inv('0x750D42C013F64AE7', p0, p1); } /** * @param p0 * @returns */ static N_0x288CBB414C3C2FBB(p0: any): any { return inv('0x288CBB414C3C2FBB', p0); } /** * Returns number of horses a wagon can have * * @param modelHash * @returns */ static getNumDraftVehicleHarnessPed(modelHash: string | number): int { return inv('0x5B1A26BB18E7D451', _h(modelHash), rai()); } /** * @param p0 * @param p1 * @param p2 */ static N_0x6EA1273D525427F4(p0: any, p1: any, p2: any): void { inv('0x6EA1273D525427F4', p0, p1, p2); } /** * @param trackIndex * @param p1 */ static N_0x38E7DD70A242D5CB(trackIndex: int, p1: int): void { inv('0x38E7DD70A242D5CB', trackIndex, p1); } /** * @param volume * @param toggle */ static setAllVehicleGeneratorsDisabledForVolume(volume: Volume, toggle: boolean): void { inv('0x424FFCB9F0D2D4B5', volume.handle, toggle); } /** * @param p0 */ static N_0xFF2B1F59FB892F14(p0: any): void { inv('0xFF2B1F59FB892F14', p0); } /** * @param trackIndex * @returns */ static doesTrainExistOnTrack(trackIndex: int): boolean { return !!inv('0xC29996A337BDD099', trackIndex, rai()); } /** * Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER") corresponds to fbis1uber001.yvr. * For all vehicle recording/playback natives, "script" is a common prefix that usually corresponds to the script/mission the recording is used in, "recording" is its int suffix, and "id" corresponds to a unique identifier within the recording streaming module. * (GTA) Note that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins. * * @param recording * @param script */ static requestVehicleRecording(recording: int, script: string): void { inv('0xC474CF16EDA45DC9', recording, script); } /** * Only used in R* Script beat_train_holdup: p1 = 1 * * @param entity * @param p1 */ static N_0x6355602C02EDC6DF(entity: Entity, p1: any): void { inv('0x6355602C02EDC6DF', entity.handle, p1); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @param p9 * @param p10 */ static N_0x7408B5C66BA31ADB(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any): void { inv('0x7408B5C66BA31ADB', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } /** * @param p0 * @param p1 */ static N_0x0355FE37240E2C77(p0: any, p1: any): void { inv('0x0355FE37240E2C77', p0, p1); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @returns */ static N_0xD9BF3ED8EFB67EA3(p0: any, p1: any, p2: any, p3: any, p4: any): any { return inv('0xD9BF3ED8EFB67EA3', p0, p1, p2, p3, p4); } /** * See REQUEST_VEHICLE_RECORDING * * @param p0 * @returns p1 */ static removeVehicleRecording(p0: any): number { const result = inv('0x139E35755418F6AA', p0, pvi()); return result; } /** * @returns */ static getLastDrivenVehicle(): Vehicle | null { return createFromHandle('Vehicle', inv('0xA94F3E0AB9695E19', rai())); } /** * Only used in SP Scripts. * Related to Vehicle Speed. * * @param p0 * @param p1 */ static N_0x012701ED938B85DE(p0: float, p1: float): void { inv('0x012701ED938B85DE', f(p0), f(p1)); } /** * @param p0 * @returns */ static N_0x51C7694E140FAE43(p0: any): any { return inv('0x51C7694E140FAE43', p0); } /** * Returns modelHash * * @param trainConfig * @param trainCarIndex * @returns */ static getTrainModelFromTrainConfigByCarIndex(trainConfig: string | number, trainCarIndex: int): number { return (inv('0x8DF5F6A19F99F0D5', _h(trainConfig), trainCarIndex, rai())) & 0xFFFFFFFF; } /** * Returns Coords of vStation * p0 - NET_TRAIN_MANAGER_GET_TRAIN_STATION_DATA * _GET_P* - _GET_T* * * @param trackIndex * @param stationIndex * @returns */ static getStationCoordsFromTrainStationData(trackIndex: int, stationIndex: int): Vector3 { return Vector3.fromArray(inv('0xBA958F68031DDBFC', trackIndex, stationIndex, rav())); } /** * @param p0 * @returns */ static N_0x14DA8C4BC2CCD90A(p0: any): any { return inv('0x14DA8C4BC2CCD90A', p0); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 */ static N_0xC2E62678D602853C(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): void { inv('0xC2E62678D602853C', p0, p1, p2, p3, p4, p5, p6); } /** * @param p0 * @param p1 */ static N_0x6FD7BDF10304363A(p0: any, p1: any): void { inv('0x6FD7BDF10304363A', p0, p1); } /** * See REQUEST_VEHICLE_RECORDING * * @param recording * @param script * @returns */ static hasVehicleRecordingBeenLoaded(recording: int, script: string): boolean { return !!inv('0xBA9325BE372AB6EA', recording, script, rai()); } /** * @param multiplier */ static setRandomVehicleDensityMultiplierThisFrame(multiplier: float): void { inv('0x1F91D44490E1EA0C', f(multiplier)); } /** * @param p0 * @param p1 * @returns */ static N_0x7BE0746539DEF0C8(p0: any, p1: any): any { return inv('0x7BE0746539DEF0C8', p0, p1); } /** * @param trackIndex * @param p1 */ static N_0x34BCF6209B9668A7(trackIndex: int, p1: any): void { inv('0x34BCF6209B9668A7', trackIndex, p1); } /** * Returns trackIndex * * @param pos * @returns */ static N_0x6C87F49BFA181DB5(pos: Vector3): int { return inv('0x6C87F49BFA181DB5', f(pos.x), f(pos.y), f(pos.z), rai()); } /** * @param model * @returns */ static isThisModelADraftVehicle(model: string | number): boolean { return !!inv('0xB9D5BDDA88E1BB66', _h(model), rai()); } /** * @param p0 */ static N_0xA230A5DDE12ED374(p0: any): void { inv('0xA230A5DDE12ED374', p0); } /** * @param p0 * @param p1 */ static N_0x6703872EC09BC158(p0: any, p1: any): void { inv('0x6703872EC09BC158', p0, p1); } /** * @param p0 * @param p1 */ static N_0x23F66C36F8E5EAAB(p0: any, p1: any): void { inv('0x23F66C36F8E5EAAB', p0, p1); } /** * @param p0 */ static N_0xC351394B932A6A50(p0: any): void { inv('0xC351394B932A6A50', p0); } /** * @param ped * @param vehicle */ static setPedOwnsVehicle(ped: Ped, vehicle: Vehicle): void { inv('0x838C216C2B05A009', ped.handle, vehicle.handle); } /** * @param vehicleAsset * @returns */ static hasVehicleAssetLoaded(vehicleAsset: string | number): boolean { return !!inv('0xB935F3154BC913C8', _h(vehicleAsset), rai()); } /** * @param trackIndex * @returns */ static N_0xB4241AD8F5AEE9ED(trackIndex: int): boolean { return !!inv('0xB4241AD8F5AEE9ED', trackIndex, rai()); } /** * @param p0 * @param p1 */ static N_0xA13028E22564A1BD(p0: any, p1: any): void { inv('0xA13028E22564A1BD', p0, p1); } /** * @param p0 * @param p1 */ static N_0xCBC7B6F9A56B79F6(p0: any, p1: any): void { inv('0xCBC7B6F9A56B79F6', p0, p1); } static setAllJunctionsCleared(): void { inv('0x138398153824E332'); } /** * @param p0 * @returns */ static N_0x13C190302369308B(p0: any): any { return inv('0x13C190302369308B', p0); } /** * https://i.imgur.com/1rHibjW.jpg * * @param trackIndex * @returns */ static getTrainDirectionFromIndex(trackIndex: int): any { return inv('0x67995318F5FAA496', trackIndex); } /** * @param p0 * @returns */ static N_0x1121B07088ED3013(p0: any): any { return inv('0x1121B07088ED3013', p0); } /** * @param p0 * @param p1 */ static N_0x485B05EF05B9AEE9(p0: any, p1: any): void { inv('0x485B05EF05B9AEE9', p0, p1); } static N_0xB961DD799A837BD7(): void { inv('0xB961DD799A837BD7'); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @returns */ static N_0xD1DF5E54F4ACBE1A(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any): any { return inv('0xD1DF5E54F4ACBE1A', p0, p1, p2, p3, p4, p5, p6); } /** * @param trackIndex * @param p1 */ static N_0x15206E88FF7617DF(trackIndex: int, p1: float): void { inv('0x15206E88FF7617DF', trackIndex, f(p1)); } /** * @param p0 * @param p1 * @param p2 * @returns */ static N_0x2C46D2A591D8C322(p0: any, p1: any, p2: any): any { return inv('0x2C46D2A591D8C322', p0, p1, p2); } /** * @param trackIndex * @param p1 */ static N_0x41365DB586CD9E8E(trackIndex: int, p1: float): void { inv('0x41365DB586CD9E8E', trackIndex, f(p1)); } /** * Returns trackIndex * _E* - _F* * * @param pos * @returns */ static getTrackIndexFromCoords(pos: Vector3): int { return inv('0x85D39F5E3B6D7EB0', f(pos.x), f(pos.y), f(pos.z), rai()); } /** * @param p0 * @param p1 */ static N_0x68830738A6BFB370(p0: any, p1: any): void { inv('0x68830738A6BFB370', p0, p1); } /** * @param trackIndex */ static N_0x718EB706B6E998A0(trackIndex: int): void { inv('0x718EB706B6E998A0', trackIndex); } /** * @param p0 * @param p1 * @param p2 * @returns */ static N_0xCACAB2B123BBDBD6(p0: any, p1: any, p2: any): any { return inv('0xCACAB2B123BBDBD6', p0, p1, p2); } /** * Called together with 0xE6C5E2125EB210C1 in R* Script medium_update * * @param trainTrack * @param junctionIndex * @param enabled */ static N_0x3ABFA128F5BF5A70(trainTrack: string | number, junctionIndex: int, enabled: boolean): void { inv('0x3ABFA128F5BF5A70', _h(trainTrack), junctionIndex, enabled); } /** * Returns amount for CAN_REGISTER_MISSION_VEHICLES * * @param trainConfig * @returns */ static getNumCarsFromTrainConfig(trainConfig: string | number): int { return inv('0x635423D55CA84FC8', _h(trainConfig), rai()); } /** * nullsub, doesn't do anything * * @param toggle */ static setDisableRandomTrainsThisFrame(toggle: boolean): void { inv('0xD4288603E8766FF7', toggle); } /** * _GET_P - _GET_T* * * @param trackIndex * @param stationIndex * @returns */ static N_0x9CC94A948EAF5372(trackIndex: int, stationIndex: int): number { return (inv('0x9CC94A948EAF5372', trackIndex, stationIndex, rai())) & 0xFFFFFFFF; } /** * nullsub, doesn't do anything * * @param p0 */ static N_0x9868C0D0134855F7(p0: any): void { inv('0x9868C0D0134855F7', p0); } /** * @param model * @returns */ static isThisModelATrain(model: string | number): boolean { return !!inv('0xFC08C8F8C1EDF174', _h(model), rai()); } /** * @param multiplier */ static setVehicleDensityMultiplierThisFrame(multiplier: float): void { inv('0x606374EBFC27B133', f(multiplier)); } /** * @param p0 */ static N_0x0F7F603BDE08C4D3(p0: any): void { inv('0x0F7F603BDE08C4D3', p0); } /** * @param p0 */ static N_0x9D12796EF4BF9EA9(p0: any): void { inv('0x9D12796EF4BF9EA9', p0); } /** * @param p0 * @param p1 */ static N_0x27E3F2B57209FA54(p0: any, p1: any): void { inv('0x27E3F2B57209FA54', p0, p1); } static N_0x8379E05871AD24E0(): void { inv('0x8379E05871AD24E0'); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 */ static N_0x5AADC7BBBB1BCEEB(p0: any, p1: any, p2: any, p3: any, p4: any): void { inv('0x5AADC7BBBB1BCEEB', p0, p1, p2, p3, p4); } /** * @param p0 * @param p1 */ static N_0xCEB1F1EED484A5B4(p0: any, p1: any): void { inv('0xCEB1F1EED484A5B4', p0, p1); } /** * @param trackConfig Hash key of the train track configuration (e.g. "NB_TROLLEY_TRACK_CONFIG") * @param junctionIndex The junction point index to query. * @returns Returns the world coordinate of the given train track configuration at the specified `junctionIndex` */ static getJunctionCoordsForTrainTrack(trackConfig: string | number, junctionIndex: int): Vector3 { return Vector3.fromArray(inv('0x785639D89F8451AB', _h(trackConfig), junctionIndex, rav())); } /** * @param pos * @param radius * @param modelHash * @param flags * @returns */ static getClosestVehicle(pos: Vector3, radius: float, modelHash: string | number, flags: int): Vehicle | null { return createFromHandle('Vehicle', inv('0x52F45D033645181B', f(pos.x), f(pos.y), f(pos.z), f(radius), _h(modelHash), flags, rai())); } /** * @param p0 * @param p1 */ static N_0x3D86997A86FEEF0D(p0: any, p1: any): void { inv('0x3D86997A86FEEF0D', p0, p1); } /** * @param p0 */ static setEnableVehicleSlipstreaming(p0: boolean): void { inv('0x73F1E4F6DF26FE30', p0); } /** * @param speedzone * @returns */ static removeRoadNodeSpeedZone(speedzone: int): boolean { return !!inv('0xFE9AB3354ACE6C9C', speedzone, rai()); } /** * @param ped * @param vehicle * @param seatIndex Refer to {@link eVehicleSeat} * @param side * @param onEnter * @returns */ static isEntryPointForSeatClear(ped: Ped, vehicle: Vehicle, seatIndex: eVehicleSeat, side: boolean, onEnter: boolean): boolean { return !!inv('0x80DDCCB2F4A3EB57', ped.handle, vehicle.handle, seatIndex, side, onEnter, rai()); } /** * Outputs junctionIndex, to be used with 0xE6C5E2125EB210C1 * * @param trainTrack * @param pos * @returns junctionIndex */ static getTrainTrackJunctionAtCoords(trainTrack: string | number, pos: Vector3): [any, number] { const result = inv<[number, number]>('0x86AFC343CF7F0B34', _h(trainTrack), f(pos.x), f(pos.y), f(pos.z), pvi()); return [result[0], result[1]]; } /** * @param p0 * @returns */ static N_0x2045429505158D1A(p0: any): any { return inv('0x2045429505158D1A', p0); } /** * @param trackIndex * @param p1 */ static N_0xD0AABE5B9F8FA589(trackIndex: int, p1: float): void { inv('0xD0AABE5B9F8FA589', trackIndex, f(p1)); } /** * @param trackIndex * @returns */ static getTrainPositionOnTrack(trackIndex: int): Vector3 { return Vector3.fromArray(inv('0x1E8A921112891651', trackIndex, rav())); } /** * @param pos * @param radius * @returns */ static isAnyVehicleNearPoint(pos: Vector3, radius: float): boolean { return !!inv('0x5698BA4FD04D39C4', f(pos.x), f(pos.y), f(pos.z), f(radius), rai()); } static setAllVehicleGeneratorsActive(): void { inv('0x3D596E6E88A02C24'); } /** * *IS** (related to CREATE_MISSION_TRAIN) * * @param trainConfig * @param pos * @param direction * @param p5 * @returns */ static N_0xF05DFAF1ADFEF2CD(trainConfig: string | number, pos: Vector3, direction: boolean, p5: boolean): boolean { return !!inv('0xF05DFAF1ADFEF2CD', _h(trainConfig), f(pos.x), f(pos.y), f(pos.z), direction, p5, rai()); } static deleteAllTrains(): void { inv('0xA3120A1385F17FF7'); } /** * @param p0 * @param p1 */ static N_0x8DECD262602548B9(p0: any, p1: any): void { inv('0x8DECD262602548B9', p0, p1); } /** * @param p0 * @param p1 * @param p2 * @returns */ static N_0x877EA24EB1614495(p0: any, p1: any, p2: any): any { return inv('0x877EA24EB1614495', p0, p1, p2); } /** * @param trackIndex * @param pos * @param distance * @param direction * @returns */ static getCheckpointTrainSpawnLocation(trackIndex: int, pos: Vector3, distance: float, direction: boolean): Vector3 { return Vector3.fromArray(inv('0x35D302397E524939', trackIndex, f(pos.x), f(pos.y), f(pos.z), f(distance), direction, rav())); } /** * @param ped * @param entity * @param vehicleAsset */ static requestVehicleAssetAnims(ped: Ped, entity: Entity, vehicleAsset: int): void { inv('0xCF9DA72002FC16BF', ped.handle, entity.handle, vehicleAsset); } /** * @param trackIndex * @param pos * @param p4 */ static N_0xD0BA1853D76683C8(trackIndex: int, pos: Vector3, p4: any): void { inv('0xD0BA1853D76683C8', trackIndex, f(pos.x), f(pos.y), f(pos.z), p4); } /** * @param p0 * @param p1 */ static N_0xDC69F6913CCA0B99(p0: any, p1: any): void { inv('0xDC69F6913CCA0B99', p0, p1); } /** * @param vehicleAsset */ static removeVehicleAsset(vehicleAsset: string | number): void { inv('0x888A4E675B38F5AD', _h(vehicleAsset)); } /** * @param trackIndex * @param p1 */ static N_0xF8F7DA13CFBD4532(trackIndex: int, p1: boolean): void { inv('0xF8F7DA13CFBD4532', trackIndex, p1); } /** * @param p0 * @param p1 * @param p2 */ static N_0x98A7598C579EE871(p0: any, p1: any, p2: any): void { inv('0x98A7598C579EE871', p0, p1, p2); } /** * @param trackIndex * @param p1 */ static N_0x63509DDF102E08E8(trackIndex: int, p1: int): void { inv('0x63509DDF102E08E8', trackIndex, p1); } /** * @param p0 * @param p1 * @param p2 */ static N_0xFFFE15B433300B8C(p0: any, p1: any, p2: any): void { inv('0xFFFE15B433300B8C', p0, p1, p2); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 */ static setVehicleShootAtTarget(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any): void { inv('0xB79BE78C665B3E6D', p0, p1, p2, p3, p4, p5); } static N_0x4C05B42A8D937796(): void { inv('0x4C05B42A8D937796'); } /** * @param mount * @param draft * @param harnessId * @returns */ static attachDraftVehicleHarnessPed(mount: Ped, draft: Vehicle, harnessId: int): any { return inv('0x316CDB5B6E8F4110', mount.handle, draft.handle, harnessId); } /** * @param p0 * @param p1 * @param p2 * @returns */ static N_0xCAFF2C9747103C02(p0: any, p1: any, p2: any): any { return inv('0xCAFF2C9747103C02', p0, p1, p2); } /** * @param modelHash * @param pos * @param heading * @param isNetwork * @param bScriptHostVeh * @param bDontAutoCreateDraftAnimals * @param p8 * @returns */ static createVehicle(modelHash: string | number, pos: Vector3, heading: float, isNetwork: boolean, bScriptHostVeh: boolean, bDontAutoCreateDraftAnimals: boolean, p8: boolean): Vehicle | null { return createFromHandle('Vehicle', inv('0xAF35D0D2583051B0', _h(modelHash), f(pos.x), f(pos.y), f(pos.z), f(heading), isNetwork, bScriptHostVeh, bDontAutoCreateDraftAnimals, p8, rai())); } /** * @param p0 * @param p1 */ static N_0x2BB2B5BCF0DF8008(p0: any, p1: any): void { inv('0x2BB2B5BCF0DF8008', p0, p1); } static instantlyFillVehiclePopulation(): void { inv('0x1FF00DB43026B12F'); } /** * @param modelHash * @returns */ static getVehicleModelNumberOfSeats(modelHash: string | number): int { return inv('0x9A578736FF3A17C3', _h(modelHash), rai()); } /** * @param p0 * @param p1 */ static N_0xD21A3D421E7F09F7(p0: any, p1: any): void { inv('0xD21A3D421E7F09F7', p0, p1); } /** * Seems to be related while setting a (door) state of specific trains (midlandboxcar05x, privateboxcar01x, privateboxcar02x, midlandrefrigeratorCar, privateArmoured, armoredCar01x) * * @param trainCarriage * @param p1 */ static N_0x762FDC4C19E5A981(trainCarriage: Entity, p1: boolean): void { inv('0x762FDC4C19E5A981', trainCarriage.handle, p1); } /** * @param p0 */ static N_0xE78993FF9022C064(p0: any): void { inv('0xE78993FF9022C064', p0); } /** * @param p0 * @param p1 * @returns */ static N_0xD0116DF21E6C7B36(p0: any, p1: any): any { return inv('0xD0116DF21E6C7B36', p0, p1); } /** * @param p0 * @param p1 */ static N_0x6835AFEA10E186F4(p0: any, p1: any): void { inv('0x6835AFEA10E186F4', p0, p1); } /** * @param p0 * @returns */ static N_0xF57DB8E83DCD8349(p0: any): any { return inv('0xF57DB8E83DCD8349', p0); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @returns */ static N_0xF5EA41C1408695FB(p0: any, p1: any, p2: any, p3: any): any { return inv('0xF5EA41C1408695FB', p0, p1, p2, p3); } /** * @param p0 * @param p1 * @param p2 * @param p3 */ static N_0xD1EFA8D68BF5D63D(p0: any, p1: any, p2: any, p3: any): void { inv('0xD1EFA8D68BF5D63D', p0, p1, p2, p3); } static clearLastDrivenVehicle(): void { inv('0x0EFC5DC62E67609B'); } /** * @param toggle */ static setRandomTrains(toggle: boolean): void { inv('0x1156C6EE7E82A98A', toggle); } /** * @param p0 */ static N_0x873AAF600CC36DAC(p0: any): void { inv('0x873AAF600CC36DAC', p0); } /** * @param p0 * @param p1 */ static N_0xDD100CE1EBBF37E3(p0: any, p1: any): void { inv('0xDD100CE1EBBF37E3', p0, p1); } /** * @param p0 * @param p1 */ static N_0x703D4FB366DA4452(p0: any, p1: any): void { inv('0x703D4FB366DA4452', p0, p1); } /** * @param p0 * @param p1 * @param p2 * @param p3 * @param p4 * @param p5 * @param p6 * @param p7 * @param p8 * @param p9 * @param p10 * @returns */ static addRoadNodeSpeedZone(p0: any, p1: any, p2: any, p3: any, p4: any, p5: any, p6: any, p7: any, p8: any, p9: any, p10: any): int { return inv('0x4C221BAC54D735C3', p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, rai()); } /** * Takes value returned from 0x45853F4E17D847D5 * * @param trackIndex * @returns */ static N_0x0516FAE561276EFC(trackIndex: int): boolean { return !!inv('0x0516FAE561276EFC', trackIndex, rai()); } /** * @returns */ static hasInstantFillVehiclePopulationFinished(): boolean { return !!inv('0x2701D01D5E18FC31', rai()); } /** * @param pos * @returns */ static getNearestTrainTrackPosition(pos: Vector3): Vector3 { return Vector3.fromArray(inv('0x6DE03BCC15E81710', f(pos.x), f(pos.y), f(pos.z), rav())); } /** * @param pos1 * @param pos2 * @param p6 * @param p7 */ static setAllVehicleGeneratorsActiveInArea(pos1: Vector3, pos2: Vector3, p6: boolean, p7: boolean): void { inv('0xBBB134FB9D50C0CC', f(pos1.x), f(pos1.y), f(pos1.z), f(pos2.x), f(pos2.y), f(pos2.z), p6, p7); } /** * @param p0 * @returns */ static N_0x42404D57D621601A(p0: any): any { return inv('0x42404D57D621601A', p0); } /** * @param p0 * @param p1 */ static N_0x07E2E21E799080A0(p0: any, p1: any): void { inv('0x07E2E21E799080A0', p0, p1); } /** * @param p0 */ static N_0x697DF68F3A761A50(p0: any): void { inv('0x697DF68F3A761A50', p0); } /** * @param p0 * @param p1 */ static N_0x8878FF3EEE2868A9(p0: any, p1: any): void { inv('0x8878FF3EEE2868A9', p0, p1); } }