FlacoBey

Untitled

Feb 16th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. #include sourcemod
  2. #include sdktools
  3. #include sdkhooks
  4.  
  5. public Action OnPlayerRunCmd(int client, int& buttons, int& impulse, float vel[3], float angles[3], int& weapon)
  6. {
  7.    
  8.     if(buttons & IN_ZOOM)
  9.     {
  10.         new iCurrentWeapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
  11.         decl String:weaponn[32];
  12.         GetEntityClassname(iCurrentWeapon, weaponn, sizeof(weaponn));
  13.         if(StrEqual(weaponn, "weapon_rifle_m60"))
  14.         {
  15.             int slot = GetPlayerWeaponSlot(client, 0);
  16.             if (IsValidEntity(slot))
  17.             {
  18.                 SDKCallWeaponDrop(client, slot);
  19.             }
  20.         }
  21.     }
  22. }
  23.  
  24. stock bool bIsSurvivor(int client)
  25. {
  26.     return client > 0 && client <= MaxClients && IsClientInGame(client) && GetClientTeam(client) == 2 && !IsClientInKickQueue(client) && IsPlayerAlive(client);
  27. }
  28.  
  29. stock SDKCallWeaponDrop(client, weapon)
  30. {
  31.     decl Float:vecAngles[3], Float:vecTarget[3], Float:vecVelocity[3];
  32.     if (GetPlayerEye(client, vecTarget))
  33.     {
  34.         GetClientEyeAngles(client, vecAngles);
  35.         GetAngleVectors(vecAngles, vecVelocity, NULL_VECTOR, NULL_VECTOR)
  36.         vecVelocity[0] *= 800.0;
  37.         vecVelocity[1] *= 800.0;
  38.         vecVelocity[2] *= 800.0;
  39.  
  40.         SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
  41.  
  42.         TeleportEntity(weapon, NULL_VECTOR, NULL_VECTOR, vecVelocity)
  43.     }
  44. }
  45.  
  46. stock bool:GetPlayerEye(client, Float:vecTarget[3])
  47. {
  48.     decl Float:Origin[3], Float:Angles[3];
  49.     GetClientEyePosition(client, Origin);
  50.     GetClientEyeAngles(client, Angles);
  51.  
  52.     new Handle:trace = TR_TraceRayFilterEx(Origin, Angles, MASK_SHOT, RayType_Infinite, TraceEntityFilterPlayer);
  53.     if (TR_DidHit(trace))
  54.     {
  55.         TR_GetEndPosition(vecTarget, trace);
  56.         CloseHandle(trace);
  57.         return true;
  58.     }
  59.     CloseHandle(trace);
  60.     return false;
  61. }
  62.  
  63. public bool:TraceEntityFilterPlayer(entity, contentsMask)
  64. {
  65.     return entity > GetMaxClients() || !entity;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment