initial commit of fix for map. encap also made a stripper that does clearparenting when people are aware from vehciles
This commit is contained in:
		
							parent
							
								
									eb0ee8dfde
								
							
						
					
					
						commit
						d1de5f6015
					
				@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					#pragma semicolon 1
 | 
				
			||||||
 | 
					#define PLUGIN_AUTHOR "jenz"
 | 
				
			||||||
 | 
					#define g_dLength 400
 | 
				
			||||||
 | 
					#define PLUGIN_VERSION "1.0"
 | 
				
			||||||
 | 
					#pragma newdecls required
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sourcemod>
 | 
				
			||||||
 | 
					#include <sdktools>
 | 
				
			||||||
 | 
					#include <cstrike>
 | 
				
			||||||
 | 
					#include <sdkhooks>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Plugin myinfo = 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						name = "icecap_crash_fix_from_roundend",
 | 
				
			||||||
 | 
						author = PLUGIN_AUTHOR,
 | 
				
			||||||
 | 
						description = "solves parenting and game_Ui deactivating on roundend",
 | 
				
			||||||
 | 
						version = PLUGIN_VERSION,
 | 
				
			||||||
 | 
						url = "www.unloze.com"
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// Purpose: 
 | 
				
			||||||
 | 
					//----------------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					public void OnPluginStart()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    //this makes absolutely no sense, there is no point whatso ever in fucking doing this. 
 | 
				
			||||||
 | 
					    //but without this i get the complaint [SM] Plugin maps/test_icecap.smx failed to load: Unable to load plugin (invalid method code end).
 | 
				
			||||||
 | 
					    //is really makes absolutely zero sense why this would be needed
 | 
				
			||||||
 | 
					    for (int i = 0; i < MaxClients; i++)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (IsValidClient(i))
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            OnClientPostAdminCheck(i);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    AddCommandListener(Command_ztele, "ztele");
 | 
				
			||||||
 | 
					    HookEventEx("round_end", OnRoundEnd, EventHookMode_Pre);
 | 
				
			||||||
 | 
					    HookEntityOutput("trigger_teleport", "OnTrigger", trigger_teleport);
 | 
				
			||||||
 | 
					    HookEntityOutput("trigger_teleport", "OnStartTouch", trigger_teleport);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Action Command_ztele(int client, const char[] Command, int Args)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (IsValidClient(client))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					        int userid = GetClientUserId(client);
 | 
				
			||||||
 | 
					        ServerCommand("sm_forceinputplayer #%i Clearparent", userid);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public void OnClientPostAdminCheck(int client)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stock bool IsValidClient(int client)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (client > 0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client) && !IsFakeClient(client))
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    return false;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//right before round end deactivate gameUI and unparent players from moving vehicles.
 | 
				
			||||||
 | 
					public void OnRoundEnd(Handle event, const char[] name, bool dontBroadcast)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    //its the correct map if it contains icecap_escape_act2
 | 
				
			||||||
 | 
					    ServerCommand("sm_forceinput Game Deactivate; sm_forceinput Game2 Deactivate;sm_forceinput Game3 Deactivate;sm_forceinput Game4 Deactivate; sm_forceinput Gameleft Deactivate; sm_forceinput Gameright Deactivate; sm_forceinput Gameseat Deactivate; sm_forceinput Gameseat2 Deactivate; sm_forceinput Gameseat3 Deactivate; sm_forceinput Gameseat4 Deactivate; sm_forceinput Gameseat5 Deactivate; sm_forceinput Gameseat6 Deactivate;");
 | 
				
			||||||
 | 
					    ServerCommand("sm_forceinput player Clearparent;");
 | 
				
			||||||
 | 
					    ServerCommand("sm_forceinput heli kill; sm_forceinput moblie kill; sm_forceinput car kill; sm_forceinput battery kill;");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public void trigger_teleport(const char[] output, int entity_index, int client, float delay)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (IsValidClient(client))
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        int userid = GetClientUserId(client);
 | 
				
			||||||
 | 
					        ServerCommand("sm_forceinputplayer #%i Clearparent", userid);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user