Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include sdktools
- int Clip;
- public void OnPluginStart()
- {
- Clip = FindSendPropInfo("CBaseCombatWeapon", "m_iClip1");
- HookEvent("weapon_reload", eReloadWeapon);
- }
- public Action:eReloadWeapon(Handle:event, const String:name[], bool:dontBroadcast)
- {
- new 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;
- decl String:sWeaponName[32];
- GetClientWeapon(iClient, sWeaponName, sizeof(sWeaponName));
- if (StrContains(sWeaponName, "hunting_rifle", false) != -1)
- {
- if(Clip == 0)
- {
- SetEntProp(iViewModel, Prop_Send, "m_nLayerSequence", 3);
- SetEntPropFloat(iViewModel, Prop_Send, "m_flLayerStartTime", GetGameTime());
- ChangeEdictState(iViewModel, FindDataMapInfo(iViewModel, "m_nLayerSequence"));
- }
- else if(Clip > 0)
- {
- SetEntProp(iViewModel, Prop_Send, "m_nLayerSequence", 13);
- SetEntPropFloat(iViewModel, Prop_Send, "m_flLayerStartTime", GetGameTime());
- ChangeEdictState(iViewModel, FindDataMapInfo(iViewModel, "m_nLayerSequence"));
- }
- }
- return Plugin_Continue;
- }
- stock bool:IsValidClient(iClient)
- {
- if(iClient < 1 || iClient > MaxClients)
- return false;
- return IsClientInGame(iClient);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement