diff --git a/FixPointViewcontrol/scripting/FixPointViewcontrol.sp b/FixPointViewcontrol/scripting/FixPointViewcontrol.sp index 222bf85b..9b6c6051 100644 --- a/FixPointViewcontrol/scripting/FixPointViewcontrol.sp +++ b/FixPointViewcontrol/scripting/FixPointViewcontrol.sp @@ -9,19 +9,15 @@ public Plugin myinfo = { name = "FixPointViewcontrol", - author = "xen + BotoX", - description = "", - version = "1.0", + author = "xen", + description = "A plugin to make disabling point_viewcontrol work properly", + version = "1.1", url = "" } Handle g_hAcceptInput; -int g_iAttachedViewControl[MAXPLAYERS + 1] = {INVALID_ENT_REFERENCE, ...}; - public void OnPluginStart() { - HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post); - // Gamedata. Handle hConfig = LoadGameConfigFile("sdktools.games"); if (hConfig == INVALID_HANDLE) @@ -42,35 +38,10 @@ public void OnPluginStart() DHookAddParam(g_hAcceptInput, HookParamType_Int); } -public Action Event_PlayerDeath(Handle hEvent, const char[] szName, bool bDontBroadcast) -{ - int client = GetClientOfUserId(GetEventInt(hEvent, "userid")); - DisableViewControl(client); -} - -public void OnClientDisconnect(int client) -{ - DisableViewControl(client); -} - -void DisableViewControl(int client) -{ - if (g_iAttachedViewControl[client] == INVALID_ENT_REFERENCE) - return; - - int entity = EntRefToEntIndex(g_iAttachedViewControl[client]); - if (entity == INVALID_ENT_REFERENCE) - return; - - AcceptEntityInput(entity, "Disable", client, entity); -} - public void OnEntityCreated(int entity, const char[] classname) { if (StrEqual(classname, "point_viewcontrol")) - { DHookEntity(g_hAcceptInput, false, entity); - } } public MRESReturn Hook_AcceptInput(int entity, Handle hReturn, Handle hParams) @@ -85,16 +56,8 @@ public MRESReturn Hook_AcceptInput(int entity, Handle hReturn, Handle hParams) if (iActivator < 1 || iActivator > MaxClients) return MRES_Ignored; - if (StrEqual(sCommand, "Enable", false)) - { - g_iAttachedViewControl[iActivator] = EntIndexToEntRef(entity); - } - else if (StrEqual(sCommand, "Disable", false)) - { SetEntPropEnt(entity, Prop_Data, "m_hPlayer", iActivator); - g_iAttachedViewControl[iActivator] = INVALID_ENT_REFERENCE; - } return MRES_Ignored; }