Advertisement
AdhityaRimba

YoiBre

Mar 12th, 2020
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.41 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #define FILTERSCRIPT
  5. #define playercommand
  6. #define TIME 250
  7.  
  8. forward Enable(playerid);
  9. forward Disable(playerid);
  10. forward AttachWeapon();
  11. forward HoldingWeaponsForAll(boolean);
  12. new wep[MAX_PLAYERS] = -1, timer, weps[12], d[MAX_PLAYERS] = 1, d1 = 1, camera[MAX_PLAYERS];
  13. public OnFilterScriptInit() {
  14.     timer = SetTimer("AttachWeapon", TIME, 1);
  15.     return print("HoldingWeapons Loaded!");
  16. }
  17.  
  18. public OnFilterScriptExit() {
  19.     for(new i = 0; i < MAX_PLAYERS+1; i++) if(IsPlayerConnected(i)) if(!IsPlayerNPC(i)) for(new a = 0; a < 10; a++) if(IsPlayerAttachedObjectSlotUsed(i, a)) RemovePlayerAttachedObject(i, a);
  20.     return print("[FS]HoldingWeapons Unloaded!");
  21. }
  22.  
  23. public AttachWeapon(){
  24.     for(new i = 0; i < MAX_PLAYERS+1; i++){
  25.         if(IsPlayerNPC(i)) return 1;
  26.         if(IsPlayerInAnyVehicle(i)) {
  27.             for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(i, a)) RemovePlayerAttachedObject(i, a);
  28.             wep[i] = -1;
  29.             return 1;
  30.         }
  31.         if(!d[i]) return 1;
  32.         if(camera[i]) return 1;
  33.        
  34.         if(wep[i] != GetPlayerWeapon(i)) for(new a = 0; a < 12; a++){
  35.             GetPlayerWeaponData(i, a, weps[a], weps[6]);
  36.             switch(a){
  37.                 case 0: {
  38.                     if(IsPlayerAttachedObjectSlotUsed(i, 0)) RemovePlayerAttachedObject(i, 0);
  39.                     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 );
  40.                 }
  41.                 case 1: {
  42.                     if(IsPlayerAttachedObjectSlotUsed(i, 1)) RemovePlayerAttachedObject(i, 1);
  43.                     switch(weps[a]){
  44.                         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 );
  45.                         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 );
  46.                     }
  47.                 }
  48.                 case 2: {
  49.                     if(IsPlayerAttachedObjectSlotUsed(i, 2)) RemovePlayerAttachedObject(i, 2);
  50.                     switch(weps[a]){
  51.                         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 );
  52.                         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 );
  53.                         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 );
  54.                     }
  55.                 }
  56.                 case 3: {
  57.                     if(IsPlayerAttachedObjectSlotUsed(i, 3)) RemovePlayerAttachedObject(i, 3);
  58.                     switch(weps[a]){
  59.                         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 );
  60.                         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 );
  61.                         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 );
  62.                     }
  63.                 }
  64.                 case 4: {
  65.                     if(IsPlayerAttachedObjectSlotUsed(i, 4)) RemovePlayerAttachedObject(i, 4);
  66.                     switch(weps[a]){
  67.                         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 );
  68.                         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 );
  69.                         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 );
  70.                     }
  71.                 }
  72.                 case 5: {
  73.                     if(IsPlayerAttachedObjectSlotUsed(i, 5)) RemovePlayerAttachedObject(i, 5);
  74.                     switch(weps[a]){
  75.                         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 );
  76.                         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 );
  77.                     }
  78.                 }
  79.                 case 8: {
  80.                     if(IsPlayerAttachedObjectSlotUsed(i, 6)) RemovePlayerAttachedObject(i, 6);
  81.                     switch(weps[a]){
  82.                         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 );
  83.                         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 );
  84.                         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 );
  85.                     }
  86.                 }
  87.                 case 9: {
  88.                     if(IsPlayerAttachedObjectSlotUsed(i, 7)) RemovePlayerAttachedObject(i, 7);
  89.                     switch(weps[a]){
  90.                         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 );
  91.                         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 );
  92.                     }
  93.                 }
  94.                 case 11: {
  95.                     if(IsPlayerAttachedObjectSlotUsed(i, 8)) RemovePlayerAttachedObject(i, 8);
  96.                     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 );
  97.                 }
  98.             }
  99.         }
  100.         wep[i] = GetPlayerWeapon(i);
  101.     }
  102.     return 1;
  103. }
  104.  
  105. public OnPlayerCommandText(playerid, cmdtext[]){
  106.     if(!strcmp(cmdtext, "/holdingweapons", true)){
  107.         #if defined playercommand
  108.             if(d1){
  109.                 if(d[playerid]){
  110.                     SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}Disabled.");
  111.                     Disable(playerid);
  112.                 } else {
  113.                     SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}Enabled.");
  114.                     Enable(playerid);
  115.                 }
  116.             } else SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}This function is disabled.");
  117.             return 1;
  118.         #else
  119.             return SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}This function is disabled.");
  120.         #endif
  121.     }
  122.     return 0;
  123. }
  124.  
  125. CMD:hw(playerid, params[])
  126. {
  127.     #if defined playercommand
  128.         if(d1){
  129.             if(d[playerid]){
  130.                 SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}Disabled.");
  131.                 Disable(playerid);
  132.             } else {
  133.                 SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}Enabled.");
  134.                 Enable(playerid);
  135.             }
  136.         } else SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}This function is disabled.");
  137.         return 1;
  138.     #else
  139.         return SendClientMessage(playerid, 0x0000FFAA, "[HWEAPONS] {FFFFFF}This function is disabled.");
  140.     #endif
  141. }
  142.  
  143. public Disable(playerid) {
  144.     d[playerid] = 0;
  145.     wep[playerid] = -1;
  146.     for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(playerid, a)) RemovePlayerAttachedObject(playerid, a);
  147.     return 1;
  148. }
  149.  
  150. public Enable(playerid) {
  151.     d[playerid] = 1;
  152.     return 1;
  153. }
  154.  
  155. public HoldingWeaponsForAll(boolean) {
  156.     if(boolean == 0){
  157.         if(!d1) return 1;
  158.         for(new i = 0; i < MAX_PLAYERS+1; i++) for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(i, a)) RemovePlayerAttachedObject(i, a);
  159.         KillTimer(timer);
  160.         d1 = 0;
  161.         return 1;
  162.     }
  163.     if(boolean == 1){
  164.         if(d1) return 1;
  165.         timer = SetTimer("AttachWeapon", TIME, 1);
  166.         d1 = 1;
  167.         return 1;
  168.     }
  169.     return 0;
  170. }
  171.  
  172. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
  173.     if(newkeys == 128 && oldkeys != 128 && GetPlayerWeapon(playerid) == 43) {
  174.         camera[playerid] = 1;
  175.         for(new a = 0; a < 9; a++) if(IsPlayerAttachedObjectSlotUsed(playerid, a)) RemovePlayerAttachedObject(playerid, a);
  176.     }
  177.     if(newkeys != 128 && oldkeys == 128 && GetPlayerWeapon(playerid) == 43) camera[playerid] = 0;
  178.     return 1;
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement