@@ -13,7 +13,7 @@ namespace PlayerModelChanger;
1313public partial class PlayerModelChanger : BasePlugin , IPluginConfig < ModelConfig >
1414{
1515 public override string ModuleName => "Player Model Changer" ;
16- public override string ModuleVersion => "1.8.5 " ;
16+ public override string ModuleVersion => "1.8.6 " ;
1717
1818 public override string ModuleAuthor => "samyyc" ;
1919 public required ModelConfig Config { get ; set ; }
@@ -38,7 +38,8 @@ public override void Load(bool hotReload)
3838 case "mysql" :
3939 Storage = new MySQLStorage ( Config . MySQLIP , Config . MySQLPort , Config . MySQLUser , Config . MySQLPassword , Config . MySQLDatabase , Config . MySQLTable ) ;
4040 break ;
41- } ;
41+ }
42+ ;
4243 if ( Storage == null )
4344 {
4445 throw new Exception ( "[PlayerModelChanger] Failed to initialize storage. Please check your config" ) ;
@@ -220,10 +221,7 @@ public HookResult OnPlayerSpawnEvent(EventPlayerSpawn @event, GameEventInfo info
220221 }
221222 if ( botmodel != null )
222223 {
223- AddTimer ( 0.03f , ( ) =>
224- {
225- SetModelNextServerFrame ( player , botmodel , botmodel . Disableleg ) ;
226- } ) ;
224+ SetModelNextServerFrame ( player , botmodel , botmodel . Disableleg ) ;
227225 }
228226 else
229227 {
@@ -274,27 +272,25 @@ public HookResult OnPlayerSpawnEvent(EventPlayerSpawn @event, GameEventInfo info
274272 }
275273 }
276274
277- AddTimer ( 0.03f , ( ) =>
275+ Server . NextFrame ( ( ) =>
278276 {
277+ if ( ! Service . MapDefaultModelInitialized ( player ) )
278+ {
279+ Service . SetMapDefaultModel ( player , player . PlayerPawn . Value . CBodyComponent ! . SceneNode ! . GetSkeletonInstance ( ) . ModelState . ModelName ) ;
280+ }
279281 Server . NextFrame ( ( ) =>
280282 {
281- if ( ! Service . MapDefaultModelInitialized ( player ) )
283+ var model = Service . GetPlayerNowTeamModel ( player ) ;
284+ if ( model != null )
282285 {
283- Service . SetMapDefaultModel ( player , player . PlayerPawn . Value . CBodyComponent ! . SceneNode ! . GetSkeletonInstance ( ) . ModelState . ModelName ) ;
286+ SetModelNextServerFrame ( player , model , model . Disableleg ) ;
284287 }
285- Server . NextFrame ( ( ) =>
288+ else
286289 {
287- var model = Service . GetPlayerNowTeamModel ( player ) ;
288- if ( model != null )
289- {
290- SetModelNextServerFrame ( player , model , model . Disableleg ) ;
291- }
292- else
293- {
294- var originalRender = player . PlayerPawn . Value . Render ;
295- player . PlayerPawn . Value . Render = Color . FromArgb ( 255 , originalRender . R , originalRender . G , originalRender . B ) ;
296- }
297- } ) ;
290+ var originalRender = player . PlayerPawn . Value . Render ;
291+ player . PlayerPawn . Value . Render = Color . FromArgb ( Config . DisableDefaultModelLeg ? 254 : 255 , originalRender . R , originalRender . G , originalRender . B ) ;
292+ Utilities . SetStateChanged ( player . PlayerPawn . Value , "CBaseModelEntity" , "m_clrRender" ) ;
293+ }
298294 } ) ;
299295 } ) ;
300296 }
@@ -311,19 +307,23 @@ public Task SetModelNextServerFrame(CCSPlayerController player, Model? model, bo
311307 return Server . NextFrameAsync ( ( ) =>
312308 {
313309 var pawn = player . Pawn . Value ! ;
310+ var originalRender = pawn . Render ;
314311 if ( model == null )
315312 {
316313 var defaultModel = Service . GetMapDefaultModel ( player ) ;
317314 if ( defaultModel != null )
318315 {
319316 pawn . SetModel ( defaultModel ) ;
317+
320318 }
319+ pawn . Render = Color . FromArgb ( Config . DisableDefaultModelLeg ? 254 : 255 , originalRender . R , originalRender . G , originalRender . B ) ;
320+ Utilities . SetStateChanged ( pawn , "CBaseModelEntity" , "m_clrRender" ) ;
321+
321322 return ;
322323 }
323324 pawn . SetModel ( model . Path ) ;
324- var originalRender = pawn . Render ;
325325 pawn . Render = Color . FromArgb ( disableleg ? 254 : 255 , originalRender . R , originalRender . G , originalRender . B ) ;
326-
326+ Utilities . SetStateChanged ( pawn , "CBaseModelEntity" , "m_clrRender" ) ;
327327
328328 ulong meshgroupmask = pawn . CBodyComponent . SceneNode . GetSkeletonInstance ( ) . ModelState . MeshGroupMask ;
329329 if ( Service . InitMeshgroupPreference ( player , model , meshgroupmask ) )
0 commit comments