Advertisement
Guest User

Untitled

a guest
Sep 28th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. public UpdateClientData(iPlayer, SendWeapons, CD_Handle)
  2. {
  3. if(is_user_bot(iPlayer) || !is_user_connected(iPlayer))
  4. return FMRES_SUPERCEDE;
  5.  
  6. enum
  7. {
  8. SPEC_MODE,
  9. SPEC_TARGET,
  10. SPEC_END
  11. };
  12.  
  13. static aSpecInfo[33][SPEC_END];
  14. static Float:flGameTime;
  15. static Float:flLastEventCheck;
  16. static iTarget;
  17. static iSpecMode;
  18. static iActiveItem;
  19. static id;
  20. static kGun;
  21. iTarget = (iSpecMode = pev(iPlayer, pev_iuser1)) ? pev(iPlayer, pev_iuser2) : iPlayer;
  22.  
  23. iActiveItem = get_pdata_cbase(iTarget, m_pActiveItem, XO_PLAYER);
  24.  
  25. if(iActiveItem == NULLENT)
  26. return FMRES_IGNORED;
  27.  
  28. id = get_pdata_int(iActiveItem, m_iId, XO_WEAPON);
  29. kGun = get_user_weapon(iTarget, _, _);
  30.  
  31. flGameTime = get_gametime();
  32. flLastEventCheck = get_pdata_float(iActiveItem, m_flLastEventCheck, XO_WEAPON);
  33.  
  34.  
  35. if(id)
  36. {
  37. if(iSpecMode)
  38. {
  39. if(aSpecInfo[iPlayer][SPEC_MODE] != iSpecMode)
  40. {
  41. aSpecInfo[iPlayer][SPEC_MODE] = iSpecMode;
  42. aSpecInfo[iPlayer][SPEC_TARGET] = FALSE;
  43. }
  44.  
  45. if(iSpecMode == OBS_IN_EYE && aSpecInfo[iPlayer][SPEC_TARGET] != iTarget)
  46. {
  47. aSpecInfo[iPlayer][SPEC_TARGET] = iTarget;
  48.  
  49. static iTaskData[2];
  50. iTaskData[0] = iActive[bUsingGuns[iPlayer][kGun]];
  51. iTaskData[1] = WEAPON_IDLE;
  52. // Because once pushing LMB u will immediately move to OBS_IN_EYE, the anim message may skip, so let's make delay
  53. set_task(0.1, "SPEC_OBS_IN_EYE", iPlayer, iTaskData, sizeof(iTaskData)); // Delay 0.1, because with high ping this may skip this 99%
  54. }
  55. }
  56.  
  57. if(!flLastEventCheck)
  58. {
  59. set_cd(CD_Handle, CD_flNextAttack, get_gametime() + 0.001);
  60. set_cd(CD_Handle, CD_WeaponAnim, IDLE_ANIM);
  61. return FMRES_HANDLED;
  62. }
  63.  
  64. if(flLastEventCheck <= flGameTime)
  65. {
  66. SendWeaponAnim(iTarget, GetWeaponDrawAnim(iActiveItem), iActive[bUsingGuns[iTarget][kGun]]);
  67. set_pdata_float(iActiveItem, m_flLastEventCheck, 0.0, XO_WEAPON);
  68. }
  69. }
  70. return FMRES_HANDLED;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement