@@ -285,7 +285,6 @@ private void RefreshWeapons(CCSPlayerController? player)
285285 if ( ! weapon . Value . OwnerEntity . IsValid ) continue ;
286286 if ( gun . Entity == null ) continue ;
287287 if ( ! gun . IsValid ) continue ;
288- if ( ! gun . VisibleinPVS ) continue ;
289288
290289 try
291290 {
@@ -406,7 +405,7 @@ private void GivePlayerGloves(CCSPlayerController player)
406405
407406 item . Initialized = true ;
408407
409- SetBodygroup ( pawn . Handle , "default_gloves" , 1 ) ;
408+ SetBodygroup ( pawn , "default_gloves" , 1 ) ;
410409 }
411410 catch ( Exception ) { }
412411 } , TimerFlags . STOP_ON_MAPCHANGE ) ;
@@ -430,13 +429,15 @@ private static int GetRandomPaint(int defindex)
430429 return int . TryParse ( randomWeapon [ "paint" ] ? . ToString ( ) , out var paintValue ) ? paintValue : 0 ;
431430 }
432431
433- private static void SubclassChange ( CBasePlayerWeapon weapon , ushort itemD )
432+ //xstage idea on css discord
433+ public static void SubclassChange ( CBasePlayerWeapon weapon , ushort itemD )
434434 {
435- var subclassChangeFunc = VirtualFunction . Create < nint , string , int > (
436- GameData . GetSignature ( "ChangeSubclass" )
437- ) ;
435+ weapon . AcceptInput ( "ChangeSubclass" , value : itemD . ToString ( ) ) ;
436+ }
438437
439- subclassChangeFunc ( weapon . Handle , itemD . ToString ( ) ) ;
438+ public static void SetBodygroup ( CCSPlayerPawn pawn , string group , int value )
439+ {
440+ pawn . AcceptInput ( "SetBodygroup" , value : $ "{ group } ,{ value } ") ;
440441 }
441442
442443 private static void UpdateWeaponMeshGroupMask ( CBaseEntity weapon , bool isLegacy = false )
@@ -454,13 +455,6 @@ private static void UpdateWeaponMeshGroupMask(CBaseEntity weapon, bool isLegacy
454455 private static void UpdatePlayerWeaponMeshGroupMask ( CCSPlayerController player , CBasePlayerWeapon weapon , bool isLegacy )
455456 {
456457 UpdateWeaponMeshGroupMask ( weapon , isLegacy ) ;
457-
458- var viewModel = GetPlayerViewModel ( player ) ;
459- if ( viewModel == null || viewModel . Weapon . Value == null ||
460- viewModel . Weapon . Value . Index != weapon . Index ) return ;
461-
462- UpdateWeaponMeshGroupMask ( viewModel , isLegacy ) ;
463- Utilities . SetStateChanged ( viewModel , "CBaseEntity" , "m_CBodyComponent" ) ;
464458 }
465459
466460 private static void GivePlayerAgent ( CCSPlayerController player )
@@ -558,16 +552,6 @@ private void UpdatePlayerEconItemId(CEconItemView econItemView)
558552 return ! Utility . IsPlayerValid ( player ) ? null : player ;
559553 }
560554
561- private static unsafe CBaseViewModel ? GetPlayerViewModel ( CCSPlayerController player )
562- {
563- if ( player . PlayerPawn . Value == null || player . PlayerPawn . Value . ViewModelServices == null ) return null ;
564- CCSPlayer_ViewModelServices viewModelServices = new ( player . PlayerPawn . Value . ViewModelServices ! . Handle ) ;
565- var ptr = viewModelServices . Handle + Schema . GetSchemaOffset ( "CCSPlayer_ViewModelServices" , "m_hViewModel" ) ;
566- var references = MemoryMarshal . CreateSpan ( ref ptr , 3 ) ;
567- var viewModel = ( CHandle < CBaseViewModel > ) Activator . CreateInstance ( typeof ( CHandle < CBaseViewModel > ) , references [ 0 ] ) ! ;
568- return viewModel . Value == null ? null : viewModel . Value ;
569- }
570-
571555 private static bool HasChangedKnife ( CCSPlayerController player , out string ? knifeValue )
572556 {
573557 knifeValue = null ;
0 commit comments