Skip to content

Commit fa9eee4

Browse files
committed
add IsParachuting
1 parent 445e1d4 commit fa9eee4

File tree

8 files changed

+50
-7
lines changed

8 files changed

+50
-7
lines changed

api/AltV.Net.Async/Elements/Entities/AsyncPlayer.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,18 @@ public void GetCurrentWeaponComponents(out uint[] weaponComponents)
735735
}
736736
}
737737

738+
public bool IsParachuting
739+
{
740+
get
741+
{
742+
lock (Player)
743+
{
744+
if (!AsyncContext.CheckIfExistsOrCachedNullable(Player)) return default;
745+
return Player.IsParachuting;
746+
}
747+
}
748+
}
749+
738750
public void SetWeaponTintIndex(uint weapon, byte tintIndex)
739751
{
740752
lock (Player)

api/AltV.Net.CApi/Libraries/ClientLibrary.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,7 @@ public unsafe interface IClientLibrary
875875

876876
public unsafe class ClientLibrary : IClientLibrary
877877
{
878-
public readonly uint Methods = 1647;
878+
public readonly uint Methods = 1648;
879879
public delegate* unmanaged[Cdecl]<nint, nint, void> Audio_AddOutput { get; }
880880
public delegate* unmanaged[Cdecl]<nint, nint> Audio_GetBaseObject { get; }
881881
public delegate* unmanaged[Cdecl]<nint, double> Audio_GetCurrentTime { get; }
@@ -3468,7 +3468,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
34683468
public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
34693469
{
34703470
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
3471-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 1220418524244522505UL) Outdated = true;
3471+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 10156954479038056230UL) Outdated = true;
34723472
Audio_AddOutput = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Audio_AddOutputDelegate>(funcTable, 9914412815391408844UL, Audio_AddOutputFallback);
34733473
Audio_GetBaseObject = (delegate* unmanaged[Cdecl]<nint, nint>) GetUnmanagedPtr<Audio_GetBaseObjectDelegate>(funcTable, 6330360502401226894UL, Audio_GetBaseObjectFallback);
34743474
Audio_GetCurrentTime = (delegate* unmanaged[Cdecl]<nint, double>) GetUnmanagedPtr<Audio_GetCurrentTimeDelegate>(funcTable, 2944324482134975819UL, Audio_GetCurrentTimeFallback);

api/AltV.Net.CApi/Libraries/ServerLibrary.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ public unsafe interface IServerLibrary
438438

439439
public unsafe class ServerLibrary : IServerLibrary
440440
{
441-
public readonly uint Methods = 1647;
441+
public readonly uint Methods = 1648;
442442
public delegate* unmanaged[Cdecl]<nint, nint, void> BaseObject_DeleteSyncedMetaData { get; }
443443
public delegate* unmanaged[Cdecl]<nint, nint, nint, void> BaseObject_SetSyncedMetaData { get; }
444444
public delegate* unmanaged[Cdecl]<nint, nint, void> Blip_AddTargetPlayer { get; }
@@ -1720,7 +1720,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
17201720
public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
17211721
{
17221722
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1723-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 1220418524244522505UL) Outdated = true;
1723+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 10156954479038056230UL) Outdated = true;
17241724
BaseObject_DeleteSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<BaseObject_DeleteSyncedMetaDataDelegate>(funcTable, 8228424877092269355UL, BaseObject_DeleteSyncedMetaDataFallback);
17251725
BaseObject_SetSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, nint, void>) GetUnmanagedPtr<BaseObject_SetSyncedMetaDataDelegate>(funcTable, 8002999088966424231UL, BaseObject_SetSyncedMetaDataFallback);
17261726
Blip_AddTargetPlayer = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Blip_AddTargetPlayerDelegate>(funcTable, 12411235729553386187UL, Blip_AddTargetPlayerFallback);

api/AltV.Net.CApi/Libraries/SharedLibrary.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ public unsafe interface ISharedLibrary
312312
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsJumping { get; }
313313
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsLeavingVehicle { get; }
314314
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsOnLadder { get; }
315+
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsParachuting { get; }
315316
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsReloading { get; }
316317
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsShooting { get; }
317318
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsSpawned { get; }
@@ -374,7 +375,7 @@ public unsafe interface ISharedLibrary
374375

