From 904f86ea9b7a918a74ad5ff432d2b8f565998ac7 Mon Sep 17 00:00:00 2001 From: Jackz Date: Mon, 18 Jan 2021 16:00:38 -0600 Subject: [PATCH] l4d_survivor_identity_fix: Fill model list on late load --- plugins/l4d_survivor_identity_fix.smx | Bin 7535 -> 7710 bytes scripting/l4d_survivor_identity_fix.sp | 19 ++++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/l4d_survivor_identity_fix.smx b/plugins/l4d_survivor_identity_fix.smx index efea8269fa2dd9127a0d4ab0e51569f0805faf1e..8dedd5a150c1442f5bffb124889c1a55716797de 100644 GIT binary patch literal 7710 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 diff --git a/scripting/l4d_survivor_identity_fix.sp b/scripting/l4d_survivor_identity_fix.sp index 02be6be..f0b41d8 100644 --- a/scripting/l4d_survivor_identity_fix.sp +++ b/scripting/l4d_survivor_identity_fix.sp @@ -23,6 +23,7 @@ char g_Models[MAXPLAYERS+1][128]; Handle hConf = null; #define NAME_SetModel "CBasePlayer::SetModel" static Handle hDHookSetModel = null; +static bool isLateLoad; #define SIG_SetModel_LINUX "@_ZN11CBasePlayer8SetModelEPKc" #define SIG_SetModel_WINDOWS "\\x55\\x8B\\x2A\\x8B\\x2A\\x2A\\x56\\x57\\x50\\x8B\\x2A\\xE8\\x2A\\x2A\\x2A\\x2A\\x8B\\x2A\\x2A\\x2A\\x2A\\x2A\\x8B\\x2A\\x8B\\x2A\\x2A\\x8B" @@ -39,8 +40,9 @@ public Plugin myinfo = } public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) { - CreateNative("IdentityFix_SetPlayerModel", Native_SetPlayerModel); - return APLRes_Success; + CreateNative("IdentityFix_SetPlayerModel", Native_SetPlayerModel); + if(late) isLateLoad = true; + return APLRes_Success; } public void OnPluginStart() @@ -52,7 +54,12 @@ public void OnPluginStart() HookEvent("player_bot_replace", Event_PlayerToBot, EventHookMode_Post); HookEvent("bot_player_replace", Event_BotToPlayer, EventHookMode_Post); HookEvent("game_newmap", Event_NewGame); + HookEvent("player_first_spawn", Event_PlayerFirstSpawn); HookEvent("player_disconnect", Event_PlayerDisconnect); + + if(isLateLoad) { + CreateTimer(1.0, Timer_FillModelList); + } } // ------------------------------------------------------------------------ @@ -199,14 +206,20 @@ public Action Event_RoundEnd(Event event, const char[] name, bool dontBroadcast) }*/ public void Event_NewGame(Event event, const char[] name, bool dontBroadcast) { + PrintToServer("Clearing models"); for(int i = 1; i < MaxClients + 1; i++) { g_Models[i][0] = '\0'; } CreateTimer(10.0, Timer_FillModelList); } +public Action Event_PlayerFirstSpawn(Event event, const char[] name, bool dontBroadcast) { + int client = GetClientOfUserId(event.GetInt("userid")); + if(IsSurvivor(client)) + GetClientModel(client, g_Models[client], 64); +} public Action Timer_FillModelList(Handle handle) { for(int i = 1; i < MaxClients + 1; i++) { - if(IsClientConnected(i) && IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2) + if(IsClientConnected(i) && IsClientInGame(i) && IsPlayerAlive(i) && IsSurvivor(i)) GetClientModel(i, g_Models[i], 64); } }