Advertisement
gamer931215

gKeys

Sep 24th, 2011
580
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.97 KB | None | 0 0
  1. /*
  2.     gKeys 1.0
  3.     Playerkeys simplifier by Gamer931215
  4.     © http://www.gamer93.net/ 2011
  5. */
  6. #if defined gKEYS_INCLUDED
  7.     #endinput
  8. #endif
  9. #define gKEYS_INCLUDED
  10. #include <a_samp>
  11. #if !defined HOLDING
  12.     #define HOLDING(%0) \
  13.         ((newkeys & (%0)) == (%0))
  14. #endif
  15. #if !defined PRESSED
  16.     #define PRESSED(%0) \
  17.         (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  18. #endif
  19. #if !defined RELEASED
  20.     #define RELEASED(%0) \
  21.         (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  22. #endif
  23. #define KEYHANDLER:%0(%1,%2)    forward handler_%0(%1,%2);   \
  24.                             public handler_%0(%1,%2)
  25. #define KEY_LIMIT 20
  26.  
  27. new Keys[KEY_LIMIT][26] = {
  28.     {KEY_ACTION, "handler_ACTION"},
  29.     {KEY_CROUCH, "handler_CROUCH"},
  30.     {KEY_FIRE, "handler_FIRE"},
  31.     {KEY_SPRINT, "handler_SPRINT"},
  32.     {KEY_SECONDARY_ATTACK, "handler_SECONDARY_ATTACK"},
  33.     {KEY_JUMP, "handler_JUMP"},
  34.     {KEY_LOOK_RIGHT, "handler_LOOK_RIGHT"},
  35.     {KEY_HANDBRAKE, "handler_HANDBRAKE"},
  36.     {KEY_LOOK_LEFT, "handler_LOOK_LEFT"},
  37.     {KEY_SUBMISSION, "handler_SUBMISSION"},
  38.     {KEY_LOOK_BEHIND, "handler_LOOK_BEHIND"},
  39.     {KEY_WALK, "handler_WALK"},
  40.     {KEY_ANALOG_UP, "handler_ANALOG_UP"},
  41.     {KEY_ANALOG_DOWN, "handler_ANALOG_DOWN"},
  42.     {KEY_ANALOG_LEFT, "handler_ANALOG_LEFT"},
  43.     {KEY_ANALOG_RIGHT, "handler_ANALOG_RIGHT"},
  44.     {KEY_UP, "handler_UP"},
  45.     {KEY_DOWN, "handler_DOWN"},
  46.     {KEY_LEFT, "handler_LEFT"},
  47.     {KEY_RIGHT, "handler_RIGHT"}
  48. };
  49.  
  50. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  51. {
  52.     for(new i = 0; i < KEY_LIMIT; i++)
  53.     {
  54.         if(HOLDING(Keys[i][0])) { CallLocalFunction(Keys[i][1],"ii",playerid,0); }
  55.         if(PRESSED(Keys[i][0])) { CallLocalFunction(Keys[i][1],"ii",playerid,1); }
  56.         if(RELEASED(Keys[i][0])){ CallLocalFunction(Keys[i][1],"ii",playerid,2); }
  57.     }
  58.     return CallLocalFunction("gKey_OnPlayerKeyStateChange","iii",playerid,newkeys,oldkeys);
  59. }
  60. #if defined _ALS_OnPlayerKeyStateChange
  61.     #undef OnPlayerKeyStateChange
  62. #else
  63.     #define _ALS_OnPlayerKeyStateChange
  64. #endif
  65. #define OnPlayerKeyStateChange gKey_OnPlayerKeyStateChange
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement