Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2024
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.52 KB | None | 0 0
  1. #define TIME 250
  2. #define playercommand
  3. forward Enable(playerid);
  4. forward Disable(playerid);
  5. forward AttachWeapon();
  6. forward HoldingWeaponsForAll(boolean);
  7. new wep[MAX_PLAYERS] = -1, timer, weps[12], d[MAX_PLAYERS] = 1, d1 = 1, camera[MAX_PLAYERS];
  8.  
  9. public OnGameModeInit() {
  10.  
  11. //Weapon Cycle Attach
  12. timer = SetTimer("AttachWeapon", TIME, 1);
  13. }
  14.  
  15. public AttachWeapon(){
  16. for(new i = 0; i < MAX_PLAYERS+1; i++){
  17. if(IsPlayerNPC(i)) return 1;
  18. if(IsPlayerInAnyVehicle(i)) {
  19. for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(i, a)) RemovePlayerAttachedObject(i, a);
  20. wep[i] = -1;
  21. return 1;
  22. }
  23. if(!d[i]) return 1;
  24. if(camera[i]) return 1;
  25.  
  26. if(wep[i] != GetPlayerWeapon(i)) for(new a = 0; a < 12; a++){
  27. GetPlayerWeaponData(i, a, weps[a], weps[6]);
  28. switch(a){
  29. case 0: {
  30. if(IsPlayerAttachedObjectSlotUsed(i, 0)) RemovePlayerAttachedObject(i, 0);
  31. if(weps[a] == 1 && GetPlayerWeapon(i) != 1) SetPlayerAttachedObject( i, 0, 331, 6, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
  32. }
  33. case 1: {
  34. if(IsPlayerAttachedObjectSlotUsed(i, 1)) RemovePlayerAttachedObject(i, 1);
  35. switch(weps[a]){
  36. case 4: if(GetPlayerWeapon(i) != 4) SetPlayerAttachedObject( i, 0, 335, 11, 0.142010, -0.100988, 0.055910, 76.125000, 75.876144, 1.143326, 1.000000, 1.000000, 1.000000 );
  37. case 8: if(GetPlayerWeapon(i) != 8) SetPlayerAttachedObject( i, 1, 339, 15, 0.088326, 0.066626, 0.148351, 191.990447, 341.412963, 0.000000, 1.000000, 1.000000, 1.000000 );
  38. }
  39. }
  40. case 2: {
  41. if(IsPlayerAttachedObjectSlotUsed(i, 2)) RemovePlayerAttachedObject(i, 2);
  42. switch(weps[a]){
  43. case 22: if(GetPlayerWeapon(i) != 22) SetPlayerAttachedObject( i, 2, 346, 8, -0.028010, -0.033822, 0.097883, 270.000000, 15.999426, 354.161499, 1.000000, 1.000000, 1.000000 );
  44. case 23: if(GetPlayerWeapon(i) != 23) SetPlayerAttachedObject( i, 2, 346, 8, -0.028010, -0.033822, 0.097883, 270.000000, 15.999426, 354.161499, 1.000000, 1.000000, 1.000000 );
  45. case 24: if(GetPlayerWeapon(i) != 24) SetPlayerAttachedObject( i, 2, 348, 8, -0.040643, -0.048525, 0.085376, 270.000000, 8.253683, 0.000000, 1.000000, 1.000000, 1.000000 );
  46. }
  47. }
  48. case 3: {
  49. if(IsPlayerAttachedObjectSlotUsed(i, 3)) RemovePlayerAttachedObject(i, 3);
  50. switch(weps[a]){
  51. case 25: if(GetPlayerWeapon(i) != 25) SetPlayerAttachedObject( i, 3, 349, 16, 0.084126, 0.131737, 0.197423, 176.984542, 92.569320, 14.483574, 1.000000, 1.000000, 1.000000 );
  52. case 26: if(GetPlayerWeapon(i) != 26) SetPlayerAttachedObject( i, 3, 350, 16, 0.090676, 0.085271, -0.075131, 0.000000, 289.166870, 355.209869, 1.000000, 1.000000, 1.000000 );
  53. case 27: if(GetPlayerWeapon(i) != 27) SetPlayerAttachedObject( i, 3, 351, 16, 0.100795, 0.057224, -0.082939, 180.000000, 243.483581, 180.000000, 1.000000, 1.000000, 1.000000 );
  54. }
  55. }
  56. case 4: {
  57. if(IsPlayerAttachedObjectSlotUsed(i, 4)) RemovePlayerAttachedObject(i, 4);
  58. switch(weps[a]){
  59. case 28: if(GetPlayerWeapon(i) != 28) SetPlayerAttachedObject( i, 4, 352, 7, 0.138560, -0.033982, -0.047630, 281.671447, 276.618591, 4.068862, 1.000000, 1.000000, 1.000000 );
  60. case 29: if(GetPlayerWeapon(i) != 29) SetPlayerAttachedObject( i, 4, 353, 7, 0.008329, -0.067031, -0.060214, 289.865051, 17.391622, 7.667663, 1.000000, 1.000000, 1.000000 );
  61. case 32: if(GetPlayerWeapon(i) != 32) SetPlayerAttachedObject( i, 4, 372, 7, 0.056180, -0.008887, -0.007959, 270.000000, 13.921591, 5.905599, 1.000000, 1.000000, 1.000000 );
  62. }
  63. }
  64. case 5: {
  65. if(IsPlayerAttachedObjectSlotUsed(i, 5)) RemovePlayerAttachedObject(i, 5);
  66. switch(weps[a]){
  67. case 30: if(GetPlayerWeapon(i) != 30) SetPlayerAttachedObject( i, 5, 355, 1, -0.130044, -0.127836, 0.025491, 2.044970, 6.239807, 6.833646, 1.000000, 1.000000, 1.000000 );
  68. case 31: if(GetPlayerWeapon(i) != 31) SetPlayerAttachedObject( i, 5, 356, 16, 0.019280, 0.118553, 0.396286, 70.920410, 274.673919, 253.978057, 1.000000, 1.000000, 1.000000 );
  69. }
  70. }
  71. case 8: {
  72. if(IsPlayerAttachedObjectSlotUsed(i, 6)) RemovePlayerAttachedObject(i, 6);
  73. switch(weps[a]){
  74. case 16: if(GetPlayerWeapon(i) != 16) SetPlayerAttachedObject( i, 6, 342, 16, -0.110845, -0.041751, 0.087840, 55.051963, 84.884071, 247.221984, 1.000000, 1.000000, 1.000000 );
  75. case 17: if(GetPlayerWeapon(i) != 17) SetPlayerAttachedObject( i, 6, 1672, 16, -0.110606, -0.054021, 0.036716, 215.687911, 354.659393, 90.000000, 1.000000, 1.000000, 1.000000 );
  76. case 18: if(GetPlayerWeapon(i) != 18) SetPlayerAttachedObject( i, 6, 344, 15, 0.029351, -0.208807, -0.164047, 0.000000, 359.932037, 0.000000, 1.000000, 1.000000, 1.000000 );
  77. }
  78. }
  79. case 9: {
  80. if(IsPlayerAttachedObjectSlotUsed(i, 7)) RemovePlayerAttachedObject(i, 7);
  81. switch(weps[a]){
  82. case 43: if(GetPlayerWeapon(i) != 43) SetPlayerAttachedObject( i, 7, 367, 1, 0.227036, 0.171111, -0.085516, 270.000000, 0.000000, 180.000000, 1.000000, 1.000000, 1.000000 );
  83. case 41: if(GetPlayerWeapon(i) != 41) SetPlayerAttachedObject( i, 7, 365, 12, 0.174919, -0.004211, -0.142508, 0.000000, 270.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
  84. }
  85. }
  86. case 11: {
  87. if(IsPlayerAttachedObjectSlotUsed(i, 8)) RemovePlayerAttachedObject(i, 8);
  88. if(weps[a] == 44 || weps[a] == 45) if(GetPlayerWeapon(i) != 44 && GetPlayerWeapon(i) != 45) SetPlayerAttachedObject( i, 8, 369, 2, 0.000000, 0.078037, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
  89. }
  90. }
  91. }
  92. wep[i] = GetPlayerWeapon(i);
  93. }
  94. return 1;
  95. }
  96.  
  97. public Disable(playerid) {
  98. d[playerid] = 0;
  99. wep[playerid] = -1;
  100. for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(playerid, a)) RemovePlayerAttachedObject(playerid, a);
  101. return 1;
  102. }
  103.  
  104. public Enable(playerid) {
  105. d[playerid] = 1;
  106. return 1;
  107. }
  108.  
  109. public HoldingWeaponsForAll(boolean) {
  110. if(boolean == 0){
  111. if(!d1) return 1;
  112. for(new i = 0; i < MAX_PLAYERS+1; i++) for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(i, a)) RemovePlayerAttachedObject(i, a);
  113. KillTimer(timer);
  114. d1 = 0;
  115. return 1;
  116. }
  117. if(boolean == 1){
  118. if(d1) return 1;
  119. timer = SetTimer("AttachWeapon", TIME, 1);
  120. d1 = 1;
  121. return 1;
  122. }
  123. return 0;
  124. }
  125.  
  126. timer Timer_DestroyEffectObject[1000](objectid, objectid2)
  127. {
  128. if(IsValidObject(objectid))
  129. DestroyObject(objectid);
  130.  
  131. if(IsValidObject(objectid2))
  132. DestroyObject(objectid2);
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement