Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #include <amxmod>
  2. #include <amxmisc>
  3. #include <VexdUM>
  4.  
  5. new gmsgSetFOV
  6. new gmsgCrosshair
  7. new g_lastFov[33]
  8. new g_MinMaxFov[33][2]
  9. new g_doFov[33]
  10. new g_resetHud[33]
  11.  
  12. public plugin_init()
  13. {
  14. register_plugin("CSS Zoom", "0.3.1", "Evaldas")
  15. register_cvar("css_zoom", "1")
  16. register_event("ResetHUD", "eventResetHud", "b")
  17. register_event("SetFOV", "eventSetFOV", "be")
  18. gmsgSetFOV = get_user_msgid("SetFOV")
  19. gmsgCrosshair = get_user_msgid("Crosshair")
  20. }
  21.  
  22. public client_connect(id)
  23. {
  24. g_doFov[id] = 0
  25. g_resetHud[id] = 0
  26. }
  27.  
  28. public eventResetHud(id)
  29. {
  30. g_resetHud[id] = 1
  31. set_task(0.2, "clearResetHud", id+978465)
  32. }
  33.  
  34. public clearResetHud(id)
  35. {
  36. g_resetHud[id-978465] = 0
  37. }
  38.  
  39. public eventSetFOV(id)
  40. {
  41. if(g_resetHud[id])
  42. return PLUGIN_CONTINUE
  43.  
  44. new fov = read_data(1)
  45. if(fov < g_lastFov[id])
  46. {
  47. g_MinMaxFov[id][0] = fov
  48. g_MinMaxFov[id][1] = g_lastFov[id]
  49. g_doFov[id] = 1
  50. }
  51. else if(fov > g_lastFov[id])
  52. {
  53. g_MinMaxFov[id][0] = fov
  54. g_MinMaxFov[id][1] = g_lastFov[id]
  55. g_doFov[id] = 1
  56.  
  57. }
  58. else g_doFov[id] = 0
  59. g_lastFov[id] = fov
  60.  
  61. return PLUGIN_CONTINUE
  62. }
  63.  
  64. public client_prethink(id)
  65. {
  66. if(get_cvar_num("css_zoom") == 0)
  67. return PLUGIN_CONTINUE
  68.  
  69. if(g_doFov[id])
  70. {
  71. if(g_MinMaxFov[id][1] > g_MinMaxFov[id][0])
  72. {
  73. g_MinMaxFov[id][1] -= 2
  74. if(g_MinMaxFov[id][1] <= g_MinMaxFov[id][0])
  75. {
  76. message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
  77. write_byte(g_MinMaxFov[id][0])
  78. message_end()
  79. g_doFov[id] = 0
  80. }
  81. else
  82. {
  83. message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
  84. write_byte(g_MinMaxFov[id][1])
  85. message_end()
  86. }
  87. }
  88. else
  89. {
  90. g_MinMaxFov[id][1] += 2
  91. if(g_MinMaxFov[id][1] >= g_MinMaxFov[id][0])
  92. {
  93. message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
  94. write_byte(g_MinMaxFov[id][0])
  95. message_end()
  96. g_doFov[id] = 0
  97. new clip, ammo, wpn = get_user_weapon(id, clip, ammo)
  98. if(wpn == CSW_AWP || wpn == CSW_SCOUT || wpn == CSW_G3SG1 || wpn == CSW_SG550)
  99. {
  100. message_begin(MSG_ONE, gmsgCrosshair, {0,0,0}, id)
  101. write_byte(0)
  102. message_end()
  103. }
  104. }
  105. else
  106. {
  107. message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
  108. write_byte(g_MinMaxFov[id][1])
  109. message_end()
  110. }
  111. }
  112. }
  113. return PLUGIN_CONTINUE
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement