Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <fakemeta>
  5. #include <fakemeta_util>
  6. #include <engine>
  7. #include <csx>
  8.  
  9. new const PLUGIN[] = "Furien: C4 Sprite";
  10. new const VERSION[] = "1.0";
  11.  
  12. new C4Sprite;
  13.  
  14. public plugin_init()
  15. {
  16. register_plugin(PLUGIN, VERSION, "Adventx");
  17.  
  18. register_forward(FM_PlayerPreThink, "FWD_PreThink");
  19. }
  20.  
  21. public plugin_precache()
  22. {
  23. C4Sprite = precache_model("sprites/fmu_sprite/C4.spr");
  24. }
  25.  
  26. public FWD_PreThink(id)
  27. {
  28. if(is_user_connected(id)) {
  29. if(get_user_team(id) == 1 && is_user_alive(id)) {
  30. new _C4 = find_ent_by_model(-1, "weaponbox", "models/w_backpack.mdl")
  31.  
  32. if(is_valid_ent(_C4)) {
  33. new Float:MyOrigin[3], Float:TargetOrigin[3]
  34. entity_get_vector(id, EV_VEC_origin, MyOrigin)
  35. entity_get_vector(_C4, EV_VEC_origin, TargetOrigin)
  36.  
  37. if(is_in_viewcone(id, TargetOrigin)) {
  38. new Float:Middle[3], Float:HitPoint[3]
  39. xs_vec_sub(TargetOrigin, MyOrigin, Middle)
  40. trace_line(-1, MyOrigin, TargetOrigin, HitPoint)
  41.  
  42. new Float:WallOffset[3], Float:DistanceToWall
  43. DistanceToWall = vector_distance(MyOrigin, HitPoint) - 10.0
  44. new Float:Len = xs_vec_len(Middle)
  45. xs_vec_copy(Middle, WallOffset)
  46.  
  47. WallOffset[0] /= Len, WallOffset[1] /= Len, WallOffset[2] /= Len
  48. WallOffset[0] *= DistanceToWall, WallOffset[1] *= DistanceToWall, WallOffset[2] *= DistanceToWall
  49.  
  50. new Float:SpriteOffset[3]
  51. xs_vec_add(WallOffset, MyOrigin, SpriteOffset)
  52.  
  53. message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
  54. write_byte(TE_SPRITE)
  55. write_coord(floatround(SpriteOffset[0]))
  56. write_coord(floatround(SpriteOffset[1]))
  57. write_coord(floatround(SpriteOffset[2]+36.0))
  58. write_short(C4Sprite)
  59. write_byte(floatround(2.5))
  60. write_byte(50)
  61. message_end()
  62. }
  63. }
  64. }
  65. }
  66. }
  67.  
  68. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  69. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  70. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement