diff --git a/api/AltV.Net.Client/Natives.cs b/api/AltV.Net.Client/Natives.cs
index 3efb5fd32..b95658e9f 100644
--- a/api/AltV.Net.Client/Natives.cs
+++ b/api/AltV.Net.Client/Natives.cs
@@ -224,6 +224,7 @@ public unsafe interface INatives
void FreeMemoryForHighQualityPhoto();
void SetTakenPhotoIsMugshot(bool toggle);
void SetArenaThemeAndVariationForTakenPhoto(int p0, int p1);
+ void SetOnIslandXForTakenPhoto(int p0);
///
/// 1 match in 1 script. cellphone_controller.
///
@@ -315,6 +316,7 @@ public unsafe interface INatives
/// Draws a 3D sphere, typically seen in the GTA:O freemode event "Penned In".
/// Example https://imgur.com/nCbtS4H
///
+ /// - The alpha for the sphere. Goes from 0.0 to 1.0.
void DrawMarkerSphere(float x, float y, float z, float radius, int red, int green, int blue, float alpha);
///
/// 20/03/17 : Attention, checkpoints are already handled by the game itself, so you must not loop it like markers.
@@ -860,6 +862,7 @@ public unsafe interface INatives
/// Note: the argument alpha ranges from 0.0f-1.0f !
///
void SetParticleFxNonLoopedAlpha(float alpha);
+ void SetParticleFxNonLoopedScale(float scale);
void SetParticleFxNonLoopedEmitterSize(float p0, float p1, float scale);
///
/// Used only once in the scripts (taxi_clowncar)
@@ -935,6 +938,7 @@ public unsafe interface INatives
void SetParticleFxLoopedAlpha(int ptfxHandle, float alpha);
void SetParticleFxLoopedScale(int ptfxHandle, float scale);
void SetParticleFxLoopedFarClipDist(int ptfxHandle, float range);
+ void SetParticleFxLoopedCameraBias(int ptfxHandle, float p1);
void SetParticleFxCamInsideVehicle(bool p0);
void SetParticleFxCamInsideNonplayerVehicle(IVehicle vehicle, bool p1);
void SetParticleFxCamInsideNonplayerVehicle(uint vehicle, bool p1);
@@ -963,6 +967,7 @@ public unsafe interface INatives
void SetParticleFxFootOverrideName(string p0);
void SetSkidmarkRangeScale(float scale);
void SetPtfxForceVehicleInteriorFlag(int p0);
+ void RegisterPostfxBulletImpact(float weaponWorldPosX, float weaponWorldPosY, float weaponWorldPosZ, float intensity);
void ForcePostfxBulletImpactsAfterHud(bool p0);
///
/// From the b678d decompiled scripts:
@@ -985,6 +990,16 @@ public unsafe interface INatives
/// Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json
///
void ResetParticleFxOverride(string name);
+ ///
+ /// Returns ptfxHandle
+ ///
+ /// scr_sv_drag_burnout
+ int StartVehicleParticleFxLooped(IVehicle vehicle, string effectName, bool frontBack, bool leftRight, bool localOnly);
+ ///
+ /// Returns ptfxHandle
+ ///
+ /// scr_sv_drag_burnout
+ int StartVehicleParticleFxLooped(uint vehicle, string effectName, bool frontBack, bool leftRight, bool localOnly);
void SetWeatherPtfxUseOverrideSettings(bool p0);
void SetWeatherPtfxOverrideCurrLevel(float p0);
void WashDecalsInRange(float x, float y, float z, float range, float p4);
@@ -1072,11 +1087,13 @@ public unsafe interface INatives
/// Forces footstep tracks on all surfaces.
///
void UseSnowFootVfxWhenUnsheltered(bool toggle);
+ void ForceAllowSnowFootVfxOnIce(bool toggle);
///
/// Forces vehicle trails on all surfaces.
///
void UseSnowWheelVfxWhenUnsheltered(bool toggle);
void DisableRegionVfx(int p0);
+ void ForceGroundSnowPass(bool toggle);
///
/// Only one match in the scripts:
/// GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger");
@@ -1132,6 +1149,10 @@ public unsafe interface INatives
///
void DisableMoonCycleOverride();
int RequestScaleformMovie(string scaleformName);
+ ///
+ /// Another REQUEST_SCALEFORM_MOVIE equivalent.
+ ///
+ int RequestScaleformMovieWithIgnoreSuperWidescreen(string scaleformName);
int RequestScaleformMovieInstance(string scaleformName);
///
/// Similar to REQUEST_SCALEFORM_MOVIE, but seems to be some kind of "interactive" scaleform movie?
@@ -1331,6 +1352,7 @@ public unsafe interface INatives
///
void SetTvChannelPlaylist(int tvChannel, string playlistName, bool restart);
void SetTvChannelPlaylistAtHour(int tvChannel, string playlistName, int hour);
+ void SetTvChannelPlaylistDirty(int tvChannel, bool p1);
void ClearTvChannelPlaylist(int tvChannel);
bool IsPlaylistOnChannel(int tvChannel, int p1);
bool IsTvshowCurrentlyPlaying(uint videoCliphash);
@@ -1428,6 +1450,7 @@ public unsafe interface INatives
void StopPedRingtone(uint ped);
bool IsMobilePhoneCallOngoing();
bool IsMobileInterferenceActive();
+ int GetCurrentTvShowPlayTime();
void CreateNewScriptedConversation();
///
/// NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs,
@@ -1616,7 +1639,7 @@ public unsafe interface INatives
///
int GetNetworkIdFromSoundId(int soundId);
int GetSoundIdFromNetworkId(int netId);
- void SetVariableOnSound(int soundId, string unkVariable, float p2);
+ void SetVariableOnSound(int soundId, string variable, float p2);
///
/// From the scripts, p0:
/// "ArmWrestlingIntensity",
@@ -1624,13 +1647,13 @@ public unsafe interface INatives
/// "Monkey_Stream",
/// "ZoomLevel"
///
- void SetVariableOnStream(string unkVariable, float p1);
+ void SetVariableOnStream(string variable, float p1);
void OverrideUnderwaterStream(string p0, bool p1);
///
/// AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 1.0);
/// AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 0.0);
///
- void SetVariableOnUnderWaterStream(string unkVariableName, float value);
+ void SetVariableOnUnderWaterStream(string variableName, float value);
bool HasSoundFinished(int soundId);
///
/// Plays ambient speech. See also _0x444180DB.
@@ -2067,7 +2090,7 @@ public unsafe interface INatives
/// Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json
///
void SetCutsceneAudioOverride(string name);
- void SetVariableOnSynchSceneAudio(string unkVariableName, float value);
+ void SetVariableOnSynchSceneAudio(string variableName, float value);
///
/// Plays the given police radio message.
/// All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/GBnsQ5hr
@@ -2275,6 +2298,8 @@ public unsafe interface INatives
/// Works for planes only.
///
void EnableStallWarningSounds(uint vehicle, bool toggle);
+ void EnableDragRaceStationaryWarningSounds(IVehicle vehicle, bool enable);
+ void EnableDragRaceStationaryWarningSounds(uint vehicle, bool enable);
bool IsGameInControlOfMusic();
void SetGpsActive(bool active);
///
@@ -2310,7 +2335,7 @@ public unsafe interface INatives
///
/// Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json
///
- void SetAudioSceneVariable(string scene, string unkVariable, float value);
+ void SetAudioSceneVariable(string scene, string variable, float value);
void SetAudioScriptCleanupTime(int time);
///
/// All found occurrences in b678d:
@@ -2668,6 +2693,10 @@ public unsafe interface INatives
///
void SetCamDofMaxNearInFocusDistanceBlendLevel(int camera, float p1);
///
+ /// This native has a name defined inside its code
+ ///
+ void SetCamDofShouldKeepLookAtTargetInFocus(int camera, bool state);
+ ///
/// Last param determines if its relative to the Entity
///
void AttachCamToEntity(int cam, IEntity entity, float xOffset, float yOffset, float zOffset, bool isRelative);
@@ -3025,6 +3054,8 @@ public unsafe interface INatives
/// CAM::SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE(1f, 1f);
///
void SetThirdPersonCamOrbitDistanceLimitsThisUpdate(float p0, float distance);
+ float GetThirdPersonCamMinOrbitDistanceSpring();
+ float GetThirdPersonCamMaxOrbitDistanceSpring();
///
/// Forces gameplay cam to specified vehicle as if you were in it
///
@@ -3379,6 +3410,7 @@ public unsafe interface INatives
int GetCutsceneTime();
int GetCutsceneTotalDuration();
int GetCutsceneEndTime();
+ int GetCutscenePlayDuration();
bool WasCutsceneSkipped();
bool HasCutsceneFinished();
bool IsCutsceneActive();
@@ -3794,6 +3826,8 @@ public unsafe interface INatives
///
/// Tested with vehicles, returns true whenever the vehicle is touching any entity.
bool HasEntityCollidedWithAnything(uint entity);
+ uint GetLastEntityHitByEntity(IEntity entity);
+ uint GetLastEntityHitByEntity(uint entity);
uint GetLastMaterialHitByEntity(IEntity entity);
uint GetLastMaterialHitByEntity(uint entity);
Vector3 GetCollisionNormalOfLastHitForEntity(IEntity entity);
@@ -4138,6 +4172,8 @@ public unsafe interface INatives
uint GetNearestPlayerToEntity(uint entity);
uint GetNearestPlayerToEntityOnTeam(IEntity entity, int team);
uint GetNearestPlayerToEntityOnTeam(uint entity, int team);
+ int GetNearestParticipantToEntity(IEntity entity);
+ int GetNearestParticipantToEntity(uint entity);
///
/// Returns:
/// 0 = no entity
@@ -4454,6 +4490,10 @@ public unsafe interface INatives
/// - do not teleport entity to be attached to the position of the bone Index of the target entity (if 1, entity will not be teleported to target bone)
/// - is always 2 in scripts.
void AttachEntityToEntityPhysically(uint entity1, uint entity2, int boneIndex1, int boneIndex2, float xPos1, float yPos1, float zPos1, float xPos2, float yPos2, float zPos2, float xRot, float yRot, float zRot, float breakForce, bool fixedRot, bool p15, bool collision, bool p17, int p18);
+ void AttachEntityToEntityPhysicallyOverrideInverseMass(IEntity firstEntityIndex, uint secondEntityIndex, int firstEntityBoneIndex, int secondEntityBoneIndex, float secondEntityOffsetX, float secondEntityOffsetY, float secondEntityOffsetZ, float firstEntityOffsetX, float firstEntityOffsetY, float firstEntityOffsetZ, float vecRotationX, float vecRotationY, float vecRotationZ, float physicalStrength, bool constrainRotation, bool doInitialWarp, bool collideWithEntity, bool addInitialSeperation, int rotOrder, float invMassScaleA, float invMassScaleB);
+ void AttachEntityToEntityPhysicallyOverrideInverseMass(uint firstEntityIndex, IEntity secondEntityIndex, int firstEntityBoneIndex, int secondEntityBoneIndex, float secondEntityOffsetX, float secondEntityOffsetY, float secondEntityOffsetZ, float firstEntityOffsetX, float firstEntityOffsetY, float firstEntityOffsetZ, float vecRotationX, float vecRotationY, float vecRotationZ, float physicalStrength, bool constrainRotation, bool doInitialWarp, bool collideWithEntity, bool addInitialSeperation, int rotOrder, float invMassScaleA, float invMassScaleB);
+ void AttachEntityToEntityPhysicallyOverrideInverseMass(IEntity firstEntityIndex, IEntity secondEntityIndex, int firstEntityBoneIndex, int secondEntityBoneIndex, float secondEntityOffsetX, float secondEntityOffsetY, float secondEntityOffsetZ, float firstEntityOffsetX, float firstEntityOffsetY, float firstEntityOffsetZ, float vecRotationX, float vecRotationY, float vecRotationZ, float physicalStrength, bool constrainRotation, bool doInitialWarp, bool collideWithEntity, bool addInitialSeperation, int rotOrder, float invMassScaleA, float invMassScaleB);
+ void AttachEntityToEntityPhysicallyOverrideInverseMass(uint firstEntityIndex, uint secondEntityIndex, int firstEntityBoneIndex, int secondEntityBoneIndex, float secondEntityOffsetX, float secondEntityOffsetY, float secondEntityOffsetZ, float firstEntityOffsetX, float firstEntityOffsetY, float firstEntityOffsetZ, float vecRotationX, float vecRotationY, float vecRotationZ, float physicalStrength, bool constrainRotation, bool doInitialWarp, bool collideWithEntity, bool addInitialSeperation, int rotOrder, float invMassScaleA, float invMassScaleB);
///
/// Called to update entity attachments.
///
@@ -4704,13 +4744,25 @@ public unsafe interface INatives
/// female ped ~= 0 - 100
///
/// >= 0
- void SetEntityHealth(IEntity entity, int health, int p2);
+ void SetEntityHealth(IEntity entity, int health, uint instigator, uint weaponType);
///
/// male ped ~= 100 - 200
/// female ped ~= 0 - 100
///
/// >= 0
- void SetEntityHealth(uint entity, int health, int p2);
+ void SetEntityHealth(uint entity, int health, IEntity instigator, uint weaponType);
+ ///
+ /// male ped ~= 100 - 200
+ /// female ped ~= 0 - 100
+ ///
+ /// >= 0
+ void SetEntityHealth(IEntity entity, int health, IEntity instigator, uint weaponType);
+ ///
+ /// male ped ~= 100 - 200
+ /// female ped ~= 0 - 100
+ ///
+ /// >= 0
+ void SetEntityHealth(uint entity, int health, uint instigator, uint weaponType);
///
/// Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions and the tazer animation won't apply either.
/// If you use this for a ped and you want Ragdoll to stay enabled, then do:
@@ -5007,6 +5059,8 @@ public unsafe interface INatives
/// Gets the local rotation of the specified bone of the specified entity.
///
Vector3 GetEntityBoneObjectRotation(uint entity, int boneIndex);
+ Vector3 GetEntityBoneObjectPostion(IEntity entity, int boneIndex);
+ Vector3 GetEntityBoneObjectPostion(uint entity, int boneIndex);
int GetEntityBoneCount(IEntity entity);
int GetEntityBoneCount(uint entity);
void EnableEntityBulletCollision(IEntity entity);
@@ -5162,7 +5216,7 @@ public unsafe interface INatives
uint GetHashNameForComponent(uint entity, int componentId, int drawableVariant, int textureVariant);
uint GetHashNameForProp(IEntity entity, int componentId, int propIndex, int propTextureIndex);
uint GetHashNameForProp(uint entity, int componentId, int propIndex, int propTextureIndex);
- int GetItemVariantsCount(uint componentHash);
+ int GetShopPedApparelVariantComponentCount(uint componentHash);
///
/// `propHash`: Ped helmet prop hash?
///
@@ -5170,10 +5224,10 @@ public unsafe interface INatives
int GetShopPedApparelVariantPropCount(uint propHash);
///
///
- void GetVariantComponent(uint componentHash, int unkVariantComponentIndex, ref uint nameHash, ref int enumValue, ref int componentType);
+ void GetVariantComponent(uint componentHash, int variantComponentIndex, ref uint nameHash, ref int enumValue, ref int componentType);
///
///
- void GetVariantProp(uint componentHash, int unkVariantPropIndex, ref uint nameHash, ref int enumValue, ref int anchorPoint);
+ void GetVariantProp(uint componentHash, int variantPropIndex, ref uint nameHash, ref int enumValue, ref int anchorPoint);
///
/// Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT.
///
@@ -5192,7 +5246,7 @@ public unsafe interface INatives
/// Full list of restriction tags by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedApparelRestrictionTags.json
/// componentId/last parameter seems to be unused.
///
- bool IsTagRestricted(uint componentHash, uint restrictionTagHash, int componentId);
+ bool DoesShopPedApparelHaveRestrictionTag(uint componentHash, uint restrictionTagHash, int componentId);
bool DoesCurrentPedComponentHaveRestrictionTag(IPlayer ped, int componentId, uint restrictionTagHash);
bool DoesCurrentPedComponentHaveRestrictionTag(uint ped, int componentId, uint restrictionTagHash);
bool DoesCurrentPedPropHaveRestrictionTag(IPlayer ped, int componentId, uint restrictionTagHash);
@@ -5218,11 +5272,11 @@ public unsafe interface INatives
///
/// See https://git.io/JtcBH for example and structs.
///
- bool GetShopPedOutfitPropVariant(uint outfitHash, int unkVariantIndex, ref int outPropVariant);
+ bool GetShopPedOutfitPropVariant(uint outfitHash, int variantIndex, ref int outPropVariant);
///
/// See https://git.io/JtcBH for example and structs.
///
- bool GetShopPedOutfitComponentVariant(uint outfitHash, int unkVariantIndex, ref int outComponentVariant);
+ bool GetShopPedOutfitComponentVariant(uint outfitHash, int variantIndex, ref int outComponentVariant);
int GetNumDlcVehicles();
///
///
@@ -5782,7 +5836,7 @@ public unsafe interface INatives
///
string GetCharacterFromAudioConversationFilenameBytes(string text, int startPosition, int endPosition);
///
- /// Gets a string literal from a label name.
+ /// Gets a localized string literal from a label name. Can be used for output of e.g. VEHICLE::GET_LIVERY_NAME. To check if a GXT label can be localized with this, HUD::DOES_TEXT_LABEL_EXIST can be used.
///
string GetFilenameForAudioConversation(string labelName);
void ClearPrints();
@@ -5854,6 +5908,7 @@ public unsafe interface INatives
bool IsRadarHidden();
bool IsMinimapRendering();
void UseVehicleTargetingReticule(int p0);
+ void UseVehicleTargetingReticuleOnVehicles(bool enable);
void AddValidVehicleHitHash(int p0);
void ClearValidVehicleHitHashes();
///
@@ -5928,6 +5983,7 @@ public unsafe interface INatives
/// Right-Justify requires SET_TEXT_WRAP, otherwise it will draw to the far right of the screen
///
void SetTextJustification(int justifyType);
+ void SetTextLineHeightMult(float lineHeightMult);
///
/// It sets the text in a specified box and wraps the text if it exceeds the boundries. Both values are for X axis. Useful when positioning text set to center or aligned to the right.
///
@@ -6184,6 +6240,7 @@ public unsafe interface INatives
/// _SHOW_FRIEND_INDICATOR_ON_BLIP* - _SHOW_HEADING_INDICATOR_ON_BLIP*
///
void ShowGoldTickOnBlip(int blip, bool toggle);
+ void ShowForSaleIconOnBlip(int blip, bool toggle);
///
/// Adds the GTA: Online player heading indicator to a blip.
///
@@ -6248,6 +6305,10 @@ public unsafe interface INatives
void RemoveFakeConeData(int blip);
void ClearFakeConeArray();
///
+ /// Applies to new eBlipParams _BLIP_CHANGE_46* and _BLIP_CHANGE_47*
+ ///
+ void SetBlipGpsRouteDisplayDistance(int blip, int blipChangeParam46, bool blipChangeParam47);
+ ///
/// This native is used to colorize certain map components like the army base at the top of the map.
///
/// appears to be always -1. If p2 is -1 then native wouldn't change the color. See https://gfycat.com/SkinnyPinkChupacabra
@@ -6281,10 +6342,12 @@ public unsafe interface INatives
/// Toggles the Cayo Perico map.
///
void SetUseIslandMap(bool toggle);
+ void SetPauseExteriorRenderingWhileInInterior();
///
/// When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar.
///
void DontTiltMinimapThisFrame();
+ void DontZoomMinimapWhenRunningThisFrame();
void DontZoomMinimapWhenSnipingThisFrame();
void SetWidescreenFormat(int p0);
void DisplayAreaName(bool toggle);
@@ -6354,7 +6417,7 @@ public unsafe interface INatives
///
/// Calling this each frame, stops the player from receiving a weapon via the weapon wheel.
///
- void BlockWeaponWheelThisFrame();
+ void HudSuppressWeaponWheelResultsThisFrame();
///
/// Returns the weapon hash to the selected/highlighted weapon in the wheel
///
@@ -6541,7 +6604,7 @@ public unsafe interface INatives
///
/// World to relative screen coords, this world to screen will keep the text on screen. Was named _GET_SCREEN_COORD_FROM_WORLD_COORD, but this conflicts with 0x34E82F05DF2974F5. As that hash actually matches GET_SCREEN_COORD_FROM_WORLD_COORD that one supercedes and this one was renamed to _GET_2D_COORD_FROM_3D_COORD
///
- int GetScreenCoordFromWorldCoord2(float worldX, float worldY, float worldZ, ref float screenX, ref float screenY);
+ int GetHudScreenPositionFromWorldPosition(float worldX, float worldY, float worldZ, ref float screenX, ref float screenY);
///
/// Shows a menu for reporting UGC content.
///
@@ -6901,7 +6964,8 @@ public unsafe interface INatives
///
/// Uses the `SOCIAL_CLUB2` scaleform.
///
- void OpenSocialClubMenu();
+ /// GALLERY, MISSIONS, CREWS, MIGRATE, PLAYLISTS, JOBS
+ void OpenSocialClubMenu(uint menu);
void CloseSocialClubMenu();
///
/// HUD::SET_SOCIAL_CLUB_TOUR("Gallery");
@@ -6981,7 +7045,16 @@ public unsafe interface INatives
///
void GetInteriorLocationAndNamehash(int interior, ref Vector3 position, ref uint nameHash);
///
- /// Returns the group ID of the specified interior. For example, regular interiors have group 0, subway interiors have group 1. There are a few other groups too.
+ /// Returns the group ID of the specified interior.
+ /// 0 = default
+ /// 1 = subway station, subway tracks, sewers
+ /// 3 = train tunnel under mirror park
+ /// 5 = tunnel near del perro
+ /// 6 = train tunnel near chilliad
+ /// 7 = train tunnel near josiah
+ /// 8 = train tunnel in sandy shores
+ /// 9 = braddock tunnel (near chilliad)
+ /// See NativeDB for reference: http://natives.altv.mp/#/0xE4A84ABF135EF91A
///
int GetInteriorGroupId(int interior);
Vector3 GetOffsetFromInteriorInWorldCoords(int interior, float x, float y, float z);
@@ -7521,6 +7594,7 @@ public unsafe interface INatives
void SetCreditsActive(bool toggle);
void SetCreditsFadeOutWithScreen(bool toggle);
bool HaveCreditsReachedEnd();
+ bool AreCreditsRunning();
void TerminateAllScriptsWithThisName(string scriptName);
void NetworkSetScriptIsSafeForNetworkGame();
///
@@ -7717,6 +7791,9 @@ public unsafe interface INatives
bool GetCoordsOfProjectileTypeInArea(float x1, float y1, float z1, float x2, float y2, float z2, uint projectileHash, ref Vector3 projectilePos, bool ownedByPlayer);
///
///
+ bool GetCoordsOfProjectileTypeInAngledArea(float vecAngledAreaPoint1X, float vecAngledAreaPoint1Y, float vecAngledAreaPoint1Z, float vecAngledAreaPoint2X, float vecAngledAreaPoint2Y, float vecAngledAreaPoint2Z, float distanceOfOppositeFace, uint weaponType, ref Vector3 positionOut, bool bIsPlayer);
+ ///
+ ///
bool GetCoordsOfProjectileTypeWithinDistance(IPlayer ped, uint weaponHash, float distance, ref Vector3 outCoords, bool p4);
///
///
@@ -8209,6 +8286,11 @@ public unsafe interface INatives
void UseActiveCameraForTimeslicingCentre();
void SetContentIdIndex(uint contentId, int index);
int GetContentIdIndex(uint contentId);
+ void SetContentPropType(uint model, int type);
+ ///
+ /// Returns prop type for given model hash
+ ///
+ int GetContentPropType(uint model);
///
/// Creates a mobile phone of the specified type.
/// Possible phone types:
@@ -8333,6 +8415,7 @@ public unsafe interface INatives
///
bool CanPayAmountToBoss(int p0, int p1, int amount, ref int p3);
void NetworkEarnFromPickup(int amount);
+ void NetworkEarnFromCashingOut(int amount);
void NetworkEarnFromGangattackPickup(int amount);
void NetworkEarnAssassinateTargetKilled(int amount);
///
@@ -8360,7 +8443,6 @@ public unsafe interface INatives
///
void NetworkEarnFromAiTargetKill(int p0, int p1);
void NetworkEarnFromNotBadsport(int amount);
- void NetworkEarnFromRockstar(int amount);
void NetworkEarnFromVehicle(int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7);
void NetworkEarnFromPersonalVehicle(int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8);
///
@@ -8374,6 +8456,7 @@ public unsafe interface INatives
///
///
void NetworkEarnFromJobBonus(int p0, ref int p1, ref int p2);
+ void NetworkEarnFromCriminalMastermind(int p0, int p1, int p2);
void NetworkEarnHeistAward(int p0, int p1, int p2);
void NetworkEarnFirstTimeBonus(int p0, int p1, int p2);
void NetworkEarnGoon(int p0, int p1, int p2);
@@ -8381,8 +8464,8 @@ public unsafe interface INatives
void NetworkEarnAgency(int p0, int p1, int p2, int p3);
void NetworkEarnFromWarehouse(int amount, int id);
void NetworkEarnFromContraband(int amount, int p1);
- void NetworkEarnFromDestroyingContraband(int p0);
- void NetworkEarnFromSmugglerWork(int p0, int p1, int p2, int p3, int p4);
+ void NetworkEarnFromDestroyingContraband(int p0, int p1, int p2);
+ void NetworkEarnFromSmugglerWork(int p0, int p1, int p2, int p3, int p4, int p5);
void NetworkEarnFromHangarTrade(int p0, int p1);
void NetworkEarnPurchaseClubHouse(int p0, int p1);
void NetworkEarnFromBusinessProduct(int amount, int p1, int p2, int p3);
@@ -8412,7 +8495,7 @@ public unsafe interface INatives
/// = 0 (always)
/// = 1 (always)
void NetworkBuyAirstrike(int cost, bool p1, bool p2, int p3);
- void NetworkBuyBackupGang(int p0, int p1, bool p2, bool p3);
+ void NetworkBuyBackupGang(int p0, int p1, bool p2, bool p3, int npcProvider);
///
///
/// = 0 (always)
@@ -8477,6 +8560,7 @@ public unsafe interface INatives
/// This isn't a hash collision.
///
string ProcessCashGift(ref int p0, ref int p1, string p2);
+ void NetworkSpentMoveSubmarine(int p0, int p1, int p2);
void NetworkSpentPlayerHealthcare(int p0, int p1, bool p2, bool p3);
void NetworkSpentNoCops(int p0, bool p1, bool p2, int p3);
void NetworkSpentCargoSourcing(int p0, int p1, int p2, int p3, int p4, int p5);
@@ -8495,7 +8579,7 @@ public unsafe interface INatives
void NetworkSpendGoon(int p0, int p1, int amount);
void NetworkSpendBoss(int p0, int p1, int p2);
void NetworkSpentMoveYacht(int amount, bool p1, bool p2);
- void NetworkSpentRenameOrganization(int p0, int p1, int p2);
+ void NetworkSpentRenameOrganization(int p0, int p1, int p2, int p3);
void NetworkBuyContrabandMission(int p0, int p1, uint p2, bool p3, bool p4);
void NetworkSpentPaServiceHeli(int p0, int p1, int p2, int p3);
void NetworkSpentPaServiceVehicle(int p0, int p1, int p2, int p3);
@@ -8503,8 +8587,8 @@ public unsafe interface INatives
void NetworkSpentPaServiceDancer(int p0, int p1, int p2, int p3);
void NetworkSpentPaServiceImpound(int p0, int p1, int p2);
void NetworkSpentPaHeliPickup(int p0, int p1, int p2, int p3);
- void NetworkSpentPurchaseOfficeProperty(int p0, int p1, int p2, int p3);
- void NetworkSpentUpgradeOfficeProperty(int p0, int p1, int p2, int p3);
+ void NetworkSpentPurchaseOfficeProperty(int p0, int p1, int p2, int p3, int p4);
+ void NetworkSpentUpgradeOfficeProperty(int p0, int p1, int p2, int p3, int p4);
void NetworkSpentPurchaseWarehouseProperty(int p0, int p1, int p2, int p3);
void NetworkSpentUpgradeWarehouseProperty(int p0, int p1, int p2, int p3);
///
@@ -8686,6 +8770,65 @@ public unsafe interface INatives
void NetworkEarnBikerShop(int p0, int p1);
void NetworkEarnBiker(int p0);
void NetworkYohanSourceGoods(int p0, int p1, int p2, int p3);
+ void NetworkSpendBuyMfgarage(int p0, int p1, int p2, int p3);
+ void NetworkSpendUpgradeMfgarage(int p0, int p1, int p2, int p3);
+ void NetworkSpendBuySupplies(int p0, bool p1, bool p2, int p3);
+ void NetworkSpendBuyAcidLab(int p0, int p1, int p2, int p3);
+ void NetworkSpendUpgradeAcidLabEquipment(int p0, int p1, int p2, int p3);
+ void NetworkSpendUpgradeAcidLabArmor(int p0, bool p1, bool p2, int p3);
+ void NetworkSpendUpgradeAcidLabScoop(int p0, bool p1, bool p2, int p3);
+ void NetworkSpendUpgradeAcidLabMines(int p0, bool p1, bool p2, int p3);
+ void NetworkSpendRenameAcidLab(int p0, int p1, int p2, int p3);
+ void NetworkSpendRenameAcidProduct(int p0, int p1, int p2, int p3);
+ void NetworkEarnAwardJuggaloMission(int p0, int p1);
+ void NetworkEarnAwardAcidLab(int p0, int p1);
+ void NetworkEarnAwardDailyStash(int p0, int p1);
+ void NetworkEarnAwardDeadDrop(int p0, int p1);
+ void NetworkEarnAwardRandomEvent(int p0, int p1);
+ void NetworkEarnAwardTaxi(int p0, int p1);
+ void NetworkEarnStreetDealer(int p0, int p1);
+ void NetworkEarnSellAcid(int p0, int p1);
+ void NetworkEarnSetupParticipationAcidLab(int p0, int p1);
+ void NetworkEarnSourceParticipationAcidLab(int p0, int p1);
+ void NetworkEarnSellParticipationAcidLab(int p0, int p1);
+ void NetworkEarnJuggaloStoryMission(int p0, int p1);
+ void NetworkEarnJuggaloStoryMissionParticipation(int p0, int p1);
+ ///
+ /// JUGGALO_PHONE_MISSION...
+ ///
+ void NetworkEarnFooliganJob(int p0, int p1);
+ ///
+ /// JUGGALO_PHONE_MISSION_PARTICIPATION...
+ ///
+ void NetworkEarnFooliganJobParticipation(int p0, int p1);
+ void NetworkEarnTaxiJob(int p0, int p1);
+ void NetworkEarnDailyStashHouseCompleted(int p0, int p1);
+ void NetworkEarnDailyStashHouseParticipation(int p0, int p1);
+ ///
+ /// Used for SERVICE_EARN_AVENGER_OPERATIONS & SERVICE_EARN_AVENGER_OPS_BONUS
+ ///
+ void NetworkEarnAvenger(int amount, int p1);
+ void NetworkEarnSmugglerOps(int p0, int p1, int p2);
+ void NetworkEarnBonusObjective(int amount, int p1, int p2);
+ void NetworkEarnProgressHub(int p0, int p1);
+ void NetworkSpentAirFreight(int hangarCargoSourcingPrice, bool fromBank, bool fromBankAndWallet, int cost, int warehouseId, int warehouseSlot);
+ void NetworkSpentSkipCargoSourceSetup(int amount, bool fromBank, bool fromBankAndWallet, int cost);
+ ///
+ /// Hash p3 = STEALTH_MODULE
+ ///
+ void NetworkSpentStealthModule(int amount, bool fromBank, bool fromBankAndWallet, uint p3);
+ ///
+ /// Hash p3 = MISSILE_JAMMER
+ ///
+ void NetworkSpentMissileJammer(int amount, bool fromBank, bool fromBankAndWallet, uint p3);
+ ///
+ ///
+ void NetworkSpentGeneric(int price, bool p1, bool p2, uint stat, uint spent, string p5, string p6, ref int data);
+ ///
+ /// _NETWORK_EARN_G*
+ ///
+ void NetworkEarnGeneric(int amount, uint earn, string p2, string p3, ref int data);
+ void NetworkClearTransactionTelemetryNonce();
int NetworkGetVcBankBalance();
int NetworkGetVcWalletBalance(int characterSlot);
int NetworkGetVcBalance();
@@ -8693,7 +8836,7 @@ public unsafe interface INatives
int NetworkGetPvcBalance();
string NetworkGetStringWalletBalance(int characterSlot);
string NetworkGetStringBankBalance();
- string NetworkGetStringBankWalletBalance();
+ string NetworkGetStringBankWalletBalance(int character);
///
/// Returns true if wallet balance >= amount.
///
@@ -8859,6 +9002,7 @@ public unsafe interface INatives
bool NetworkHaveUserContentPrivileges(int p0);
bool NetworkHaveCommunicationPrivileges(int p0, IPlayer player);
bool NetworkHaveCommunicationPrivileges(int p0, uint player);
+ bool NetworkHavePlatformCommunicationPrivileges();
bool NetworkCheckOnlinePrivileges(int p0, bool p1);
bool NetworkCheckUserContentPrivileges(int p0, int p1, bool p2);
bool NetworkCheckCommunicationPrivileges(int p0, int p1, bool p2);
@@ -8890,8 +9034,8 @@ public unsafe interface INatives
bool NetworkCanAccessMultiplayer(ref int loadingState);
bool NetworkIsMultiplayerDisabled();
bool NetworkCanEnterMultiplayer();
- bool NetworkSessionDoFreeroamQuickmatch(int p0, int p1, int p2, int maxPlayers);
- bool NetworkSessionDoFriendMatchmaking(int p0, int p1, int maxPlayers);
+ bool NetworkSessionDoFreeroamQuickmatch(int p0, int p1, int p2);
+ bool NetworkSessionDoFriendMatchmaking(int p0, int p1, int p2);
///
/// p4 seems to be unused in 1.60/build 2628
///
@@ -8910,6 +9054,7 @@ public unsafe interface INatives
bool NetworkSessionIsClosedCrew();
bool NetworkSessionIsSolo();
bool NetworkSessionIsPrivate();
+ bool NetworkSessionLeaveIncludingReason(int leaveFlags, int leaveReason);
///
/// NETWORK_SESSION_END(0, 1)
/// NETWORK_SESSION_END(0, 0)
@@ -8944,6 +9089,7 @@ public unsafe interface INatives
/// range: [0, 4]
void NetworkSessionAddActiveMatchmakingGroup(int groupId);
void NetworkSessionSetUniqueCrewLimit(int p0);
+ int NetworkSessionGetUniqueCrewLimit();
void NetworkSessionSetUniqueCrewLimitTransition(int p0);
void NetworkSessionSetUniqueCrewOnlyCrewsTransition(bool p0);
void NetworkSessionSetCrewLimitMaxMembersTransition(int p0);
@@ -9034,6 +9180,7 @@ public unsafe interface INatives
bool NetworkIsGameInProgress();
bool NetworkIsSessionActive();
bool NetworkIsInSession();
+ bool NetworkIsAmericasVersion();
///
/// This checks if player is playing on gta online or not.
/// Please add an if and block your mod if this is "true".
@@ -9294,21 +9441,10 @@ public unsafe interface INatives
/// Same as GET_RANDOM_INT_IN_RANGE
///
int NetworkGetRandomIntRanged(int rangeStart, int rangeEnd);
+ float NetworkGetRandomFloatRanged(float rangeStart, float rangeEnd);
bool NetworkPlayerIsCheater();
int NetworkPlayerGetCheaterReason();
bool NetworkPlayerIsBadsport();
- ///
- ///
- /// = 6
- bool TriggerPlayerCrcHackerCheck(IPlayer player, int p1, uint scriptHash);
- ///
- ///
- /// = 6
- bool TriggerPlayerCrcHackerCheck(uint player, int p1, uint scriptHash);
- bool TriggerTuningCrcHackerCheck(IPlayer player, string p1, string p2);
- bool TriggerTuningCrcHackerCheck(uint player, string p1, string p2);
- bool TriggerFileCrcHackerCheck(IPlayer player, string p1);
- bool TriggerFileCrcHackerCheck(uint player, string p1);
bool RemoteCheaterPlayerDetected(IPlayer player, int a, int b);
bool RemoteCheaterPlayerDetected(uint player, int a, int b);
///
@@ -9327,10 +9463,10 @@ public unsafe interface INatives
int NetworkGetScriptStatus();
///
///
- void NetworkRegisterHostBroadcastVariables(ref int unkVars, int numVars, string debugName);
+ void NetworkRegisterHostBroadcastVariables(ref int vars, int numVars, string debugName);
///
///
- void NetworkRegisterPlayerBroadcastVariables(ref int unkVars, int numVars, string debugName);
+ void NetworkRegisterPlayerBroadcastVariables(ref int vars, int numVars, string debugName);
void NetworkRegisterHighFrequencyHostBroadcastVariables(int p0, int p1, int p2);
void NetworkRegisterHighFrequencyPlayerBroadcastVariables(int p0, int p1, int p2);
void NetworkFinishBroadcastingData();
@@ -9438,6 +9574,7 @@ public unsafe interface INatives
///
uint NetworkGetEntityKillerOfPlayer(uint player, ref uint weaponHash);
void NetworkSetCurrentPublicContentId(string missionId);
+ void NetworkSetCurrentChatOption(int newChatOption);
///
/// enum eMpSettingSpawn
/// {
@@ -9455,6 +9592,10 @@ public unsafe interface INatives
/// Used by MetricVEHICLE_DIST_DRIVEN
///
void NetworkSetVehicleDrivenInTestDrive(bool toggle);
+ ///
+ /// Sets 'loc' variable used in MetricVEHICLE_DIST_DRIVEN
+ ///
+ void NetworkSetVehicleDrivenLocation(uint location);
void NetworkResurrectLocalPlayer(float x, float y, float z, float heading, bool p4, bool changetime, bool p6, int p7, int p8);
void NetworkSetLocalPlayerInvincibleTime(int time);
bool NetworkIsLocalPlayerInvincible();
@@ -9662,6 +9803,32 @@ public unsafe interface INatives
bool NetworkGetPlayerOwnsWaypoint(uint player);
bool NetworkCanSetWaypoint();
void NetworkIgnoreRemoteWaypoints();
+ ///
+ ///
+ /// 0 = VOICE; 1 = TEXT_CHAT; 2 = TEXT_MESSAGE; 3 = EMAIL; 4 = USER_CONTENT; 5 = USER_TEXT
+ bool NetworkDoesCommunicationGroupExist(int communicationType);
+ ///
+ /// Returns communicationGroupFlag
+ /// enum eCommunicationGroupFlag
+ /// {
+ /// COMMUNICATION_GROUP_LOCAL_PLAYER = 1 << 0,
+ /// COMMUNICATION_GROUP_FRIENDS = 1 << 1,
+ /// COMMUNICATION_GROUP_SMALL_CREW = 1 << 2,
+ /// COMMUNICATION_GROUP_LARGE_CREW = 1 << 3,
+ /// COMMUNICATION_GROUP_RECENT_PLAYER = 1 << 4,
+ /// COMMUNICATION_GROUP_SAME_SESSION = 1 << 5,
+ /// See NativeDB for reference: http://natives.altv.mp/#/0x40DF02F371F40883
+ ///
+ /// see 0xDBDF80673BBA3D65
+ int NetworkGetCommunicationGroupFlags(int communicationType);
+ ///
+ ///
+ /// see 0xDBDF80673BBA3D65
+ /// see 0x40DF02F371F40883
+ void NetworkSetCommunicationGroupFlags(int communicationType, int communicationGroupFlag);
+ ///
+ ///
+ bool NetworkIsPlayerOnBlocklist(ref int gamerHandle);
bool NetworkSetScriptAutomuted(int p0);
bool NetworkHasAutomuteOverride();
bool NetworkHasHeadset();
@@ -9867,7 +10034,7 @@ public unsafe interface INatives
///
///
/// is 35 in the scripts.
- void NetworkClanGetUiFormattedTag(ref int clanDesc, int bufferSize, ref string formattedTag);
+ void NetworkClanGetUiFormattedTag(ref int clanDesc, int bufferSize, string formattedTag);
int NetworkClanGetLocalMembershipsCount();
///
///
@@ -9901,7 +10068,7 @@ public unsafe interface INatives
bool NetworkClanHasCrewinfoMetadataBeenReceived();
///
///
- bool NetworkClanGetEmblemTxdName(ref int netHandle, ref string txdName);
+ bool NetworkClanGetEmblemTxdName(ref int netHandle, string txdName);
bool NetworkClanRequestEmblem(int p0);
///
///
@@ -9951,7 +10118,7 @@ public unsafe interface INatives
void NetworkSetEntityOnlyExistsForParticipants(uint entity, bool toggle);
void SetNetworkIdVisibleInCutscene(int netId, bool p1, bool p2);
void SetNetworkIdVisibleInCutsceneHack(int netId, bool p1, bool p2);
- void SetNetworkIdVisibleInCutsceneRemainHack(int p0, int p1);
+ void SetNetworkIdVisibleInCutsceneRemainHack(int p0, int p1, int p2);
void SetNetworkCutsceneEntities(bool toggle);
///
/// Getter for SET_NETWORK_CUTSCENE_ENTITIES.
@@ -9959,6 +10126,8 @@ public unsafe interface INatives
bool AreCutsceneEntitiesNetworked();
void SetNetworkIdPassControlInTutorial(int netId, bool state);
bool IsNetworkIdOwnedByParticipant(int netId);
+ void SetRemotePlayerVisibleInCutscene(IPlayer player, bool locallyVisible);
+ void SetRemotePlayerVisibleInCutscene(uint player, bool locallyVisible);
void SetLocalPlayerVisibleInCutscene(bool p0, bool p1);
void SetLocalPlayerInvisibleLocally(bool bIncludePlayersVehicle);
void SetLocalPlayerVisibleLocally(bool bIncludePlayersVehicle);
@@ -10118,6 +10287,7 @@ public unsafe interface INatives
bool NetworkIsPlayerInMpCutscene(uint player);
void NetworkHideProjectileInCutscene();
void SetNetworkVehicleRespotTimer(int netId, int time, int p2, int p3);
+ bool IsNetworkVehicleRunningRespotTimer(int networkID);
void SetNetworkVehicleAsGhost(IVehicle vehicle, bool toggle);
void SetNetworkVehicleAsGhost(uint vehicle, bool toggle);
///
@@ -10530,6 +10700,7 @@ public unsafe interface INatives
string UgcGetCachedDescription(int p0, int p1);
bool UgcReleaseCachedDescription(int p0);
void UgcReleaseAllCachedDescriptions();
+ bool UgcHasPermissionToWrite();
bool UgcPublish(string contentId, string baseContentId, string contentTypeName);
bool UgcSetBookmarked(string contentId, bool bookmarked, string contentTypeName);
///
@@ -10595,6 +10766,14 @@ public unsafe interface INatives
bool NetworkHasRosPrivilegeEndDate(int privilege, ref int banType, ref int timeData);
bool NetworkHasRosPrivilegePlayedLastGen();
bool NetworkHasRosPrivilegeSpecialEditionContent();
+ ///
+ /// Checks for privilege 29
+ ///
+ bool NetworkHasRosPrivilegeMpTextCommunication();
+ ///
+ /// Checks for privilege 30
+ ///
+ bool NetworkHasRosPrivilegeMpVoiceCommunication();
int NetworkStartCommunicationPermissionsCheck(int p0);
///
///
@@ -10669,8 +10848,8 @@ public unsafe interface INatives
/// Used by NetBlender
///
Vector3 NetworkGetLastVelReceivedOverNetwork(uint entity);
- Vector3 NetworkGetPredictedVelocity(IEntity entity);
- Vector3 NetworkGetPredictedVelocity(uint entity);
+ Vector3 NetworkGetPredictedVelocity(IEntity entity, float maxSpeedToPredict);
+ Vector3 NetworkGetPredictedVelocity(uint entity, float maxSpeedToPredict);
///
/// Does nothing (it's a nullsub).
///
@@ -10708,7 +10887,7 @@ public unsafe interface INatives
///
/// Has to be looped until it returns true.
bool SlideObject(uint @object, float toX, float toY, float toZ, float speedX, float speedY, float speedZ, bool collision);
- void SetObjectTargettable(uint @object, bool targettable);
+ void SetObjectTargettable(uint @object, bool targettable, int p2);
///
/// Overrides a flag on the object which determines if the object should be avoided by a vehicle in task CTaskVehicleGoToPointWithAvoidanceAutomobile.
///
@@ -11139,6 +11318,7 @@ public unsafe interface INatives
///
void SetObjectTintIndex(uint @object, int textureVariation);
bool SetTintIndexClosestBuildingOfType(float x, float y, float z, float radius, uint modelHash, int textureVariation);
+ void SetPropTintIndex(int p0, int p1);
bool SetPropLightColor(uint @object, bool p1, int r, int g, int b);
bool IsPropLightOverriden(uint @object);
void SetObjectIsVisibleInMirrors(uint @object, bool toggle);
@@ -11370,7 +11550,7 @@ public unsafe interface INatives
///
///
/// see IS_CONTROL_ENABLED
- void DisableInputGroup(int control);
+ void AllowAlternativeScriptControlsLayout(int control);
///
/// When nodeEnabled is set to false, all nodes in the area get disabled.
/// If it's true, `GET_VEHICLE_NODE_IS_SWITCHED_OFF` returns false.
@@ -11471,6 +11651,7 @@ public unsafe interface INatives
///
/// seems to be always 1.0f in the scripts
bool GetClosestRoad(float x, float y, float z, float p3, int p4, ref Vector3 p5, ref Vector3 p6, ref int p7, ref int p8, ref float p9, bool p10);
+ bool LoadAllPathNodes(bool set);
void SetAllowStreamPrologueNodes(bool toggle);
///
/// Activates Cayo Perico path nodes if passed `1`. GPS navigation will start working, maybe more stuff will change, not sure. It seems if you try to unload (pass `0`) when close to the island, your game might crash.
@@ -11497,6 +11678,9 @@ public unsafe interface INatives
///
bool GetRandomVehicleNode(float x, float y, float z, float radius, bool p4, bool p5, bool p6, ref Vector3 outPosition, ref int nodeId);
///
+ ///
+ Vector3 GetSpawnCoordsForVehicleNode(int nodeAddress, float towardsCoorsX, float towardsCoorsY, float towardsCoorsZ, ref Vector3 centrePoint, ref float heading);
+ ///
/// Determines the name of the street which is the closest to the given coordinates.
/// Note: the names are returned as hashes, the strings can be returned using the function HUD::GET_STREET_NAME_FROM_HASH_KEY.
///
@@ -12383,6 +12567,10 @@ public unsafe interface INatives
///
/// could be time. Only example in the decompiled scripts uses it as -1.
bool SetPedPinnedDown(uint ped, bool pinned, int i);
+ bool HasPedClearLosToEntity(IPlayer ped, uint entity, float x, float y, float z, int p5, bool p6, bool p7);
+ bool HasPedClearLosToEntity(uint ped, IEntity entity, float x, float y, float z, int p5, bool p6, bool p7);
+ bool HasPedClearLosToEntity(IPlayer ped, IEntity entity, float x, float y, float z, int p5, bool p6, bool p7);
+ bool HasPedClearLosToEntity(uint ped, uint entity, float x, float y, float z, int p5, bool p6, bool p7);
int GetSeatPedIsTryingToEnter(IPlayer ped);
int GetSeatPedIsTryingToEnter(uint ped);
uint GetVehiclePedIsTryingToEnter(IPlayer ped);
@@ -12658,11 +12846,11 @@ public unsafe interface INatives
///
/// damages a ped with the given amount
///
- void ApplyDamageToPed(IPlayer ped, int damageAmount, bool p2, int p3);
+ void ApplyDamageToPed(IPlayer ped, int damageAmount, bool p2, int p3, uint weaponType);
///
/// damages a ped with the given amount
///
- void ApplyDamageToPed(uint ped, int damageAmount, bool p2, int p3);
+ void ApplyDamageToPed(uint ped, int damageAmount, bool p2, int p3, uint weaponType);
int GetTimePedDamagedByWeapon(IPlayer ped, uint weaponHash);
int GetTimePedDamagedByWeapon(uint ped, uint weaponHash);
void SetPedAllowedToDuck(IPlayer ped, bool toggle);
@@ -13910,7 +14098,7 @@ public unsafe interface INatives
/// };
/// See NativeDB for reference: http://natives.altv.mp/#/0x397C38AA7B4A5F83
///
- void ApplyPedDamageDecal(IPlayer ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int unkVariation, bool fadeIn, string decalName);
+ void ApplyPedDamageDecal(IPlayer ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int variation, bool fadeIn, string decalName);
///
/// enum eDamageZone
/// {
@@ -13923,7 +14111,7 @@ public unsafe interface INatives
/// };
/// See NativeDB for reference: http://natives.altv.mp/#/0x397C38AA7B4A5F83
///
- void ApplyPedDamageDecal(uint ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int unkVariation, bool fadeIn, string decalName);
+ void ApplyPedDamageDecal(uint ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int variation, bool fadeIn, string decalName);
///
/// "SCR_TrevorTreeBang"
/// "HOSPITAL_0"
@@ -14002,6 +14190,8 @@ public unsafe interface INatives
/// combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function
///
void SetPedWetnessEnabledThisFrame(uint ped);
+ void SetPedWetness(IPlayer ped, float wetLevel);
+ void SetPedWetness(uint ped, float wetLevel);
void ClearPedEnvDirt(IPlayer ped);
void ClearPedEnvDirt(uint ped);
///
@@ -14130,7 +14320,7 @@ public unsafe interface INatives
///
/// SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0);
void GivePedNmMessage(uint ped);
- int AddScenarioBlockingArea(float x1, float y1, float z1, float x2, float y2, float z2, bool p6, bool p7, bool p8, bool p9);
+ int AddScenarioBlockingArea(float x1, float y1, float z1, float x2, float y2, float z2, bool p6, bool p7, bool p8, bool p9, int p10);
void RemoveScenarioBlockingAreas();
void RemoveScenarioBlockingArea(int p0, bool p1);
void SetScenarioPedsSpawnInSphereArea(float x, float y, float z, float range, int p4);
@@ -14161,6 +14351,8 @@ public unsafe interface INatives
void SetPedShouldIgnoreScenarioNavChecks(int p0, bool p1);
void SetPedShouldProbeForScenarioExitsInOneFrame(int p0, bool p1);
bool IsPedGesturing(int p0);
+ void ResetFacialIdleAnim(IPlayer ped);
+ void ResetFacialIdleAnim(uint ped);
///
/// Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json
///
@@ -15877,6 +16069,10 @@ public unsafe interface INatives
/// 3 = Free Aim
///
void SetPlayerTargetingMode(int targetMode);
+ ///
+ /// Returns targeting mode. See SET_PLAYER_TARGETING_MODE
+ ///
+ int GetPlayerTargetingMode();
void SetPlayerTargetLevel(int targetLevel);
///
/// Returns profile setting 237.
@@ -16147,6 +16343,14 @@ public unsafe interface INatives
float GetPlayerHealthRechargeMaxPercent(uint player);
void SetPlayerHealthRechargeMaxPercent(IPlayer player, float limit);
void SetPlayerHealthRechargeMaxPercent(uint player, float limit);
+ ///
+ /// Needs to be called every frame.
+ ///
+ void DisablePlayerHealthRecharge(IPlayer player);
+ ///
+ /// Needs to be called every frame.
+ ///
+ void DisablePlayerHealthRecharge(uint player);
void SetPlayerFallDistanceToTriggerRagdollOverride(IPlayer player, float p1);
void SetPlayerFallDistanceToTriggerRagdollOverride(uint player, float p1);
///
@@ -16392,7 +16596,7 @@ public unsafe interface INatives
///
/// is in increments of 100s. 2000, 500, 300, 200, etc.
/// is always 1 and p5 is always 0.
- void SimulatePlayerInputGait(IPlayer player, float amount, int gaitType, float speed, bool p4, bool p5);
+ void SimulatePlayerInputGait(IPlayer player, float amount, int gaitType, float speed, bool p4, bool p5, int p6);
///
/// This is to make the player walk without accepting input from INPUT.
/// C# Example :
@@ -16400,7 +16604,7 @@ public unsafe interface INatives
///
/// is in increments of 100s. 2000, 500, 300, 200, etc.
/// is always 1 and p5 is always 0.
- void SimulatePlayerInputGait(uint player, float amount, int gaitType, float speed, bool p4, bool p5);
+ void SimulatePlayerInputGait(uint player, float amount, int gaitType, float speed, bool p4, bool p5, int p6);
void ResetPlayerInputGait(IPlayer player);
void ResetPlayerInputGait(uint player);
void SetAutoGiveParachuteWhenEnterPlane(IPlayer player, bool toggle);
@@ -16690,6 +16894,11 @@ public unsafe interface INatives
int BgGetLaunchParamValue(int scriptIndex, string p1);
int BgGetScriptIdFromNameHash(uint p0);
///
+ /// New variant of SEND_TU_SCRIPT_EVENT that automatically initializes the event data header.
+ /// See TRIGGER_SCRIPT_EVENT for more info.
+ ///
+ void SendTuScriptEventNew(int eventGroup, ref int eventData, int eventDataSize, int playerBits, uint eventType);
+ ///
/// Asynchronously starts a line-of-sight (raycast) world probe shape test.
///
/// is a bit mask with bits 1, 2 and/or 4, relating to collider types; 4 should usually be used.
@@ -16772,9 +16981,7 @@ public unsafe interface INatives
///
bool ScInboxMessageGetDataInt(int p0, string context, ref int @out);
bool ScInboxMessageGetDataBool(int p0, string p1);
- ///
- ///
- bool ScInboxMessageGetDataString(int p0, string context, ref string @out);
+ bool ScInboxMessageGetDataString(int p0, string context, string @out);
bool ScInboxMessageDoApply(int p0);
string ScInboxMessageGetRawTypeAtIndex(int p0);
///
@@ -16788,9 +16995,6 @@ public unsafe interface INatives
bool ScInboxMessageGetUgcdata(int p0, ref int p1);
///
///
- bool ScInboxSendBountyToRecipList(ref int data);
- ///
- ///
bool ScInboxGetBountyDataAtIndex(int index, ref int outData);
void ScEmailRetrieveEmails(int offset, int limit);
int ScEmailGetRetrievalStatus();
@@ -16821,9 +17025,7 @@ public unsafe interface INatives
///
bool ScGamerdataGetFloat(string name, ref float value);
bool ScGamerdataGetBool(string name);
- ///
- ///
- bool ScGamerdataGetString(string name, ref string value);
+ bool ScGamerdataGetString(string name, string value);
///
///
bool ScGamerdataGetActiveXpBonus(ref float value);
@@ -16868,12 +17070,8 @@ public unsafe interface INatives
///
///
bool ScCommunityEventGetExtraDataFloat(string p0, ref float p1);
- ///
- ///
- bool ScCommunityEventGetExtraDataString(string p0, ref string p1);
- ///
- ///
- bool ScCommunityEventGetDisplayName(ref string p0);
+ bool ScCommunityEventGetExtraDataString(string p0, string p1);
+ bool ScCommunityEventGetDisplayName(string p0);
bool ScCommunityEventIsActiveForType(string p0);
int ScCommunityEventGetEventIdForType(string p0);
///
@@ -16882,12 +17080,8 @@ public unsafe interface INatives
///
///
bool ScCommunityEventGetExtraDataFloatForType(string p0, ref float p1, string p2);
- ///
- ///
- bool ScCommunityEventGetExtraDataStringForType(string p0, ref string p1, string p2);
- ///
- ///
- bool ScCommunityEventGetDisplayNameForType(ref string p0, string p1);
+ bool ScCommunityEventGetExtraDataStringForType(string p0, string p1, string p2);
+ bool ScCommunityEventGetDisplayNameForType(string p0, string p1);
bool ScCommunityEventIsActiveById(int p0);
///
///
@@ -16895,12 +17089,8 @@ public unsafe interface INatives
///
///
bool ScCommunityEventGetExtraDataFloatById(int p0, string p1, ref float p2);
- ///
- ///
- bool ScCommunityEventGetExtraDataStringById(int p0, string p1, ref string p2);
- ///
- ///
- bool ScCommunityEventGetDisplayNameById(int p0, ref string p1);
+ bool ScCommunityEventGetExtraDataStringById(int p0, string p1, string p2);
+ bool ScCommunityEventGetDisplayNameById(int p0, string p1);
bool ScTransitionNewsShow(int p0);
bool ScTransitionNewsShowTimed(int p0, int p1);
bool ScTransitionNewsShowNextItem();
@@ -16954,6 +17144,10 @@ public unsafe interface INatives
void StatClearDirtyReadDetected();
bool StatGetLoadSafeToProgressToMpFromSp();
///
+ /// Returns stat hash based on dataType, statIndex/statId and characterSlot. Related to CStatsMpCharacterMappingData
+ ///
+ uint GetStatHashForCharacterStat(int dataType, int statIndex, int charSlot);
+ ///
/// Example:
/// STATS::STAT_SET_INT(MISC::GET_HASH_KEY("MPPLY_KILLS_PLAYERS"), 1337, true);
///
@@ -17081,14 +17275,25 @@ public unsafe interface INatives
///
/// - values used in the decompiled scripts:
uint GetPackedNgIntStatKey(int index, bool spStat, bool charStat, int character, string section);
+ bool GetPackedStatBoolCode(int index, int characterSlot);
int GetPackedStatIntCode(int index, int characterSlot);
+ void SetPackedStatBoolCode(int index, bool value, int characterSlot);
void SetPackedStatIntCode(int index, int value, int characterSlot);
void PlaystatsBackgroundScriptAction(string action, int value);
+ ///
+ ///
+ /// VehicleConversion, SCAdminCashGift
+ /// 0
+ void PlaystatsFlowLow(float posX, float posY, float posZ, string p3, int p4, int amount);
+ ///
+ ///
+ /// can either be InteriorEntry or InteriorExit
+ void PlaystatsFlowMedium(float x, float y, float z, string interiorAction, int p4, uint p5);
void PlaystatsNpcInvite(string p0);
void PlaystatsAwardXp(int amount, uint type, uint category);
void PlaystatsRankUp(int rank);
void PlaystatsStartedSessionInOfflinemode();
- void PlaystatsActivityDone(int p0, int activityId);
+ void PlaystatsActivityDone(int p0, int activityId, int p2);
void PlaystatsLeaveJobChain(int p0, int p1, int p2, int p3, int p4);
void PlaystatsMissionStarted(string p0, int p1, int p2, bool p3);
void PlaystatsMissionOver(string p0, int p1, int p2, bool p3, bool p4, bool p5);
@@ -17145,6 +17350,7 @@ public unsafe interface INatives
void PlaystatsAppendDirectorMetric(ref int p0);
void PlaystatsAwardBadSport(int id);
void PlaystatsPegasusAsPersonalAircraft(uint modelHash);
+ void PlaystatsShopmenuNav(int p0, int p1, int p2, int p3);
void PlaystatsFmEventChallenges(int p0);
void PlaystatsFmEventVehicletarget(int p0);
void PlaystatsFmEventUrbanwarfare(int p0);
@@ -17177,9 +17383,6 @@ public unsafe interface INatives
bool Leaderboards2ReadByHandle(ref int p0, ref int p1);
///
///
- bool Leaderboards2ReadByRow(ref int p0, ref int p1, int p2, ref int p3, int p4, ref int p5, int p6);
- ///
- ///
bool Leaderboards2ReadByRank(ref int p0, int p1, int p2);
///
///
@@ -17388,9 +17591,9 @@ public unsafe interface INatives
///
void PlaystatsRecoverContrabandMission(ref int data);
void PlaystatsHitContrabandDestroyLimit(int p0);
- void StartBeingBoss(int p0);
+ void StartBeingBoss(int p0, int p1, int p2);
void StartBeingGoon(int p0, int p1, int p2);
- void EndBeingBoss(int p0, int p1);
+ void EndBeingBoss(int p0, int p1, int p2);
void EndBeingGoon(int p0, int p1, int p2, int p3, int p4);
void HiredLimo(int p0, int p1);
void OrderBossVehicle(int p0, int p1, uint vehicleHash);
@@ -17479,7 +17682,9 @@ public unsafe interface INatives
void PlaystatsFreemodeCasinoMissionEnded(ref int data);
void PlaystatsHeist3Drone(int p0);
void PlaystatsHeist3Hack(int p0, int p1, int p2, int p3, int p4, int p5);
- void PlaystatsNpcPhone(int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12);
+ ///
+ ///
+ void PlaystatsNpcPhone(ref int p0);
void PlaystatsArcadeCabinet(int p0);
void PlaystatsHeist3Finale(int p0);
void PlaystatsHeist3Prep(int p0);
@@ -17488,7 +17693,7 @@ public unsafe interface INatives
void PlaystatsMissionVote(int p0);
void PlaystatsNjvsVote(int p0);
void PlaystatsKillYourself();
- void PlaystatsFmMissionEnd(int p0, int p1, int p2);
+ void PlaystatsFmMissionEnd(int p0, int p1, int p2, int p3);
void PlaystatsHeist4Prep(int p0);
void PlaystatsHeist4Finale(int p0);
void PlaystatsHeist4Hack(int p0, int p1, int p2, int p3, int p4);
@@ -17505,7 +17710,22 @@ public unsafe interface INatives
void PlaystatsAwardNav(int p0, int p1, int p2, int p3);
void PlaystatsInstMissionEnd(int p0);
void PlaystatsHubExit(int p0);
+ void PlaystatsVehDel(int bossId1, int bossId2, int bossType, int vehicleID, int reason);
void PlaystatsInventory(int p0);
+ void PlaystatsAcidMissionEnd(int p0);
+ void PlaystatsAcidRnd(int p0);
+ void PlaystatsIdle(int p0, int p1, int p2);
+ void PlaystatsPlayerStyle(int p0);
+ void PlaystatsRandomEvent(int p0);
+ ///
+ ///
+ void PlaystatsAlert(ref int data);
+ void PlaystatsAttritionStageEnd(int p0);
+ void PlaystatsShowroomNav(int p0, int p1, uint entity);
+ ///
+ ///
+ /// struct contains various tunables related to test drives at Simeons Showroom or Luxury Showcase.
+ void PlaystatsShowroomOverview(ref int data);
void LoadAllObjectsNow();
void LoadScene(float x, float y, float z);
bool NetworkUpdateLoadScene();
@@ -17984,7 +18204,7 @@ public unsafe interface INatives
/// 1.0 = walk, 2.0 = run
/// 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle
/// is always 0
- void TaskEnterVehicle(IPlayer ped, uint vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName);
+ void TaskEnterVehicle(IPlayer ped, uint vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName, int p7);
///
/// Usage of seat
/// -1 = driver
@@ -17998,7 +18218,7 @@ public unsafe interface INatives
/// 1.0 = walk, 2.0 = run
/// 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle
/// is always 0
- void TaskEnterVehicle(uint ped, IVehicle vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName);
+ void TaskEnterVehicle(uint ped, IVehicle vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName, int p7);
///
/// Usage of seat
/// -1 = driver
@@ -18012,7 +18232,7 @@ public unsafe interface INatives
/// 1.0 = walk, 2.0 = run
/// 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle
/// is always 0
- void TaskEnterVehicle(IPlayer ped, IVehicle vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName);
+ void TaskEnterVehicle(IPlayer ped, IVehicle vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName, int p7);
///
/// Usage of seat
/// -1 = driver
@@ -18026,7 +18246,7 @@ public unsafe interface INatives
/// 1.0 = walk, 2.0 = run
/// 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle
/// is always 0
- void TaskEnterVehicle(uint ped, uint vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName);
+ void TaskEnterVehicle(uint ped, uint vehicle, int timeout, int seat, float speed, int flag, string overrideEntryClipsetName, int p7);
///
/// 0 = normal exit and closes door.
/// 1 = normal exit and closes door.
@@ -20208,12 +20428,12 @@ public unsafe interface INatives
/// Attaches a ped to a rope and allows player control to rappel down a wall. Disables all collisions while on the rope.
///
/// Usually 1 in the scripts, clipSet: Clipset to use for the task, minZ: Minimum Z that the player can descend to, ropeHandle: Rope to attach this task to created with ADD_ROPE
- void TaskRappelDownWallUsingClipsetOverride(IPlayer ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, string clipSet, int p10);
+ void TaskRappelDownWallUsingClipsetOverride(IPlayer ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, string clipSet, int p10, int p11);
///
/// Attaches a ped to a rope and allows player control to rappel down a wall. Disables all collisions while on the rope.
///
/// Usually 1 in the scripts, clipSet: Clipset to use for the task, minZ: Minimum Z that the player can descend to, ropeHandle: Rope to attach this task to created with ADD_ROPE
- void TaskRappelDownWallUsingClipsetOverride(uint ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, string clipSet, int p10);
+ void TaskRappelDownWallUsingClipsetOverride(uint ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, string clipSet, int p10, int p11);
int GetTaskRappelDownWallState(IPlayer ped);
int GetTaskRappelDownWallState(uint ped);
///
@@ -21204,8 +21424,8 @@ public unsafe interface INatives
bool SetExpectedCloneNextTaskMoveNetworkState(uint ped, string state);
string GetTaskMoveNetworkState(IPlayer ped);
string GetTaskMoveNetworkState(uint ped);
- void SetTaskMoveNetworkAnimSet(IPlayer ped, uint clipSet, uint unkVariableClipSet);
- void SetTaskMoveNetworkAnimSet(uint ped, uint clipSet, uint unkVariableClipSet);
+ void SetTaskMoveNetworkAnimSet(IPlayer ped, uint clipSet, uint variableClipSet);
+ void SetTaskMoveNetworkAnimSet(uint ped, uint clipSet, uint variableClipSet);
///
/// Example: TASK::SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT(PLAYER::PLAYER_PED_ID(), "Phase", 0.5);
///
@@ -21238,6 +21458,8 @@ public unsafe interface INatives
///
/// Doesn't actually return anything.
bool SetTaskMoveNetworkEnableCollisionOnNetworkCloneWhenFixed(uint ped, bool enable);
+ void SetScriptTaskEnableCollisionOnNetworkCloneWhenFixed(IPlayer ped, bool enable);
+ void SetScriptTaskEnableCollisionOnNetworkCloneWhenFixed(uint ped, bool enable);
bool IsMoveBlendRatioStill(IPlayer ped);
bool IsMoveBlendRatioStill(uint ped);
bool IsMoveBlendRatioWalking(IPlayer ped);
@@ -21595,6 +21817,18 @@ public unsafe interface INatives
void SetVehicleDontTerminateTaskWhenAchieved(IVehicle vehicle);
void SetVehicleDontTerminateTaskWhenAchieved(uint vehicle);
///
+ /// 0.0f = engine rev minimum
+ /// 1.0f = engine rev limit
+ ///
+ void SetVehicleMaxLaunchEngineRevs(IVehicle vehicle, float modifier);
+ ///
+ /// 0.0f = engine rev minimum
+ /// 1.0f = engine rev limit
+ ///
+ void SetVehicleMaxLaunchEngineRevs(uint vehicle, float modifier);
+ float GetVehicleThrottle(IVehicle vehicle);
+ float GetVehicleThrottle(uint vehicle);
+ ///
/// Explodes a selected vehicle.
/// BOOL isAudible = If explosion makes a sound.
/// BOOL isInvisible = If the explosion is invisible or not.
@@ -21627,6 +21861,8 @@ public unsafe interface INatives
void ClearVehiclePhoneExplosiveDevice();
bool HasVehiclePhoneExplosiveDevice();
void DetonateVehiclePhoneExplosiveDevice();
+ bool HaveVehicleRearDoorsBeenBlownOpenByStickybomb(IVehicle vehicle);
+ bool HaveVehicleRearDoorsBeenBlownOpenByStickybomb(uint vehicle);
///
/// This is not tested - it's just an assumption.
/// - Nac
@@ -21777,6 +22013,14 @@ public unsafe interface INatives
int GetSubmarineNumberOfAirLeaks(IVehicle submarine);
int GetSubmarineNumberOfAirLeaks(uint submarine);
void SetBoatIgnoreLandProbes(int p0, int p1);
+ ///
+ /// Use the vehicle bounds (instead of viewport) when deciding if a vehicle is sufficiently above the water (waterheight.dat), bypassing wave simulation checks
+ ///
+ void SetBoundsAffectWaterProbes(IVehicle vehicle, bool toggle);
+ ///
+ /// Use the vehicle bounds (instead of viewport) when deciding if a vehicle is sufficiently above the water (waterheight.dat), bypassing wave simulation checks
+ ///
+ void SetBoundsAffectWaterProbes(uint vehicle, bool toggle);
void SetBoatAnchor(IVehicle vehicle, bool toggle);
void SetBoatAnchor(uint vehicle, bool toggle);
bool CanAnchorBoatHere(IVehicle vehicle);
@@ -21962,6 +22206,8 @@ public unsafe interface INatives
/// Returns true if vehicle is halted by BRING_VEHICLE_TO_HALT
///
bool IsVehicleBeingBroughtToHalt(uint vehicle);
+ void LowerForkliftForks(IVehicle forklift);
+ void LowerForkliftForks(uint forklift);
///
/// 0.0 = Lowest 1.0 = Highest. This is best to be used if you wanna pick-up a car since un-realistically on GTA V forklifts can't pick up much of anything due to vehicle mass. If you put this under a car then set it above 0.0 to a 'lifted-value' it will raise the car with no issue lol
///
@@ -22448,7 +22694,7 @@ public unsafe interface INatives
/// freightcont2
/// freighttrailer
///
- uint CreateMissionTrain(int unkVariation, float x, float y, float z, bool direction, int p5, int p6);
+ uint CreateMissionTrain(int variation, float x, float y, float z, bool direction, int p5, int p6);
///
/// Toggles whether ambient trains can spawn on the specified track or not
/// `trackId` is the internal id of the train track to switch.
@@ -23631,6 +23877,13 @@ public unsafe interface INatives
bool IsAnyVehicleNearPoint(float x, float y, float z, float radius);
void RequestVehicleHighDetailModel(IVehicle vehicle);
void RequestVehicleHighDetailModel(uint vehicle);
+ int GetVehicleModelNumDriveGears(uint vehicleModel);
+ int GetVehicleMaxDriveGearCount(IVehicle vehicle);
+ int GetVehicleMaxDriveGearCount(uint vehicle);
+ int GetVehicleCurrentDriveGear(IVehicle vehicle);
+ int GetVehicleCurrentDriveGear(uint vehicle);
+ float GetVehicleCurrentRevRatio(IVehicle vehicle);
+ float GetVehicleCurrentRevRatio(uint vehicle);
void RemoveVehicleHighDetailModel(IVehicle vehicle);
void RemoveVehicleHighDetailModel(uint vehicle);
bool IsVehicleHighDetail(IVehicle vehicle);
@@ -23653,6 +23906,10 @@ public unsafe interface INatives
/// Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.
///
void SetVehicleTowTruckArmPosition(uint vehicle, float position);
+ void SetAttachedVehicleToTowTruckArm(IVehicle towTruck, uint vehicle);
+ void SetAttachedVehicleToTowTruckArm(uint towTruck, IVehicle vehicle);
+ void SetAttachedVehicleToTowTruckArm(IVehicle towTruck, IVehicle vehicle);
+ void SetAttachedVehicleToTowTruckArm(uint towTruck, uint vehicle);
///
/// HookOffset defines where the hook is attached. leave at 0 for default attachment.
///
@@ -23796,6 +24053,8 @@ public unsafe interface INatives
void SetVehicleIndicatorLights(uint vehicle, int turnSignal, bool toggle);
void SetVehicleBrakeLights(IVehicle vehicle, bool toggle);
void SetVehicleBrakeLights(uint vehicle, bool toggle);
+ void SetVehicleTailLights(IVehicle vehicle, bool toggle);
+ void SetVehicleTailLights(uint vehicle, bool toggle);
void SetVehicleHandbrake(IVehicle vehicle, bool toggle);
void SetVehicleHandbrake(uint vehicle, bool toggle);
void SetVehicleBrake(IVehicle vehicle, bool toggle);
@@ -23815,6 +24074,8 @@ public unsafe interface INatives
/// Gets the trailer of a vehicle and puts it into the trailer parameter.
///
bool GetVehicleTrailerVehicle(uint vehicle, ref uint trailer);
+ uint GetVehicleTrailerParentVehicle(IVehicle trailer);
+ uint GetVehicleTrailerParentVehicle(uint trailer);
///
///
/// must be a plane
@@ -24360,6 +24621,10 @@ public unsafe interface INatives
/// Used for helis.
///
void OverridePlaneDamageThrehsold(uint vehicle, float health);
+ void SetTransmissionReducedGearRatio(IVehicle vehicle, bool toggle);
+ void SetTransmissionReducedGearRatio(uint vehicle, bool toggle);
+ int GetVehicleDesiredDriveGear(IVehicle vehicle);
+ int GetVehicleDesiredDriveGear(uint vehicle);
///
/// From the driver's perspective, is the left headlight broken.
///
@@ -24726,10 +24991,10 @@ public unsafe interface INatives
///
uint GetVehicleAttachedToCargobob(uint cargobob);
uint GetEntityAttachedToCargobob(int p0);
- void AttachVehicleToCargobob(IVehicle vehicle, uint cargobob, int p2, float x, float y, float z);
- void AttachVehicleToCargobob(uint vehicle, IVehicle cargobob, int p2, float x, float y, float z);
- void AttachVehicleToCargobob(IVehicle vehicle, IVehicle cargobob, int p2, float x, float y, float z);
- void AttachVehicleToCargobob(uint vehicle, uint cargobob, int p2, float x, float y, float z);
+ void AttachVehicleToCargobob(IVehicle cargobob, uint vehicle, int p2, float x, float y, float z);
+ void AttachVehicleToCargobob(uint cargobob, IVehicle vehicle, int p2, float x, float y, float z);
+ void AttachVehicleToCargobob(IVehicle cargobob, IVehicle vehicle, int p2, float x, float y, float z);
+ void AttachVehicleToCargobob(uint cargobob, uint vehicle, int p2, float x, float y, float z);
void AttachEntityToCargobob(int p0, int p1, int p2, int p3, int p4, int p5);
///
/// Stops cargobob from being able to detach the attached vehicle.
@@ -25388,6 +25653,7 @@ public unsafe interface INatives
/// Used for blazer5. Changes the quadbike-jetski transformation input from raise/lower convertible roof (hold H by default) to horn (press E by default.)
///
void SetVehicleUseBoostButtonForWheelRetract(bool toggle);
+ void SetVehicleUseHornButtonForNitrous(bool toggle);
///
/// Parachute models:
/// - sr_prop_specraces_para_s_01
@@ -25655,6 +25921,10 @@ public unsafe interface INatives
/// Only used with the "akula" and "annihilator2" in the decompiled native scripts.
///
bool AreFoldingWingsDeployed(uint vehicle);
+ void SetDeployMissileBays(IVehicle vehicle, bool deploy);
+ void SetDeployMissileBays(uint vehicle, bool deploy);
+ bool AreMissileBaysDeployed(IVehicle vehicle);
+ bool AreMissileBaysDeployed(uint vehicle);
void SetDipStraightDownWhenCrashingPlane(IVehicle vehicle, bool toggle);
void SetDipStraightDownWhenCrashingPlane(uint vehicle, bool toggle);
///
@@ -25720,6 +25990,28 @@ public unsafe interface INatives
void SetDisableVehicleExplosionsDamage(bool toggle);
void SetOverrideNitrousLevel(IVehicle vehicle, bool toggle, float level, float power, float rechargeTime, bool disableSound);
void SetOverrideNitrousLevel(uint vehicle, bool toggle, float level, float power, float rechargeTime, bool disableSound);
+ void SetNitrousIsActive(IVehicle vehicle, bool enabled);
+ void SetNitrousIsActive(uint vehicle, bool enabled);
+ void SetOverrideTractionLossMultiplier(IVehicle vehicle, float modifier);
+ void SetOverrideTractionLossMultiplier(uint vehicle, float modifier);
+ ///
+ /// First two floats relate to rumble, the last is a threshold
+ ///
+ void SetDriftSlipAngleLimits(IVehicle vehicle, float durationScalar, float amplitudeScalar, float slipAngleLimit);
+ ///
+ /// First two floats relate to rumble, the last is a threshold
+ ///
+ void SetDriftSlipAngleLimits(uint vehicle, float durationScalar, float amplitudeScalar, float slipAngleLimit);
+ void SetMinimumTimeBetweenGearShifts(IVehicle vehicle, int time);
+ void SetMinimumTimeBetweenGearShifts(uint vehicle, int time);
+ void FullyChargeNitrous(IVehicle vehicle);
+ void FullyChargeNitrous(uint vehicle);
+ float GetRemainingNitrousDuration(IVehicle vehicle);
+ float GetRemainingNitrousDuration(uint vehicle);
+ bool IsNitrousActive(IVehicle vehicle);
+ bool IsNitrousActive(uint vehicle);
+ void ClearNitrous(IVehicle vehicle);
+ void ClearNitrous(uint vehicle);
void SetIncreaseWheelCrushDamage(IVehicle vehicle, bool toggle);
void SetIncreaseWheelCrushDamage(uint vehicle, bool toggle);
///
@@ -25746,6 +26038,8 @@ public unsafe interface INatives
/// Disables detachable bumber from domnator4, dominator5, dominator6, see https://gfycat.com/SecondUnluckyGosling
///
void HideTombstone(uint vehicle, bool toggle);
+ void ApplyEmpEffect(IVehicle vehicle);
+ void ApplyEmpEffect(uint vehicle);
///
/// Returns whether this vehicle is currently disabled by an EMP mine.
///
@@ -25844,6 +26138,32 @@ public unsafe interface INatives
///
void SetTyreWearRate(uint vehicle, int wheelIndex, float multiplier);
///
+ /// Controls how fast the tires wear out.
+ /// Default values from Rockstar's Open Wheel Race JSON's:
+ /// "owrtss" (Soft): 2.2
+ /// "owrtsm" (Medium): 1.7
+ /// "owrtsh" (Hard): 1.2
+ /// Usable wheels:
+ /// 0: wheel_lf
+ /// 1: wheel_rf
+ /// 2: wheel_lm1
+ /// See NativeDB for reference: http://natives.altv.mp/#/0x392183BB9EA57697
+ ///
+ void SetTyreWearRateScale(IVehicle vehicle, int wheelIndex, float multiplier);
+ ///
+ /// Controls how fast the tires wear out.
+ /// Default values from Rockstar's Open Wheel Race JSON's:
+ /// "owrtss" (Soft): 2.2
+ /// "owrtsm" (Medium): 1.7
+ /// "owrtsh" (Hard): 1.2
+ /// Usable wheels:
+ /// 0: wheel_lf
+ /// 1: wheel_rf
+ /// 2: wheel_lm1
+ /// See NativeDB for reference: http://natives.altv.mp/#/0x392183BB9EA57697
+ ///
+ void SetTyreWearRateScale(uint vehicle, int wheelIndex, float multiplier);
+ ///
/// Controls how much traction the wheel loses.
/// Default values from Rockstar's Open Wheel Race JSON's:
/// "owrtds" (Soft): 0.05
@@ -25900,6 +26220,22 @@ public unsafe interface INatives
///
void SetCheckForEnoughRoomForPed(uint vehicle, bool p1);
///
+ /// _SET_ALLOW_R* - _SET_ALLOW_V*
+ ///
+ void SetAllowCollisionWhenInVehicle(IVehicle vehicle, bool toggle);
+ ///
+ /// _SET_ALLOW_R* - _SET_ALLOW_V*
+ ///
+ void SetAllowCollisionWhenInVehicle(uint vehicle, bool toggle);
+ bool IsVehicleGen9ExclusiveModel(uint vehicleModel);
+ int GetVehicleMaxExhaustBoneCount();
+ ///
+ ///
+ bool GetVehicleExhaustBone(IVehicle vehicle, int index, ref int boneIndex, ref bool axisX);
+ ///
+ ///
+ bool GetVehicleExhaustBone(uint vehicle, int index, ref int boneIndex, ref bool axisX);
+ ///
/// This function set height to the value of z-axis of the water surface.
/// note: seems to return true when you are in water
///
@@ -26671,6 +27007,7 @@ public unsafe interface INatives
uint SetPedShootOrdnanceWeapon(uint ped, float p1);
void RequestWeaponHighDetailModel(IEntity weaponObject);
void RequestWeaponHighDetailModel(uint weaponObject);
+ void SetWeaponPedDamageModifier(uint weapon, float damageModifier);
///
/// Changes the weapon damage output by the given multiplier value. Must be run every frame.
/// Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json
@@ -26924,6 +27261,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__freeMemoryForHighQualityPhoto;
private delegate* unmanaged[Cdecl] fn__setTakenPhotoIsMugshot;
private delegate* unmanaged[Cdecl] fn__setArenaThemeAndVariationForTakenPhoto;
+ private delegate* unmanaged[Cdecl] fn__setOnIslandXForTakenPhoto;
private delegate* unmanaged[Cdecl] fn__saveHighQualityPhoto;
private delegate* unmanaged[Cdecl] fn__getStatusOfSaveHighQualityPhoto;
private delegate* unmanaged[Cdecl] fn__beginCreateLowQualityCopyOfPhoto;
@@ -27106,6 +27444,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__startParticleFxNonLoopedOnEntityBone;
private delegate* unmanaged[Cdecl] fn__setParticleFxNonLoopedColour;
private delegate* unmanaged[Cdecl] fn__setParticleFxNonLoopedAlpha;
+ private delegate* unmanaged[Cdecl] fn__setParticleFxNonLoopedScale;
private delegate* unmanaged[Cdecl] fn__setParticleFxNonLoopedEmitterSize;
private delegate* unmanaged[Cdecl] fn__setParticleFxForceVehicleInterior;
private delegate* unmanaged[Cdecl] fn__startParticleFxLoopedAtCoord;
@@ -27126,6 +27465,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setParticleFxLoopedAlpha;
private delegate* unmanaged[Cdecl] fn__setParticleFxLoopedScale;
private delegate* unmanaged[Cdecl] fn__setParticleFxLoopedFarClipDist;
+ private delegate* unmanaged[Cdecl] fn__setParticleFxLoopedCameraBias;
private delegate* unmanaged[Cdecl] fn__setParticleFxCamInsideVehicle;
private delegate* unmanaged[Cdecl] fn__setParticleFxCamInsideNonplayerVehicle;
private delegate* unmanaged[Cdecl] fn__setParticleFxShootoutBoat;
@@ -27144,10 +27484,12 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setParticleFxFootOverrideName;
private delegate* unmanaged[Cdecl] fn__setSkidmarkRangeScale;
private delegate* unmanaged[Cdecl] fn__setPtfxForceVehicleInteriorFlag;
+ private delegate* unmanaged[Cdecl] fn__registerPostfxBulletImpact;
private delegate* unmanaged[Cdecl] fn__forcePostfxBulletImpactsAfterHud;
private delegate* unmanaged[Cdecl] fn__useParticleFxAsset;
private delegate* unmanaged[Cdecl] fn__setParticleFxOverride;
private delegate* unmanaged[Cdecl] fn__resetParticleFxOverride;
+ private delegate* unmanaged[Cdecl] fn__startVehicleParticleFxLooped;
private delegate* unmanaged[Cdecl] fn__setWeatherPtfxUseOverrideSettings;
private delegate* unmanaged[Cdecl] fn__setWeatherPtfxOverrideCurrLevel;
private delegate* unmanaged[Cdecl] fn__washDecalsInRange;
@@ -27189,8 +27531,10 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__renderShadowedLightsWithNoShadows;
private delegate* unmanaged[Cdecl] fn__requestEarlyLightCheck;
private delegate* unmanaged[Cdecl] fn__useSnowFootVfxWhenUnsheltered;
+ private delegate* unmanaged[Cdecl] fn__forceAllowSnowFootVfxOnIce;
private delegate* unmanaged[Cdecl] fn__useSnowWheelVfxWhenUnsheltered;
private delegate* unmanaged[Cdecl] fn__disableRegionVfx;
+ private delegate* unmanaged[Cdecl] fn__forceGroundSnowPass;
private delegate* unmanaged[Cdecl] fn__presetInteriorAmbientCache;
private delegate* unmanaged[Cdecl] fn__setTimecycleModifier;
private delegate* unmanaged[Cdecl] fn__setTimecycleModifierStrength;
@@ -27213,6 +27557,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__enableMoonCycleOverride;
private delegate* unmanaged[Cdecl] fn__disableMoonCycleOverride;
private delegate* unmanaged[Cdecl] fn__requestScaleformMovie;
+ private delegate* unmanaged[Cdecl] fn__requestScaleformMovieWithIgnoreSuperWidescreen;
private delegate* unmanaged[Cdecl] fn__requestScaleformMovieInstance;
private delegate* unmanaged[Cdecl] fn__requestScaleformMovieSkipRenderWhilePaused;
private delegate* unmanaged[Cdecl] fn__hasScaleformMovieLoaded;
@@ -27265,6 +27610,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__drawTvChannel;
private delegate* unmanaged[Cdecl] fn__setTvChannelPlaylist;
private delegate* unmanaged[Cdecl] fn__setTvChannelPlaylistAtHour;
+ private delegate* unmanaged[Cdecl] fn__setTvChannelPlaylistDirty;
private delegate* unmanaged[Cdecl] fn__clearTvChannelPlaylist;
private delegate* unmanaged[Cdecl] fn__isPlaylistOnChannel;
private delegate* unmanaged[Cdecl] fn__isTvshowCurrentlyPlaying;
@@ -27291,6 +27637,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__stopPedRingtone;
private delegate* unmanaged[Cdecl] fn__isMobilePhoneCallOngoing;
private delegate* unmanaged[Cdecl] fn__isMobileInterferenceActive;
+ private delegate* unmanaged[Cdecl] fn__getCurrentTvShowPlayTime;
private delegate* unmanaged[Cdecl] fn__createNewScriptedConversation;
private delegate* unmanaged[Cdecl] fn__addLineToConversation;
private delegate* unmanaged[Cdecl] fn__addPedToConversation;
@@ -27496,6 +27843,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__playVehicleDoorOpenSound;
private delegate* unmanaged[Cdecl] fn__playVehicleDoorCloseSound;
private delegate* unmanaged[Cdecl] fn__enableStallWarningSounds;
+ private delegate* unmanaged[Cdecl] fn__enableDragRaceStationaryWarningSounds;
private delegate* unmanaged[Cdecl] fn__isGameInControlOfMusic;
private delegate* unmanaged[Cdecl] fn__setGpsActive;
private delegate* unmanaged[Cdecl] fn__playMissionCompleteAudio;
@@ -27615,6 +27963,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setCamDofFocusDistanceBias;
private delegate* unmanaged[Cdecl] fn__setCamDofMaxNearInFocusDistance;
private delegate* unmanaged[Cdecl] fn__setCamDofMaxNearInFocusDistanceBlendLevel;
+ private delegate* unmanaged[Cdecl] fn__setCamDofShouldKeepLookAtTargetInFocus;
private delegate* unmanaged[Cdecl] fn__attachCamToEntity;
private delegate* unmanaged[Cdecl] fn__attachCamToPedBone;
private delegate* unmanaged[Cdecl] fn__hardAttachCamToPedBone;
@@ -27719,6 +28068,8 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setThirdPersonCamRelativeHeadingLimitsThisUpdate;
private delegate* unmanaged[Cdecl] fn__setThirdPersonCamRelativePitchLimitsThisUpdate;
private delegate* unmanaged[Cdecl] fn__setThirdPersonCamOrbitDistanceLimitsThisUpdate;
+ private delegate* unmanaged[Cdecl] fn__getThirdPersonCamMinOrbitDistanceSpring;
+ private delegate* unmanaged[Cdecl] fn__getThirdPersonCamMaxOrbitDistanceSpring;
private delegate* unmanaged[Cdecl] fn__setInVehicleCamStateThisUpdate;
private delegate* unmanaged[Cdecl] fn__disableOnFootFirstPersonViewThisUpdate;
private delegate* unmanaged[Cdecl] fn__disableFirstPersonFlashEffectThisUpdate;
@@ -27853,6 +28204,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__getCutsceneTime;
private delegate* unmanaged[Cdecl] fn__getCutsceneTotalDuration;
private delegate* unmanaged[Cdecl] fn__getCutsceneEndTime;
+ private delegate* unmanaged[Cdecl] fn__getCutscenePlayDuration;
private delegate* unmanaged[Cdecl] fn__wasCutsceneSkipped;
private delegate* unmanaged[Cdecl] fn__hasCutsceneFinished;
private delegate* unmanaged[Cdecl] fn__isCutsceneActive;
@@ -27979,6 +28331,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__hasEntityClearLosToEntityAdjustForCover;
private delegate* unmanaged[Cdecl] fn__hasEntityClearLosToEntityInFront;
private delegate* unmanaged[Cdecl] fn__hasEntityCollidedWithAnything;
+ private delegate* unmanaged[Cdecl] fn__getLastEntityHitByEntity;
private delegate* unmanaged[Cdecl] fn__getLastMaterialHitByEntity;
private delegate* unmanaged[Cdecl] fn__getCollisionNormalOfLastHitForEntity;
private delegate* unmanaged[Cdecl] fn__forceEntityAiAndAnimationUpdate;
@@ -28017,6 +28370,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__getWorldPositionOfEntityBone;
private delegate* unmanaged[Cdecl] fn__getNearestPlayerToEntity;
private delegate* unmanaged[Cdecl] fn__getNearestPlayerToEntityOnTeam;
+ private delegate* unmanaged[Cdecl] fn__getNearestParticipantToEntity;
private delegate* unmanaged[Cdecl] fn__getEntityType;
private delegate* unmanaged[Cdecl] fn__getEntityPopulationType;
private delegate* unmanaged[Cdecl] fn__isAnEntity;
@@ -28057,6 +28411,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__attachEntityBoneToEntityBone;
private delegate* unmanaged[Cdecl] fn__attachEntityBoneToEntityBoneYForward;
private delegate* unmanaged[Cdecl] fn__attachEntityToEntityPhysically;
+ private delegate* unmanaged[Cdecl] fn__attachEntityToEntityPhysicallyOverrideInverseMass;
private delegate* unmanaged[Cdecl] fn__processEntityAttachments;
private delegate* unmanaged[Cdecl] fn__getEntityBoneIndexByName;
private delegate* unmanaged[Cdecl] fn__clearEntityLastDamageEntity;
@@ -28092,7 +28447,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setEntityCoordsNoOffset;
private delegate* unmanaged[Cdecl] fn__setEntityDynamic;
private delegate* unmanaged[Cdecl] fn__setEntityHeading;
- private delegate* unmanaged[Cdecl] fn__setEntityHealth;
+ private delegate* unmanaged[Cdecl] fn__setEntityHealth;
private delegate* unmanaged[Cdecl] fn__setEntityInvincible;
private delegate* unmanaged[Cdecl] fn__setEntityIsTargetPriority;
private delegate* unmanaged[Cdecl] fn__setEntityLights;
@@ -28141,6 +28496,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__getEntityBoneRotation;
private delegate* unmanaged[Cdecl] fn__getEntityBonePostion;
private delegate* unmanaged[Cdecl] fn__getEntityBoneObjectRotation;
+ private delegate* unmanaged[Cdecl] fn__getEntityBoneObjectPostion;
private delegate* unmanaged[Cdecl] fn__getEntityBoneCount;
private delegate* unmanaged[Cdecl] fn__enableEntityBulletCollision;
private delegate* unmanaged[Cdecl] fn__setEntityCanOnlyBeDamagedByEntity;
@@ -28176,7 +28532,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__getShopPedProp;
private delegate* unmanaged[Cdecl] fn__getHashNameForComponent;
private delegate* unmanaged[Cdecl] fn__getHashNameForProp;
- private delegate* unmanaged[Cdecl] fn__getItemVariantsCount;
+ private delegate* unmanaged[Cdecl] fn__getShopPedApparelVariantComponentCount;
private delegate* unmanaged[Cdecl] fn__getShopPedApparelVariantPropCount;
private delegate* unmanaged[Cdecl] fn__getVariantComponent;
private delegate* unmanaged[Cdecl] fn__getVariantProp;
@@ -28184,7 +28540,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__getShopPedApparelForcedPropCount;
private delegate* unmanaged[Cdecl] fn__getForcedComponent;
private delegate* unmanaged[Cdecl] fn__getForcedProp;
- private delegate* unmanaged[Cdecl] fn__isTagRestricted;
+ private delegate* unmanaged[Cdecl] fn__doesShopPedApparelHaveRestrictionTag;
private delegate* unmanaged[Cdecl] fn__doesCurrentPedComponentHaveRestrictionTag;
private delegate* unmanaged[Cdecl] fn__doesCurrentPedPropHaveRestrictionTag;
private delegate* unmanaged[Cdecl] fn__setupShopPedOutfitQuery;
@@ -28357,6 +28713,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__isRadarHidden;
private delegate* unmanaged[Cdecl] fn__isMinimapRendering;
private delegate* unmanaged[Cdecl] fn__useVehicleTargetingReticule;
+ private delegate* unmanaged[Cdecl] fn__useVehicleTargetingReticuleOnVehicles;
private delegate* unmanaged[Cdecl] fn__addValidVehicleHitHash;
private delegate* unmanaged[Cdecl] fn__clearValidVehicleHitHashes;
private delegate* unmanaged[Cdecl] fn__setBlipRoute;
@@ -28390,6 +28747,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setTextCentre;
private delegate* unmanaged[Cdecl] fn__setTextRightJustify;
private delegate* unmanaged[Cdecl] fn__setTextJustification;
+ private delegate* unmanaged[Cdecl] fn__setTextLineHeightMult;
private delegate* unmanaged[Cdecl] fn__setTextWrap;
private delegate* unmanaged[Cdecl] fn__setTextLeading;
private delegate* unmanaged[Cdecl] fn__setTextProportional;
@@ -28482,6 +28840,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__showHeightOnBlip;
private delegate* unmanaged[Cdecl] fn__showTickOnBlip;
private delegate* unmanaged[Cdecl] fn__showGoldTickOnBlip;
+ private delegate* unmanaged[Cdecl] fn__showForSaleIconOnBlip;
private delegate* unmanaged[Cdecl] fn__showHeadingIndicatorOnBlip;
private delegate* unmanaged[Cdecl] fn__showOutlineIndicatorOnBlip;
private delegate* unmanaged[Cdecl] fn__showFriendIndicatorOnBlip;
@@ -28503,6 +28862,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setupFakeConeData;
private delegate* unmanaged[Cdecl] fn__removeFakeConeData;
private delegate* unmanaged[Cdecl] fn__clearFakeConeArray;
+ private delegate* unmanaged[Cdecl] fn__setBlipGpsRouteDisplayDistance;
private delegate* unmanaged[Cdecl] fn__setMinimapComponent;
private delegate* unmanaged[Cdecl] fn__setMinimapSonarSweep;
private delegate* unmanaged[Cdecl] fn__showAccountPicker;
@@ -28519,7 +28879,9 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__hideMinimapExteriorMapThisFrame;
private delegate* unmanaged[Cdecl] fn__hideMinimapInteriorMapThisFrame;
private delegate* unmanaged[Cdecl] fn__setUseIslandMap;
+ private delegate* unmanaged[Cdecl] fn__setPauseExteriorRenderingWhileInInterior;
private delegate* unmanaged[Cdecl] fn__dontTiltMinimapThisFrame;
+ private delegate* unmanaged[Cdecl] fn__dontZoomMinimapWhenRunningThisFrame;
private delegate* unmanaged[Cdecl] fn__dontZoomMinimapWhenSnipingThisFrame;
private delegate* unmanaged[Cdecl] fn__setWidescreenFormat;
private delegate* unmanaged[Cdecl] fn__displayAreaName;
@@ -28541,7 +28903,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__displayHelpTextThisFrame;
private delegate* unmanaged[Cdecl] fn__hudForceWeaponWheel;
private delegate* unmanaged[Cdecl] fn__hudForceSpecialVehicleWeaponWheel;
- private delegate* unmanaged[Cdecl] fn__blockWeaponWheelThisFrame;
+ private delegate* unmanaged[Cdecl] fn__hudSuppressWeaponWheelResultsThisFrame;
private delegate* unmanaged[Cdecl] fn__hudGetWeaponWheelCurrentlyHighlighted;
private delegate* unmanaged[Cdecl] fn__hudSetWeaponWheelTopSlot;
private delegate* unmanaged[Cdecl] fn__hudGetWeaponWheelTopSlot;
@@ -28599,7 +28961,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setHudComponentPosition;
private delegate* unmanaged[Cdecl] fn__getHudComponentPosition;
private delegate* unmanaged[Cdecl] fn__clearReminderMessage;
- private delegate* unmanaged[Cdecl] fn__getScreenCoordFromWorldCoord2;
+ private delegate* unmanaged[Cdecl] fn__getHudScreenPositionFromWorldPosition;
private delegate* unmanaged[Cdecl] fn__openReportugcMenu;
private delegate* unmanaged[Cdecl] fn__forceCloseReportugcMenu;
private delegate* unmanaged[Cdecl] fn__isReportugcMenuOpen;
@@ -28707,7 +29069,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__openOnlinePoliciesMenu;
private delegate* unmanaged[Cdecl] fn__areOnlinePoliciesUpToDate;
private delegate* unmanaged[Cdecl] fn__isOnlinePoliciesMenuActive;
- private delegate* unmanaged[Cdecl] fn__openSocialClubMenu;
+ private delegate* unmanaged[Cdecl] fn__openSocialClubMenu;
private delegate* unmanaged[Cdecl] fn__closeSocialClubMenu;
private delegate* unmanaged[Cdecl] fn__setSocialClubTour;
private delegate* unmanaged[Cdecl] fn__isSocialClubActive;
@@ -28915,6 +29277,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__setCreditsActive;
private delegate* unmanaged[Cdecl] fn__setCreditsFadeOutWithScreen;
private delegate* unmanaged[Cdecl] fn__haveCreditsReachedEnd;
+ private delegate* unmanaged[Cdecl] fn__areCreditsRunning;
private delegate* unmanaged[Cdecl] fn__terminateAllScriptsWithThisName;
private delegate* unmanaged[Cdecl] fn__networkSetScriptIsSafeForNetworkGame;
private delegate* unmanaged[Cdecl] fn__addHospitalRestart;
@@ -28976,6 +29339,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__isProjectileTypeInAngledArea;
private delegate* unmanaged[Cdecl] fn__isProjectileTypeWithinDistance;
private delegate* unmanaged[Cdecl] fn__getCoordsOfProjectileTypeInArea;
+ private delegate* unmanaged[Cdecl] fn__getCoordsOfProjectileTypeInAngledArea;
private delegate* unmanaged[Cdecl] fn__getCoordsOfProjectileTypeWithinDistance;
private delegate* unmanaged[Cdecl] fn__getProjectileOfProjectileTypeWithinDistance;
private delegate* unmanaged[Cdecl] fn__isBulletInAngledArea;
@@ -29130,6 +29494,8 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__useActiveCameraForTimeslicingCentre;
private delegate* unmanaged[Cdecl] fn__setContentIdIndex;
private delegate* unmanaged[Cdecl] fn__getContentIdIndex;
+ private delegate* unmanaged[Cdecl] fn__setContentPropType;
+ private delegate* unmanaged[Cdecl] fn__getContentPropType;
private delegate* unmanaged[Cdecl] fn__createMobilePhone;
private delegate* unmanaged[Cdecl] fn__destroyMobilePhone;
private delegate* unmanaged[Cdecl] fn__setMobilePhoneScale;
@@ -29176,6 +29542,7 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__networkDeferCashTransactionsUntilShopSave;
private delegate* unmanaged[Cdecl] fn__canPayAmountToBoss;
private delegate* unmanaged[Cdecl] fn__networkEarnFromPickup;
+ private delegate* unmanaged[Cdecl] fn__networkEarnFromCashingOut;
private delegate* unmanaged[Cdecl] fn__networkEarnFromGangattackPickup;
private delegate* unmanaged[Cdecl] fn__networkEarnAssassinateTargetKilled;
private delegate* unmanaged[Cdecl] fn__networkEarnFromRobArmoredCars;
@@ -29192,12 +29559,12 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__networkEarnFromProperty;
private delegate* unmanaged[Cdecl] fn__networkEarnFromAiTargetKill;
private delegate* unmanaged[Cdecl] fn__networkEarnFromNotBadsport;
- private delegate* unmanaged[Cdecl] fn__networkEarnFromRockstar;
private delegate* unmanaged[Cdecl] fn__networkEarnFromVehicle;
private delegate* unmanaged[Cdecl] fn__networkEarnFromPersonalVehicle;
private delegate* unmanaged[Cdecl] fn__networkEarnFromDailyObjectives;
private delegate* unmanaged[Cdecl] fn__networkEarnFromAmbientJob;
private delegate* unmanaged[Cdecl] fn__networkEarnFromJobBonus;
+ private delegate* unmanaged[Cdecl] fn__networkEarnFromCriminalMastermind;
private delegate* unmanaged[Cdecl] fn__networkEarnHeistAward;
private delegate* unmanaged[Cdecl] fn__networkEarnFirstTimeBonus;
private delegate* unmanaged[Cdecl] fn__networkEarnGoon;
@@ -29205,8 +29572,8 @@ public unsafe class Natives : INatives
private delegate* unmanaged[Cdecl] fn__networkEarnAgency;
private delegate* unmanaged[Cdecl] fn__networkEarnFromWarehouse;
private delegate* unmanaged[Cdecl] fn__networkEarnFromContraband;
- private delegate* unmanaged[Cdecl] fn__networkEarnFromDestroyingContraband;
- private delegate* unmanaged[Cdecl] fn__networkEarnFromSmugglerWork;
+ private delegate* unmanaged[Cdecl]