adri1

Untitled

Mar 31st, 2015
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1.  
  2.  
  3. int CallOnMouseWheel(int val)
  4. {
  5. int idx;
  6. if (!amx_FindPublic(amx2, "OnMouseWheelScroll", &idx))
  7. {
  8. cell ret;
  9. amx_Push(amx2, val);
  10. amx_Exec(amx2, &ret, idx);
  11. return 1;
  12. }
  13. return 0;
  14. }
  15.  
  16. int CallOnRightButtom(int val)
  17. {
  18. int idx;
  19. if (!amx_FindPublic(amx2, "OnMouseRightButtom", &idx))
  20. {
  21. cell ret;
  22. amx_Push(amx2, val);
  23. amx_Exec(amx2, &ret, idx);
  24. return 1;
  25. }
  26. return 0;
  27. }
  28.  
  29. int CallOnKeyPressed(int val, int val2)
  30. {
  31. int idx;
  32. if (!amx_FindPublic(amx2, "OnAnyKeyDownRelease", &idx))
  33. {
  34. cell ret;
  35. amx_Push(amx2, val);
  36. amx_Push(amx2, val2);
  37. amx_Exec(amx2, &ret, idx);
  38. return 1;
  39. }
  40. return 0;
  41. }
  42.  
  43. static HHOOK hhkk = NULL;
  44. LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
  45. {
  46.  
  47. MSLLHOOKSTRUCT * pMouseStruct = (MSLLHOOKSTRUCT *)lParam;
  48.  
  49. switch(wParam)
  50. {
  51. case WM_MOUSEWHEEL:
  52. {
  53. if (HIWORD(pMouseStruct->mouseData) == 120) CallOnMouseWheel(0);
  54. else CallOnMouseWheel(1);
  55. break;
  56. }
  57. case WM_RBUTTONDOWN & WM_RBUTTONUP:
  58. {
  59. CallOnRightButtom(1);
  60. break;
  61. }
  62. case WM_RBUTTONUP:
  63. {
  64. CallOnRightButtom(0);
  65. break;
  66. }
  67. }
  68. return CallNextHookEx(hhkk, nCode, wParam, lParam);
  69. }
  70.  
  71. static HHOOK hhk = NULL;
  72. LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
  73. {
  74. KBDLLHOOKSTRUCT * pKeyboardStruct = (KBDLLHOOKSTRUCT *)lParam;
  75. switch(wParam)
  76. {
  77. case WM_KEYDOWN:
  78. {
  79. CallOnKeyPressed(pKeyboardStruct->vkCode, 1);
  80. break;
  81. }
  82. case WM_KEYUP:
  83. {
  84. CallOnKeyPressed(pKeyboardStruct->vkCode, 0);
  85. break;
  86. }
  87. }
  88. return CallNextHookEx(hhk, nCode, wParam, lParam);
  89. }
  90.  
  91. DWORD WINAPI ThreadProc(void*)
  92. {
  93. hhkk = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, NULL, 0);
  94. hhk = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, NULL, 0);
  95. MSG msg;
  96. while (GetMessage(&msg, 0, 0, 0))
  97. {
  98. TranslateMessage(&msg);
  99. DispatchMessage(&msg);
  100. }
  101. return 1;
  102. }
  103.  
  104.  
  105. PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData)
  106. {
  107. CreateThread(NULL, 0, ThreadProc, NULL, 0, 0);
  108. pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
  109. logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF];
  110. logprintf("\n\n| This plugin was loaded, plugin dedicated to new flymode style by adri1 |\n");
  111. return 1;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment