Skip to content

Commit d402b81

Browse files
committed
Add IPlayer::ClearClothes
1 parent ba185ba commit d402b81

File tree

7 files changed

+32
-7
lines changed

7 files changed

+32
-7
lines changed

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,15 @@ public bool SetDlcClothes(byte component, ushort drawable, byte texture, byte pa
898898
}
899899
}
900900

901+
public bool ClearClothes(byte component)
902+
{
903+
lock (Player)
904+
{
905+
if (!AsyncContext.CheckIfExistsNullable(Player)) return default;
906+
return Player.ClearClothes(component);
907+
}
908+
}
909+
901910
public Prop GetProps(byte component)
902911
{
903912
lock (Player)

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

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

887887
public unsafe class ClientLibrary : IClientLibrary
888888
{
889-
public readonly uint Methods = 1738;
889+
public readonly uint Methods = 1739;
890890
public delegate* unmanaged[Cdecl]<nint, nint, void> Audio_AddOutput { get; }
891891
public delegate* unmanaged[Cdecl]<nint, nint> Audio_GetBaseObject { get; }
892892
public delegate* unmanaged[Cdecl]<nint, double> Audio_GetCurrentTime { get; }
@@ -3512,7 +3512,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
35123512
public ClientLibrary(Dictionary<ulong, IntPtr> funcTable)
35133513
{
35143514
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
3515-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 13325244553859733034UL) Outdated = true;
3515+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 3086495798003042324UL) Outdated = true;
35163516
Audio_AddOutput = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<Audio_AddOutputDelegate>(funcTable, 9914412815391408844UL, Audio_AddOutputFallback);
35173517
Audio_GetBaseObject = (delegate* unmanaged[Cdecl]<nint, nint>) GetUnmanagedPtr<Audio_GetBaseObjectDelegate>(funcTable, 6330360502401226894UL, Audio_GetBaseObjectFallback);
35183518
Audio_GetCurrentTime = (delegate* unmanaged[Cdecl]<nint, double>) GetUnmanagedPtr<Audio_GetCurrentTimeDelegate>(funcTable, 2944324482134975819UL, Audio_GetCurrentTimeFallback);

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ public unsafe interface IServerLibrary
158158
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_AddDecoration { get; }
159159
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_AddWeaponComponent { get; }
160160
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearBloodDamage { get; }
161+
public delegate* unmanaged[Cdecl]<nint, byte, byte> Player_ClearClothes { get; }
161162
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearDecorations { get; }
162163
public delegate* unmanaged[Cdecl]<nint, byte, void> Player_ClearProps { get; }
163164
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearTasks { get; }
@@ -480,7 +481,7 @@ public unsafe interface IServerLibrary
480481

481482
public unsafe class ServerLibrary : IServerLibrary
482483
{
483-
public readonly uint Methods = 1738;
484+
public readonly uint Methods = 1739;
484485
public delegate* unmanaged[Cdecl]<nint, nint, void> BaseObject_DeleteSyncedMetaData { get; }
485486
public delegate* unmanaged[Cdecl]<nint, nint[], nint[], ulong, void> BaseObject_SetMultipleSyncedMetaData { get; }
486487
public delegate* unmanaged[Cdecl]<nint, nint, nint, void> BaseObject_SetSyncedMetaData { get; }
@@ -629,6 +630,7 @@ public unsafe class ServerLibrary : IServerLibrary
629630
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_AddDecoration { get; }
630631
public delegate* unmanaged[Cdecl]<nint, uint, uint, void> Player_AddWeaponComponent { get; }
631632
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearBloodDamage { get; }
633+
public delegate* unmanaged[Cdecl]<nint, byte, byte> Player_ClearClothes { get; }
632634
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearDecorations { get; }
633635
public delegate* unmanaged[Cdecl]<nint, byte, void> Player_ClearProps { get; }
634636
public delegate* unmanaged[Cdecl]<nint, void> Player_ClearTasks { get; }
@@ -1243,6 +1245,8 @@ public unsafe class ServerLibrary : IServerLibrary
12431245
private static void Player_AddWeaponComponentFallback(nint _player, uint _weapon, uint _component) => throw new Exceptions.OutdatedSdkException("Player_AddWeaponComponent", "Player_AddWeaponComponent SDK method is outdated. Please update your module nuget");
12441246
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_ClearBloodDamageDelegate(nint _player);
12451247
private static void Player_ClearBloodDamageFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_ClearBloodDamage", "Player_ClearBloodDamage SDK method is outdated. Please update your module nuget");
1248+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate byte Player_ClearClothesDelegate(nint _player, byte _component);
1249+
private static byte Player_ClearClothesFallback(nint _player, byte _component) => throw new Exceptions.OutdatedSdkException("Player_ClearClothes", "Player_ClearClothes SDK method is outdated. Please update your module nuget");
12461250
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_ClearDecorationsDelegate(nint _player);
12471251
private static void Player_ClearDecorationsFallback(nint _player) => throw new Exceptions.OutdatedSdkException("Player_ClearDecorations", "Player_ClearDecorations SDK method is outdated. Please update your module nuget");
12481252
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate void Player_ClearPropsDelegate(nint _player, byte _component);
@@ -1888,7 +1892,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
18881892
public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
18891893
{
18901894
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1891-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 13325244553859733034UL) Outdated = true;
1895+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 3086495798003042324UL) Outdated = true;
18921896
BaseObject_DeleteSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, void>) GetUnmanagedPtr<BaseObject_DeleteSyncedMetaDataDelegate>(funcTable, 8228424877092269355UL, BaseObject_DeleteSyncedMetaDataFallback);
18931897
BaseObject_SetMultipleSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint[], nint[], ulong, void>) GetUnmanagedPtr<BaseObject_SetMultipleSyncedMetaDataDelegate>(funcTable, 1390762125822890831UL, BaseObject_SetMultipleSyncedMetaDataFallback);
18941898
BaseObject_SetSyncedMetaData = (delegate* unmanaged[Cdecl]<nint, nint, nint, void>) GetUnmanagedPtr<BaseObject_SetSyncedMetaDataDelegate>(funcTable, 8002999088966424231UL, BaseObject_SetSyncedMetaDataFallback);
@@ -2037,6 +2041,7 @@ public ServerLibrary(Dictionary<ulong, IntPtr> funcTable)
20372041
Player_AddDecoration = (delegate* unmanaged[Cdecl]<nint, uint, uint, void>) GetUnmanagedPtr<Player_AddDecorationDelegate>(funcTable, 11189476182745634495UL, Player_AddDecorationFallback);
20382042
Player_AddWeaponComponent = (delegate* unmanaged[Cdecl]<nint, uint, uint, void>) GetUnmanagedPtr<Player_AddWeaponComponentDelegate>(funcTable, 9305362021789278268UL, Player_AddWeaponComponentFallback);
20392043
Player_ClearBloodDamage = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_ClearBloodDamageDelegate>(funcTable, 1935399752104807234UL, Player_ClearBloodDamageFallback);
2044+
Player_ClearClothes = (delegate* unmanaged[Cdecl]<nint, byte, byte>) GetUnmanagedPtr<Player_ClearClothesDelegate>(funcTable, 992364219024894490UL, Player_ClearClothesFallback);
20402045
Player_ClearDecorations = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_ClearDecorationsDelegate>(funcTable, 1193224569935073604UL, Player_ClearDecorationsFallback);
20412046
Player_ClearProps = (delegate* unmanaged[Cdecl]<nint, byte, void>) GetUnmanagedPtr<Player_ClearPropsDelegate>(funcTable, 14293729102633233291UL, Player_ClearPropsFallback);
20422047
Player_ClearTasks = (delegate* unmanaged[Cdecl]<nint, void>) GetUnmanagedPtr<Player_ClearTasksDelegate>(funcTable, 2394928316223850939UL, Player_ClearTasksFallback);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ public unsafe interface ISharedLibrary
412412

