Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include sdktools
- #include sdkhooks
- #pragma semicolon 1
- #pragma newdecls required
- public void OnPluginStart()
- {
- HookEvent("weapon_reload", eReloadWeapon);
- }
- public Action eReloadWeapon(Handle event, const char[] name, bool dontBroadcast)
- {
- int iClient = GetClientOfUserId(GetEventInt(event, "userid"));
- if(!IsValidClient(iClient)
- || !IsPlayerAlive(iClient)
- || IsFakeClient(iClient)
- || GetClientTeam(iClient) != 2)
- return Plugin_Continue;
- int iCurrentWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
- if(!IsValidEntity(iCurrentWeapon))
- return Plugin_Continue;
- int iViewModel = GetEntPropEnt(iClient, Prop_Send, "m_hViewModel");
- if(!IsValidEntity(iViewModel))
- return Plugin_Continue;
- char sWeaponName[32];
- GetClientWeapon(iClient, sWeaponName, sizeof(sWeaponName));
- if (StrContains(sWeaponName, "hunting_rifle", false) != -1)
- {
- SetEntProp(iViewModel, Prop_Send, "m_nLayerSequence", 3);
- SetEntPropFloat(iViewModel, Prop_Send, "m_flLayerStartTime", GetGameTime());
- ChangeEdictState(iViewModel, FindDataMapInfo(iViewModel, "m_nLayerSequence"));
- }
- return Plugin_Continue;
- }
- stock bool IsValidClient(int iClient)
- {
- if(iClient < 1 || iClient > MaxClients)
- return false;
- return IsClientInGame(iClient);
- }
Advertisement
Add Comment
Please, Sign In to add comment