83 lines
2.8 KiB
SourcePawn
83 lines
2.8 KiB
SourcePawn
#pragma newdecls required
|
|
|
|
#include <sourcemod>
|
|
#include <sdktools>
|
|
#include <sdkhooks>
|
|
#include <cstrike>
|
|
|
|
#define ARMS_MODEL_T "models/weapons/v_models/arms/glove_hardknuckle/v_glove_hardknuckle_black.mdl"
|
|
#define ARMS_MODEL_CT "models/weapons/v_models/arms/glove_hardknuckle/v_glove_hardknuckle_black.mdl"
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public Plugin myinfo =
|
|
{
|
|
name = "Fix Invisible Gloves",
|
|
author = "zaCade",
|
|
description = "Feex more volvo bullshiet!",
|
|
version = "1.0.0"
|
|
};
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max)
|
|
{
|
|
if(GetEngineVersion() != Engine_CSGO)
|
|
{
|
|
strcopy(error, err_max, "This plugin is only required on CS:GO!");
|
|
return APLRes_Failure;
|
|
}
|
|
|
|
return APLRes_Success;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnPluginStart()
|
|
{
|
|
for (int iClient = 1; iClient <= MaxClients; iClient++)
|
|
{
|
|
if (IsClientInGame(iClient))
|
|
{
|
|
OnClientPutInServer(iClient);
|
|
}
|
|
}
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnMapStart()
|
|
{
|
|
PrecacheModel(ARMS_MODEL_T);
|
|
PrecacheModel(ARMS_MODEL_CT);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnClientPutInServer(int iClient)
|
|
{
|
|
SDKHook(iClient, SDKHook_SpawnPost, OnSpawnPost);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------------------------------
|
|
// Purpose:
|
|
//----------------------------------------------------------------------------------------------------
|
|
public void OnSpawnPost(int iClient)
|
|
{
|
|
if(!IsClientInGame(iClient) || IsClientObserver(iClient) || !IsPlayerAlive(iClient))
|
|
return;
|
|
|
|
if (GetEntPropEnt(iClient, Prop_Send, "m_hMyWearables") == INVALID_ENT_REFERENCE)
|
|
{
|
|
switch(GetClientTeam(iClient))
|
|
{
|
|
case CS_TEAM_T: SetEntPropString(iClient, Prop_Send, "m_szArmsModel", ARMS_MODEL_T);
|
|
case CS_TEAM_CT: SetEntPropString(iClient, Prop_Send, "m_szArmsModel", ARMS_MODEL_CT);
|
|
}
|
|
}
|
|
} |