413413
public unsafe class SharedLibrary : ISharedLibrary
414414
{
415-
public readonly uint Methods = 1738;
415+
public readonly uint Methods = 1739;
416416
public delegate* unmanaged[Cdecl]<nint, uint> Audio_GetID { get; }
417417
public delegate* unmanaged[Cdecl]<nint, uint> AudioAttachedOutput_GetID { get; }
418418
public delegate* unmanaged[Cdecl]<nint, uint> AudioFilter_GetID { get; }
@@ -1616,7 +1616,7 @@ private IntPtr GetUnmanagedPtr<T>(IDictionary<ulong, IntPtr> funcTable, ulong ha
16161616
public SharedLibrary(Dictionary<ulong, IntPtr> funcTable)
16171617
{
16181618
if (!funcTable.TryGetValue(0, out var capiHash)) Outdated = true;
1619-
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 13325244553859733034UL) Outdated = true;
1619+
else if (capiHash == IntPtr.Zero || *(ulong*)capiHash != 3086495798003042324UL) Outdated = true;
16201620
Audio_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<Audio_GetIDDelegate>(funcTable, 4464042055475980737UL, Audio_GetIDFallback);
16211621
AudioAttachedOutput_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioAttachedOutput_GetIDDelegate>(funcTable, 17725794901805112189UL, AudioAttachedOutput_GetIDFallback);
16221622
AudioFilter_GetID = (delegate* unmanaged[Cdecl]<nint, uint>) GetUnmanagedPtr<AudioFilter_GetIDDelegate>(funcTable, 8824535635529306325UL, AudioFilter_GetIDFallback);

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,8 @@ void SetDateTime(int day, int month, int year, int hour,
257257
/// <exception cref="System.ArgumentOutOfRangeException">Thrown if drawable id is higher then 127</exception>
258258
bool SetDlcClothes(byte component, ushort drawable, byte texture, byte palette, uint dlc);
259259

260+
bool ClearClothes(byte component);
261+
260262
/// <summary>
261263
/// Gets the player props
262264
/// </summary>

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,6 +1237,15 @@ public bool SetDlcClothes(byte component, ushort drawable, byte texture, byte pa
12371237
}
12381238
}
12391239

1240+
public bool ClearClothes(byte component)
1241+
{
1242+
unsafe
1243+
{
1244+
CheckIfEntityExists();
1245+
return Core.Library.Server.Player_ClearClothes(PlayerNativePointer, component) == 1;
1246+
}
1247+
}
1248+
12401249
public Prop GetProps(byte component)
12411250
{
12421251
unsafe

runtime

0 commit comments

Comments
 (0)