bodygroup and subclass change method to use AcceptInput

This commit is contained in:
stefanx111
2025-08-05 01:08:43 +03:00
parent 95d53f4216
commit bde0666313
2 changed files with 12 additions and 9 deletions

View File

@@ -93,10 +93,11 @@ public partial class WeaponPaints
private static readonly MemoryFunctionVoid<nint, string, float> CAttributeListSetOrAddAttributeValueByName = new(GameData.GetSignature("CAttributeList_SetOrAddAttributeValueByName")); private static readonly MemoryFunctionVoid<nint, string, float> CAttributeListSetOrAddAttributeValueByName = new(GameData.GetSignature("CAttributeList_SetOrAddAttributeValueByName"));
private static readonly MemoryFunctionWithReturn<nint, string, int, int> SetBodygroupFunc = new( //we dont need anymore because we use AcceptInput
GameData.GetSignature("CBaseModelEntity_SetBodygroup")); //private static readonly MemoryFunctionWithReturn<nint, string, int, int> SetBodygroupFunc = new(
// GameData.GetSignature("CBaseModelEntity_SetBodygroup"));
private static readonly Func<nint, string, int, int> SetBodygroup = SetBodygroupFunc.Invoke; //private static readonly Func<nint, string, int, int> SetBodygroup = SetBodygroupFunc.Invoke;
private static Dictionary<int, string> WeaponDefindex { get; } = new() private static Dictionary<int, string> WeaponDefindex { get; } = new()
{ {

View File

@@ -405,7 +405,7 @@ namespace WeaponPaints
item.Initialized = true; item.Initialized = true;
SetBodygroup(pawn.Handle, "default_gloves", 1); SetBodygroup(pawn, "default_gloves", 1);
} }
catch (Exception) { } catch (Exception) { }
}, TimerFlags.STOP_ON_MAPCHANGE); }, TimerFlags.STOP_ON_MAPCHANGE);
@@ -429,13 +429,15 @@ namespace WeaponPaints
return int.TryParse(randomWeapon["paint"]?.ToString(), out var paintValue) ? paintValue : 0; return int.TryParse(randomWeapon["paint"]?.ToString(), out var paintValue) ? paintValue : 0;
} }
private static void SubclassChange(CBasePlayerWeapon weapon, ushort itemD) //xstage idea on css discord
public static void SubclassChange(CBasePlayerWeapon weapon, ushort itemD)
{ {
var subclassChangeFunc = VirtualFunction.Create<nint, string, int>( weapon.AcceptInput("ChangeSubclass", value: itemD.ToString());
GameData.GetSignature("ChangeSubclass") }
);
subclassChangeFunc(weapon.Handle, itemD.ToString()); public static void SetBodygroup(CCSPlayerPawn pawn, string group, int value)
{
pawn.AcceptInput("SetBodygroup", value:$"{group},{value}");
} }
private static void UpdateWeaponMeshGroupMask(CBaseEntity weapon, bool isLegacy = false) private static void UpdateWeaponMeshGroupMask(CBaseEntity weapon, bool isLegacy = false)