Advertisement
Guest User

Badger

a guest
Jan 14th, 2010
869
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.49 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. //KEYS
  4. #define HOLDING(%0) \
  5.     ((newkeys & (%0)) == (%0))// HOLDING(keys)
  6. #define PRESSED(%0) \
  7.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))// PRESSED(keys)
  8. #define RELEASED(%0) \
  9.     (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))// RELEASED(keys)
  10.  
  11. forward Quad(playerid);
  12. //NON DDB Vehicles
  13. //Air vehicles
  14. IsAirVehicle(vehicleid)
  15. {
  16.     switch(GetVehicleModel(vehicleid)) {
  17.         case 592,577,511,512,593,520,553,476,519,460,513,548,425,417,487,488,497,563,447,469: return 1;
  18.     }
  19.     return 0;
  20. }
  21. //Trailers
  22. IsTrailer(vehicleid)
  23. {
  24.     switch(GetVehicleModel(vehicleid)) {
  25.         case 435,450,591,606,607,610,584,608,611: return 1;
  26.     }
  27.     return 0;
  28. }
  29. //Trains
  30. IsTrain(vehicleid)
  31. {
  32.     switch(GetVehicleModel(vehicleid)) {
  33.         case 590,569,537,538,570,449: return 1;
  34.     }
  35.     return 0;
  36. }
  37. //DDB Vehicles
  38. //Bikes
  39. IsBike(vehicleid)
  40. {
  41.     switch(GetVehicleModel(vehicleid)) {
  42.         case 581,523,462,521,463,522,461,448,468,586,509,510,481: return 1;
  43.     }
  44.     return 0;
  45. }
  46. //Bmx, mountain
  47. IsBicy(vehicleid)
  48. {
  49.     switch(GetVehicleModel(vehicleid)){
  50.         case 509, 510, 481: return 1;
  51.     }
  52.     return 0;
  53. }
  54. //DDB-enabled vehicle checker
  55. IsDDBVehicle(vehicleid)
  56. {
  57.     if(IsAirVehicle(vehicleid)==1)return 0;
  58.     if(IsTrailer(vehicleid)==1)return 0;
  59.     if(IsTrain(vehicleid)==1)return 0;
  60.     if(GetVehicleModel(vehicleid)==471)return 1;
  61.     return 1;
  62. }
  63. public Quad(playerid)
  64. {
  65.     new keys,u,d;
  66.     GetPlayerKeys(playerid,keys,u,d);
  67.     new Float:x, Float:y, Float:z;
  68.     GetPlayerPos(playerid,x,y,z);
  69.     new vehicleid=GetPlayerVehicleID(playerid);
  70.     if(keys&KEY_FIRE){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  71.     if(keys&KEY_ACTION){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  72.     return 1;
  73. }
  74. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  75. {
  76.     new vehicleid=GetPlayerVehicleID(playerid);
  77.     if(GetPlayerState(playerid)==2&&IsDDBVehicle(vehicleid))
  78.     {
  79.         new Weapon=GetPlayerWeapon(playerid);
  80.         if(Weapon==0)return 1;
  81.         if(Weapon!=28&&Weapon!=29&&Weapon!=32)return 1;
  82.         new Float:x, Float:y, Float:z;
  83.         GetPlayerPos(playerid,x,y,z);
  84.         if(GetVehicleModel(vehicleid)==471)
  85.         {
  86.             if(HOLDING(KEY_FIRE)){SetTimerEx("Quad",600,0,"d",playerid);}
  87.             if(HOLDING(KEY_ACTION)){SetTimerEx("Quad",600,0,"d",playerid);}
  88.             if(PRESSED(KEY_FIRE)&HOLDING(KEY_LOOK_RIGHT)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  89.             if(PRESSED(KEY_ACTION)&HOLDING(KEY_LOOK_RIGHT)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  90.             if(PRESSED(KEY_FIRE)&HOLDING(KEY_LOOK_LEFT)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  91.             if(PRESSED(KEY_ACTION)&HOLDING(KEY_LOOK_LEFT)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  92.         }
  93.         if(PRESSED(KEY_FIRE)&&IsBike(vehicleid)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  94.         if(PRESSED(KEY_ACTION)&&IsBike(vehicleid)&&IsBicy(vehicleid)==0){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  95.         if((PRESSED(KEY_FIRE)&HOLDING(KEY_LOOK_RIGHT))&&IsDDBVehicle(vehicleid)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  96.         if((PRESSED(KEY_ACTION)&HOLDING(KEY_LOOK_RIGHT))&&IsDDBVehicle(vehicleid)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  97.         if((PRESSED(KEY_FIRE)&HOLDING(KEY_LOOK_LEFT))&&IsDDBVehicle(vehicleid)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  98.         if((PRESSED(KEY_ACTION)&HOLDING(KEY_LOOK_LEFT))&&IsDDBVehicle(vehicleid)){SetPlayerPos(playerid,x,y,z);SetVehiclePos(vehicleid,x,y,z);}
  99.     }
  100.     return 1;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement