Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmod>
- #include <amxmisc>
- #include <VexdUM>
- new gmsgSetFOV
- new gmsgCrosshair
- new g_lastFov[33]
- new g_MinMaxFov[33][2]
- new g_doFov[33]
- new g_resetHud[33]
- public plugin_init()
- {
- register_plugin("CSS Zoom", "0.3.1", "Evaldas")
- register_cvar("css_zoom", "1")
- register_event("ResetHUD", "eventResetHud", "b")
- register_event("SetFOV", "eventSetFOV", "be")
- gmsgSetFOV = get_user_msgid("SetFOV")
- gmsgCrosshair = get_user_msgid("Crosshair")
- }
- public client_connect(id)
- {
- g_doFov[id] = 0
- g_resetHud[id] = 0
- }
- public eventResetHud(id)
- {
- g_resetHud[id] = 1
- set_task(0.2, "clearResetHud", id+978465)
- }
- public clearResetHud(id)
- {
- g_resetHud[id-978465] = 0
- }
- public eventSetFOV(id)
- {
- if(g_resetHud[id])
- return PLUGIN_CONTINUE
- new fov = read_data(1)
- if(fov < g_lastFov[id])
- {
- g_MinMaxFov[id][0] = fov
- g_MinMaxFov[id][1] = g_lastFov[id]
- g_doFov[id] = 1
- }
- else if(fov > g_lastFov[id])
- {
- g_MinMaxFov[id][0] = fov
- g_MinMaxFov[id][1] = g_lastFov[id]
- g_doFov[id] = 1
- }
- else g_doFov[id] = 0
- g_lastFov[id] = fov
- return PLUGIN_CONTINUE
- }
- public client_prethink(id)
- {
- if(get_cvar_num("css_zoom") == 0)
- return PLUGIN_CONTINUE
- if(g_doFov[id])
- {
- if(g_MinMaxFov[id][1] > g_MinMaxFov[id][0])
- {
- g_MinMaxFov[id][1] -= 2
- if(g_MinMaxFov[id][1] <= g_MinMaxFov[id][0])
- {
- message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
- write_byte(g_MinMaxFov[id][0])
- message_end()
- g_doFov[id] = 0
- }
- else
- {
- message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
- write_byte(g_MinMaxFov[id][1])
- message_end()
- }
- }
- else
- {
- g_MinMaxFov[id][1] += 2
- if(g_MinMaxFov[id][1] >= g_MinMaxFov[id][0])
- {
- message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
- write_byte(g_MinMaxFov[id][0])
- message_end()
- g_doFov[id] = 0
- new clip, ammo, wpn = get_user_weapon(id, clip, ammo)
- if(wpn == CSW_AWP || wpn == CSW_SCOUT || wpn == CSW_G3SG1 || wpn == CSW_SG550)
- {
- message_begin(MSG_ONE, gmsgCrosshair, {0,0,0}, id)
- write_byte(0)
- message_end()
- }
- }
- else
- {
- message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id)
- write_byte(g_MinMaxFov[id][1])
- message_end()
- }
- }
- }
- return PLUGIN_CONTINUE
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement