FlacoBey

Untitled

May 24th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 19.04 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <sdktools>
  3. #include <sdkhooks>
  4.  
  5. #pragma tabsize 0
  6.  
  7. float EVERYONEAutoShot
  8. float EVERYONEHuntingRifle
  9. float EVERYONEPistol
  10. float EVERYONEMagnum
  11. float EVERYONEDesert
  12. float EVERYONEMilitary
  13. float EVERYONEScout
  14. float EVERYONEAwp
  15. float EVERYONESpas
  16. float EVERYONESmg
  17. float EVERYONESilenced
  18. float EVERYONESSG552
  19. float EVERYONESSG
  20. float EVERYONERifle
  21. float EVERYONEAk47
  22. float EVERYONEM60
  23. float EVERYONEPumpshotgun
  24. float EVERYONEChrome
  25.  
  26. float HeadEveryOneAutoShot
  27. float HeadEveryOneHuntingRifle
  28. float HeadEveryOnePistol
  29. float HeadEveryOneMagnum
  30. float HeadEveryOneDesert
  31. float HeadEveryOneMilitary
  32. float HeadEveryOneScout
  33. float HeadEveryOneAwp
  34. float HeadEveryOneSpas
  35. float HeadEveryOneSmg
  36. float HeadEveryOneSilenced
  37. float HeadEveryOneSSG552
  38. float HeadEveryOneSSG
  39. float HeadEveryOneRifle
  40. float HeadEveryOneAk47
  41. float HeadEveryOneM60
  42. float HeadEveryOnePumpshotgun
  43. float HeadEveryOneChrome
  44.  
  45. float TankAutoShot
  46. float TankHuntingRifle
  47. float TankPistol
  48. float TankMagnum
  49. float TankDesert
  50. float TankMilitary
  51. float TankScout
  52. float TankAwp
  53. float TankSpas
  54. float TankSmg
  55. float TankSilenced
  56. float TankSSG552
  57. float TankSSG
  58. float TankRifle
  59. float TankAk47
  60. float TankM60
  61. float TankPumpshotgun
  62. float TankChrome
  63.  
  64. float HEADAutoShot
  65. float HEADHuntingRifle
  66. float HEADPistol
  67. float HEADMagnum
  68. float HEADDesert
  69. float HEADMilitary
  70. float HEADScout
  71. float HEADAwp
  72. float HEADSpas
  73. float HEADSmg
  74. float HEADSilenced
  75. float HEADSSG552
  76. float HEADSSG
  77. float HEADRifle
  78. float HEADAk47
  79. float HEADM60
  80. float HEADPumpshotgun
  81. float HEADChrome
  82.  
  83. float HeadChargerAutoShot
  84. float HeadChargerHuntingRifle
  85. float HeadChargerPistol
  86. float HeadChargerMagnum
  87. float HeadChargerDesert
  88. float HeadChargerMilitary
  89. float HeadChargerScout
  90. float HeadChargerAwp
  91. float HeadChargerSpas
  92. float HeadChargerSmg
  93. float HeadChargerSilenced
  94. float HeadChargerSSG552
  95. float HeadChargerSSG
  96. float HeadChargerRifle
  97. float HeadChargerAk47
  98. float HeadChargerM60
  99. float HeadChargerPumpshotgun
  100. float HeadChargerChrome
  101.  
  102. float ChargerAutoShot
  103. float ChargerHuntingRifle
  104. float ChargerPistol
  105. float ChargerMagnum
  106. float ChargerDesert
  107. float ChargerMilitary
  108. float ChargerScout
  109. float ChargerAwp
  110. float ChargerSpas
  111. float ChargerSmg
  112. float ChargerSilenced
  113. float ChargerSSG552
  114. float ChargerSSG
  115. float ChargerRifle
  116. float ChargerAk47
  117. float ChargerM60
  118. float ChargerPumpshotgun
  119. float ChargerChrome
  120.  
  121. new bool:lateLoad;
  122.  
  123. public APLRes:AskPluginLoad2(Handle:plugin, bool:late, String:error[], errMax)
  124. {
  125.     lateLoad = late;
  126.     return APLRes_Success;    
  127. }
  128.  
  129. public OnPluginStart()
  130. {
  131.     if (lateLoad)
  132.     {
  133.         for (new client = 1; client <= MaxClients; client++)
  134.         {
  135.             if (IsClientInGame(client))
  136.             {
  137.                 OnClientPutInServer(client);
  138.             }
  139.         }
  140.     }
  141. }
  142.  
  143. public OnClientPutInServer(client)
  144. {
  145.     SDKHook(client, SDKHook_TraceAttack, OnTakeDamage);
  146. }
  147.  
  148. public OnClientDisconnect(client)
  149. {
  150.     SDKUnhook(client, SDKHook_TraceAttack, OnTakeDamage);
  151. }
  152.  
  153. public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup)
  154. {
  155.     if (!(damagetype & DMG_BURN || damagetype & DMG_BLAST))
  156.     {
  157.         if (IsValidClient(attacker) && GetClientTeam(attacker) != 3)
  158.         {
  159.             if(IsValidClient(victim) && GetClientTeam(victim) != 2)
  160.             {
  161.                 int iEnt = GetEntPropEnt(attacker, Prop_Send, "m_hUseEntity");
  162.                 if(!IsValidEdict(iEnt) || iEnt < 0) return Plugin_Continue;
  163.                 char sWeaponEx[32]
  164.                 GetEdictClassname(iEnt, sWeaponEx, sizeof(sWeaponEx));
  165.                 if (StrEqual(sWeaponEx, "prop_minigun") || StrEqual(sWeaponEx, "prop_minigun_l4d1")) return Plugin_Continue;
  166.                
  167.                 decl String:classname[64];
  168.                 GetClientWeapon(attacker, classname, sizeof(classname));
  169.                 if(StrEqual(classname, "weapon_melee")) return Plugin_Continue;
  170.                
  171.                 int vClass = GetEntProp(victim, Prop_Send, "m_zombieClass")
  172.                
  173.                 if(vClass < 6)
  174.                 {
  175.                     if(StrEqual(classname, "weapon_autoshotgun"))
  176.                     {
  177.                         damage = EVERYONEAutoShot
  178.                         if(hitgroup == 1)
  179.                         {
  180.                             damage = HeadEveryOneAutoShot
  181.                         }
  182.                     }
  183.                     else if(StrEqual(classname, "weapon_hunting_rifle"))
  184.                     {
  185.                         damage = EVERYONEHuntingRifle
  186.                         if(hitgroup == 1)
  187.                         {
  188.                             damage = HeadEveryOneHuntingRifle
  189.                         }
  190.                     }
  191.                     else if(StrEqual(classname, "weapon_rifle"))
  192.                     {
  193.                         damage = EVERYONERifle
  194.                         if(hitgroup == 1)
  195.                         {
  196.                             damage = HeadEveryOneRifle
  197.                         }
  198.                     }
  199.                     else if(StrEqual(classname, "weapon_pistol"))
  200.                     {
  201.                         damage = EVERYONEPistol
  202.                         if(hitgroup == 1)
  203.                         {
  204.                             damage = HeadEveryOnePistol
  205.                         }
  206.                     }
  207.                     else if(StrEqual(classname, "weapon_pistol_magnum"))
  208.                     {
  209.                         damage = EVERYONEMagnum
  210.                         if(hitgroup == 1)
  211.                         {
  212.                             damage = HeadEveryOneMagnum
  213.                         }
  214.                     }
  215.                     else if(StrEqual(classname, "weapon_pumpshotgun"))
  216.                     {
  217.                         damage = EVERYONEPumpshotgun
  218.                         if(hitgroup == 1)
  219.                         {
  220.                             damage = HeadEveryOnePumpshotgun
  221.                         }
  222.                     }
  223.                     else if(StrEqual(classname, "weapon_rifle_ak47"))
  224.                     {
  225.                         damage = EVERYONEAk47
  226.                         if(hitgroup == 1)
  227.                         {
  228.                             damage = HeadEveryOneAk47
  229.                         }
  230.                     }
  231.                     else if(StrEqual(classname, "weapon_rifle_desert"))
  232.                     {
  233.                         damage = EVERYONEDesert
  234.                         if(hitgroup == 1)
  235.                         {
  236.                             damage = HeadEveryOneDesert
  237.                         }
  238.                     }
  239.                     else if(StrEqual(classname, "weapon_rifle_m60"))
  240.                     {
  241.                         damage = EVERYONEM60
  242.                         if(hitgroup == 1)
  243.                         {
  244.                             damage = HeadEveryOneM60
  245.                         }
  246.                     }
  247.                     else if(StrEqual(classname, "weapon_rifle_sg552"))
  248.                     {
  249.                         damage = EVERYONESSG552
  250.                         if(hitgroup == 1)
  251.                         {
  252.                             damage = HeadEveryOneSSG552
  253.                         }
  254.                     }
  255.                     else if(StrEqual(classname, "weapon_shotgun_chrome"))
  256.                     {
  257.                         damage = EVERYONEChrome
  258.                         if(hitgroup == 1)
  259.                         {
  260.                             damage = HeadEveryOneChrome
  261.                         }
  262.                     }
  263.                     else if(StrEqual(classname, "weapon_shotgun_spas"))
  264.                     {
  265.                         damage = EVERYONESpas
  266.                         if(hitgroup == 1)
  267.                         {
  268.                             damage = HeadEveryOneSpas
  269.                         }
  270.                     }
  271.                     else if(StrEqual(classname, "weapon_smg"))
  272.                     {
  273.                         damage = EVERYONESmg
  274.                         if(hitgroup == 1)
  275.                         {
  276.                             damage = HeadEveryOneSmg
  277.                         }
  278.                     }
  279.                     else if(StrEqual(classname, "weapon_smg_mp5"))
  280.                     {
  281.                         damage = EVERYONESSG
  282.                         if(hitgroup == 1)
  283.                         {
  284.                             damage = HeadEveryOneSSG
  285.                         }
  286.                     }
  287.                     else if(StrEqual(classname, "weapon_smg_silenced"))
  288.                     {
  289.                         damage = EVERYONESilenced
  290.                         if(hitgroup == 1)
  291.                         {
  292.                             damage = HeadEveryOneSilenced
  293.                         }
  294.                     }
  295.                     else if(StrEqual(classname, "weapon_sniper_awp"))
  296.                     {
  297.                         damage = EVERYONEAwp
  298.                         if(hitgroup == 1)
  299.                         {
  300.                             damage = HeadEveryOneAwp
  301.                         }
  302.                     }
  303.                     else if(StrEqual(classname, "weapon_sniper_scout"))
  304.                     {
  305.                         damage = EVERYONEScout
  306.                         if(hitgroup == 1)
  307.                         {
  308.                             damage = HeadEveryOneScout
  309.                         }
  310.                     }
  311.                     else if(StrEqual(classname, "weapon_sniper_military"))
  312.                     {
  313.                         damage = EVERYONEMilitary
  314.                         if(hitgroup == 1)
  315.                         {
  316.                             damage = HeadEveryOneMilitary
  317.                         }
  318.                     }
  319.                 }
  320.                 else if(vClass == 6)
  321.                 {
  322.                     if(StrEqual(classname, "weapon_autoshotgun"))
  323.                     {
  324.                         damage = ChargerAutoShot
  325.                         if(hitgroup == 1)
  326.                         {
  327.                             damage = HeadChargerAutoShot
  328.                         }
  329.                     }
  330.                     else if(StrEqual(classname, "weapon_hunting_rifle"))
  331.                     {
  332.                         damage = ChargerHuntingRifle
  333.                         if(hitgroup == 1)
  334.                         {
  335.                             damage = HeadChargerHuntingRifle
  336.                         }
  337.                     }
  338.                     else if(StrEqual(classname, "weapon_rifle"))
  339.                     {
  340.                         damage = ChargerRifle
  341.                         if(hitgroup == 1)
  342.                         {
  343.                             damage = HeadChargerRifle
  344.                         }
  345.                     }
  346.                     else if(StrEqual(classname, "weapon_pistol"))
  347.                     {
  348.                         damage = ChargerPistol
  349.                         if(hitgroup == 1)
  350.                         {
  351.                             damage = HeadChargerPistol
  352.                         }
  353.                     }
  354.                     else if(StrEqual(classname, "weapon_pistol_magnum"))
  355.                     {
  356.                         damage = ChargerMagnum
  357.                         if(hitgroup == 1)
  358.                         {
  359.                             damage = HeadChargerMagnum
  360.                         }
  361.                     }
  362.                     else if(StrEqual(classname, "weapon_pumpshotgun"))
  363.                     {
  364.                         damage = ChargerPumpshotgun
  365.                         if(hitgroup == 1)
  366.                         {
  367.                             damage = HeadChargerPumpshotgun
  368.                         }
  369.                     }
  370.                     else if(StrEqual(classname, "weapon_rifle_ak47"))
  371.                     {
  372.                         damage = ChargerAk47
  373.                         if(hitgroup == 1)
  374.                         {
  375.                             damage = HeadChargerAk47
  376.                         }
  377.                     }
  378.                     else if(StrEqual(classname, "weapon_rifle_desert"))
  379.                     {
  380.                         damage = ChargerDesert
  381.                         if(hitgroup == 1)
  382.                         {
  383.                             damage = HeadChargerDesert
  384.                         }
  385.                     }
  386.                     else if(StrEqual(classname, "weapon_rifle_m60"))
  387.                     {
  388.                         damage = ChargerM60
  389.                         if(hitgroup == 1)
  390.                         {
  391.                             damage = HeadChargerM60
  392.                         }
  393.                     }
  394.                     else if(StrEqual(classname, "weapon_rifle_sg552"))
  395.                     {
  396.                         damage = ChargerSSG552
  397.                         if(hitgroup == 1)
  398.                         {
  399.                             damage = HeadChargerSSG552
  400.                         }
  401.                     }
  402.                     else if(StrEqual(classname, "weapon_shotgun_chrome"))
  403.                     {
  404.                         damage = ChargerChrome
  405.                         if(hitgroup == 1)
  406.                         {
  407.                             damage = HeadChargerChrome
  408.                         }
  409.                     }
  410.                     else if(StrEqual(classname, "weapon_shotgun_spas"))
  411.                     {
  412.                         damage = ChargerSpas
  413.                         if(hitgroup == 1)
  414.                         {
  415.                             damage = HeadChargerSpas
  416.                         }
  417.                     }
  418.                     else if(StrEqual(classname, "weapon_smg"))
  419.                     {
  420.                         damage = ChargerSmg
  421.                         if(hitgroup == 1)
  422.                         {
  423.                             damage = HeadChargerSmg
  424.                         }
  425.                     }
  426.                     else if(StrEqual(classname, "weapon_smg_mp5"))
  427.                     {
  428.                         damage = ChargerSSG
  429.                         if(hitgroup == 1)
  430.                         {
  431.                             damage = HeadChargerSSG
  432.                         }
  433.                     }
  434.                     else if(StrEqual(classname, "weapon_smg_silenced"))
  435.                     {
  436.                         damage = ChargerSilenced
  437.                         if(hitgroup == 1)
  438.                         {
  439.                             damage = HeadChargerSilenced
  440.                         }
  441.                     }
  442.                     else if(StrEqual(classname, "weapon_sniper_awp"))
  443.                     {
  444.                         damage = ChargerAwp
  445.                         if(hitgroup == 1)
  446.                         {
  447.                             damage = HeadChargerAwp
  448.                         }
  449.                     }
  450.                     else if(StrEqual(classname, "weapon_sniper_scout"))
  451.                     {
  452.                         damage = ChargerScout
  453.                         if(hitgroup == 1)
  454.                         {
  455.                             damage = HeadChargerScout
  456.                         }
  457.                     }
  458.                     else if(StrEqual(classname, "weapon_sniper_military"))
  459.                     {
  460.                         damage = ChargerMilitary
  461.                         if(hitgroup == 1)
  462.                         {
  463.                             damage = HeadChargerMilitary
  464.                         }
  465.                     }
  466.                 }
  467.                 else if(vClass == 8)
  468.                 {
  469.  
  470.                     if(StrEqual(classname, "weapon_autoshotgun"))
  471.                     {
  472.                         damage = TankAutoShot
  473.                         if(hitgroup == 1)
  474.                         {
  475.                             damage = HEADAutoShot
  476.                         }
  477.                     }
  478.                     else if(StrEqual(classname, "weapon_hunting_rifle"))
  479.                     {
  480.                         damage = TankHuntingRifle
  481.                         if(hitgroup == 1)
  482.                         {
  483.                             damage = HEADHuntingRifle
  484.                         }
  485.                     }
  486.                     else if(StrEqual(classname, "weapon_rifle"))
  487.                     {
  488.                         damage = TankRifle
  489.                         if(hitgroup == 1)
  490.                         {
  491.                             damage = HEADRifle
  492.                         }
  493.                     }
  494.                     else if(StrEqual(classname, "weapon_pistol"))
  495.                     {
  496.                         damage = TankPistol
  497.                         if(hitgroup == 1)
  498.                         {
  499.                             damage = HEADPistol
  500.                         }
  501.                     }
  502.                     else if(StrEqual(classname, "weapon_pistol_magnum"))
  503.                     {
  504.                         damage = TankMagnum
  505.                         if(hitgroup == 1)
  506.                         {
  507.                             damage = HEADMagnum
  508.                         }
  509.                     }
  510.                     else if(StrEqual(classname, "weapon_pumpshotgun"))
  511.                     {
  512.                         damage = TankPumpshotgun
  513.                         if(hitgroup == 1)
  514.                         {
  515.                             damage = HEADPumpshotgun
  516.                         }
  517.                     }
  518.                     else if(StrEqual(classname, "weapon_rifle_ak47"))
  519.                     {
  520.                         damage = TankAk47
  521.                         if(hitgroup == 1)
  522.                         {
  523.                             damage = HEADAk47
  524.                         }
  525.                     }
  526.                     else if(StrEqual(classname, "weapon_rifle_desert"))
  527.                     {
  528.                         damage = TankDesert
  529.                         if(hitgroup == 1)
  530.                         {
  531.                             damage = HEADDesert
  532.                         }
  533.                     }
  534.                     else if(StrEqual(classname, "weapon_rifle_m60"))
  535.                     {
  536.                         damage = TankM60
  537.                         if(hitgroup == 1)
  538.                         {
  539.                             damage = HEADM60
  540.                         }
  541.                     }
  542.                     else if(StrEqual(classname, "weapon_rifle_sg552"))
  543.                     {
  544.                         damage = TankSSG552
  545.                         if(hitgroup == 1)
  546.                         {
  547.                             damage = HEADSSG552
  548.                         }
  549.                     }
  550.                     else if(StrEqual(classname, "weapon_shotgun_chrome"))
  551.                     {
  552.                         damage = TankChrome
  553.                         if(hitgroup == 1)
  554.                         {
  555.                             damage = HEADChrome
  556.                         }
  557.                     }
  558.                     else if(StrEqual(classname, "weapon_shotgun_spas"))
  559.                     {
  560.                         damage = TankSpas
  561.                         if(hitgroup == 1)
  562.                         {
  563.                             damage = HEADSpas
  564.                         }
  565.                     }
  566.                     else if(StrEqual(classname, "weapon_smg"))
  567.                     {
  568.                         damage = TankSmg
  569.                         if(hitgroup == 1)
  570.                         {
  571.                             damage = HEADSmg
  572.                         }
  573.                     }
  574.                     else if(StrEqual(classname, "weapon_smg_mp5"))
  575.                     {
  576.                         damage = TankSSG
  577.                         if(hitgroup == 1)
  578.                         {
  579.                             damage = HEADSSG
  580.                         }
  581.                     }
  582.                     else if(StrEqual(classname, "weapon_smg_silenced"))
  583.                     {
  584.                         damage = TankSilenced
  585.                         if(hitgroup == 1)
  586.                         {
  587.                             damage = HEADSilenced
  588.                         }
  589.                     }
  590.                     else if(StrEqual(classname, "weapon_sniper_awp"))
  591.                     {
  592.                         damage = TankAwp
  593.                         if(hitgroup == 1)
  594.                         {
  595.                             damage = HEADAwp
  596.                         }
  597.                     }
  598.                     else if(StrEqual(classname, "weapon_sniper_scout"))
  599.                     {
  600.                         damage = TankScout
  601.                         if(hitgroup == 1)
  602.                         {
  603.                             damage = HEADScout
  604.                         }
  605.                     }
  606.                     else if(StrEqual(classname, "weapon_sniper_military"))
  607.                     {
  608.                         damage = TankMilitary
  609.                         if(hitgroup == 1)
  610.                         {
  611.                             damage = HEADMilitary
  612.                         }
  613.                     }
  614.                     return Plugin_Changed;
  615.                 }
  616.             }
  617.         }
  618.     }
  619.     return Plugin_Continue;
  620. }
  621.  
  622. public IsValidClient(client)
  623. {
  624.     if (client <= 0)
  625.         return false;
  626.        
  627.     if (client > MaxClients)
  628.         return false;
  629.        
  630.     if (!IsClientInGame(client))
  631.         return false;
  632.        
  633.     if (!IsPlayerAlive(client))
  634.         return false;
  635.  
  636.     return true;
  637. }
Advertisement
Add Comment
Please, Sign In to add comment