375376
public unsafe class SharedLibrary : ISharedLibrary
376377
{
377-
public readonly uint Methods = 1647;
378+
public readonly uint Methods = 1648;
378379
public delegate* unmanaged[Cdecl]<nint, uint> Audio_GetID { get; }
379380
public delegate* unmanaged[Cdecl]<nint, uint> AudioAttachedOutput_GetID { get; }
380381
public delegate* unmanaged[Cdecl]<nint, uint> AudioFilter_GetID { get; }
@@ -677,6 +678,7 @@ public unsafe class SharedLibrary : ISharedLibrary
677678
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsJumping { get; }
678679
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsLeavingVehicle { get; }
679680
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsOnLadder { get; }
681+
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsParachuting { get; }
680682
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsReloading { get; }
681683
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsShooting { get; }
682684
public delegate* unmanaged[Cdecl]<nint, byte> Player_IsSpawned { get; }
@@ -1339,6 +1341,8 @@ public unsafe class SharedLibrary : ISharedLibrary
13391341
private static byte Player_IsLeavingVehicleFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_IsLeavingVehicle", "Player_IsLeavingVehicle SDK method is outdated. Please update your module nuget");
13401342
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate byte Player_IsOnLadderDelegate(nint _player);
13411343
private static byte Player_IsOnLadderFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_IsOnLadder", "Player_IsOnLadder SDK method is outdated. Please update your module nuget");
1344+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate byte Player_IsParachutingDelegate(nint _player);
1345+
private static byte Player_IsParachutingFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_IsParachuting", "Player_IsParachuting SDK method is outdated. Please update your module nuget");
13421346
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate byte Player_IsReloadingDelegate(nint _player);
13431347
private static byte Player_IsReloadingFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_IsReloading", "Player_IsReloading SDK method is outdated. Please update your module nuget");
13441348
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate byte Player_IsShootingDelegate(nint _player);
@@ -1464,7 +1468,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
14641468
public SharedLibrary(Dictionary<ulong, IntPtr> funcTable)
14651469
{
14661470
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1467-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 1220418524244522505UL) Outdated = true;
1471+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 10156954479038056230UL) Outdated = true;
14681472
Audio_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<Audio_GetIDDelegate>(funcTable, 4464042055475980737UL, Audio_GetIDFallback);
14691473
AudioAttachedOutput_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioAttachedOutput_GetIDDelegate>(funcTable, 17725794901805112189UL, AudioAttachedOutput_GetIDFallback);
14701474
AudioFilter_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioFilter_GetIDDelegate>(funcTable, 8824535635529306325UL, AudioFilter_GetIDFallback);
@@ -1767,6 +1771,7 @@ public SharedLibrary(Dictionary<ulong, IntPtr> funcTable)
17671771
Player_IsJumping = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsJumpingDelegate>(funcTable, 8318404148061760703UL, Player_IsJumpingFallback);
17681772
Player_IsLeavingVehicle = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsLeavingVehicleDelegate>(funcTable, 7801590821162478013UL, Player_IsLeavingVehicleFallback);
17691773
Player_IsOnLadder = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsOnLadderDelegate>(funcTable, 3159353707403506220UL, Player_IsOnLadderFallback);
1774+
Player_IsParachuting = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsParachutingDelegate>(funcTable, 4321669179259343363UL, Player_IsParachutingFallback);
17701775
Player_IsReloading = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsReloadingDelegate>(funcTable, 4971155693566520612UL, Player_IsReloadingFallback);
17711776
Player_IsShooting = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsShootingDelegate>(funcTable, 877598797571784312UL, Player_IsShootingFallback);
17721777
Player_IsSpawned = (delegate* unmanaged[Cdecl]<nint, byte>) GetUnmanagedPtr<Player_IsSpawnedDelegate>(funcTable, 4945769591274906861UL, Player_IsSpawnedFallback);

api/AltV.Net.Client/Elements/Entities/Player.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,18 @@ public void GetCurrentWeaponComponents(out uint[] weaponComponents)
199199
}
200200
}
201201

202+
public bool IsParachuting
203+
{
204+
get
205+
{
206+
unsafe
207+
{
208+
CheckIfEntityExistsOrCached();
209+
return this.Core.Library.Shared.Player_IsParachuting(this.PlayerNativePointer) == 1;
210+
}
211+
}
212+
}
213+
202214
ISharedEntity ISharedPlayer.EntityAimingAt => EntityAimingAt!;
203215

204216
public bool IsFlashlightActive

api/AltV.Net.Shared/Elements/Entities/ISharedPlayer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,5 +148,7 @@ public interface ISharedPlayer : ISharedEntity
148148
/// </summary>
149149
/// <param name="weaponComponents">Array of component hashes</param>
150150
void GetCurrentWeaponComponents(out uint[] weaponComponents);
151+
152+
bool IsParachuting { get; }
151153
}
152154
}

api/AltV.Net/Elements/Entities/Player.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,5 +1574,17 @@ public override void SetCached(IntPtr cachedPlayer)
15741574
this.PlayerNativePointer = cachedPlayer;
15751575
base.SetCached(GetEntityPointer(Core, cachedPlayer));
15761576
}
1577+
1578+
public bool IsParachuting
1579+
{
1580+
get
1581+
{
1582+
unsafe
1583+
{
1584+
CheckIfEntityExistsOrCached();
1585+
return this.Core.Library.Shared.Player_IsParachuting(this.PlayerNativePointer) == 1;
1586+
}
1587+
}
1588+
}
15771589
}
15781590
}

runtime

0 commit comments

Comments
 (0)