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