Advertisement
Dayrion

Reload function

May 28th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.84 KB | None | 0 0
  1. reload(playerid)
  2. {
  3.     new ammo, slot;
  4.     new weaponid = GetPlayerWeapon(playerid);
  5.     if(weaponid == 0) return 1;
  6.     slot = GetWeaponSlot(weaponid);
  7.     GetPlayerWeaponData(playerid, slot, weaponid, ammo);
  8.     //printf("Weapon data | slot : %i | weaponid : %i | ammo : %i", slot, weaponid, ammo);
  9.     switch(weaponid)
  10.     {
  11.         case 22:
  12.         {
  13.             SetAmmos(playerid, WEAPON_COLT45, ammo, 34);
  14.             SetAnimationForWeapon(playerid, WEAPON_COLT45);
  15.         }
  16.         case 23:
  17.         {
  18.             SetAmmos(playerid, WEAPON_SILENCED, ammo, 17);
  19.             SetAnimationForWeapon(playerid, WEAPON_SILENCED);
  20.         }
  21.         case 24, 27:
  22.         {
  23.             if(weaponid == 24)
  24.             {
  25.                 SetAmmos(playerid, WEAPON_DEAGLE, ammo, 7); SetAnimationForWeapon(playerid, WEAPON_DEAGLE);
  26.             }
  27.             else
  28.             {
  29.                 SetAmmos(playerid, WEAPON_SHOTGSPA, ammo, 7); SetAnimationForWeapon(playerid, WEAPON_SHOTGSPA);
  30.             }
  31.         }
  32.         case 26:
  33.         {
  34.             SetAmmos(playerid, WEAPON_SAWEDOFF, ammo, 4);
  35.             SetAnimationForWeapon(playerid, WEAPON_SAWEDOFF);
  36.         }
  37.         case 28, 32:
  38.         {
  39.             if(weaponid == 28)
  40.             {
  41.                 SetAmmos(playerid, WEAPON_UZI, ammo, 100); SetAnimationForWeapon(playerid, WEAPON_UZI);
  42.             }
  43.             else
  44.             {
  45.                 SetAmmos(playerid, WEAPON_TEC9, ammo, 100); SetAnimationForWeapon(playerid, WEAPON_TEC9);
  46.             }
  47.         }
  48.         case 29, 30:
  49.         {
  50.             if(weaponid == 29)
  51.             {
  52.                 SetAmmos(playerid, WEAPON_MP5, ammo, 30); SetAnimationForWeapon(playerid, WEAPON_MP5);
  53.             }
  54.             else
  55.             {
  56.                 SetAmmos(playerid, WEAPON_AK47, ammo, 30); SetAnimationForWeapon(playerid, WEAPON_AK47);
  57.             }
  58.         }
  59.         case 31:
  60.         {
  61.             SetAmmos(playerid, WEAPON_M4, ammo, 50);
  62.             SetAnimationForWeapon(playerid, WEAPON_M4);
  63.         }
  64.         default : return 1;
  65.     }
  66.     new str[190];
  67.     format(str, sizeof(str), " * %s removed the magazine of his weapon before taking a second.", GetName(playerid));
  68.     SendClientMessage(playerid, meColor, str);
  69.     format(str, sizeof(str), "((%s)) It will put the second magazine into the weapon and the will rearm.", GetName(playerid));
  70.     SendClientMessage(playerid, meColor, str);
  71.     return 1;
  72. }
  73.  
  74. stock GetWeaponSlot(weaponid)
  75. {
  76.     new slot;
  77.     switch(weaponid)
  78.     {
  79.         case 0,1: slot = 0;
  80.         case 2 .. 9: slot = 1;
  81.         case 10 .. 15: slot = 10;
  82.         case 16 .. 18, 39: slot = 8;
  83.         case 22 .. 24: slot = 2;
  84.         case 25 .. 27: slot = 3;
  85.         case 28, 29, 32: slot = 4;
  86.         case 30, 31: slot = 5;
  87.         case 33, 34: slot = 6;
  88.         case 35 .. 38: slot = 7;
  89.         case 40: slot = 12;
  90.         case 41 .. 43: slot = 9;
  91.         case 44 .. 46: slot = 11;
  92.     }
  93.     return slot;
  94. }
  95.  
  96. stock SetAnimationForWeapon(playerid, weaponid)
  97. {
  98.     switch(weaponid)
  99.     {
  100.         case 22: ApplyAnimation(playerid, "COLT45", "colt45_reload", 4.1, 0, 0, 0, 0, 0, 1);
  101.         case 23: ApplyAnimation(playerid, "SILENCED", "Silence_reload", 4.1, 0, 0, 0, 0, 0, 1);
  102.         case 24: ApplyAnimation(playerid, "PYTHON", "python_reload", 4.1, 0, 0, 0, -1, 1, 1);
  103.                  //ApplyAnimation(playerid, "PYTHON", "python_reload", 4.0, 0, 0, 0, 0, 800, 1);
  104.                  //ApplyAnimation(playerid,"PED","IDLE_CHAT",4.0, 1, 0, 0, 1, 1);
  105.                  //ApplyAnimation(playerid, "PYTHON", "python_reload", 4.0, 0, 1, 1, 0, 0, 1);
  106.         case 25, 27: ApplyAnimation(playerid, "BUDDY", "buddy_reload", 4.1, 0, 0, 0, 0, 0, 1);
  107.         case 26: ApplyAnimation(playerid, "COLT45", "sawnoff_reload", 4.1, 0, 0, 0, 0, 0, 1);
  108.         case 29..31, 33, 34: ApplyAnimation(playerid, "RIFLE", "rifle_load", 4.1, 0, 0, 0, 0, 0, 1);
  109.         case 28, 32: ApplyAnimation(playerid, "TEC", "tec_reload", 4.1, 0, 0, 0, 0, 0, 1);
  110.         //ApplyAnimation(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync)
  111.     }
  112.     return 1;
  113. }
  114.  
  115. stock SetAmmos(playerid, weaponid, ammo, size)
  116. {
  117.     ammo = GetPlayerAmmo(playerid);
  118.     SetPlayerAmmo(playerid, weaponid, size);
  119.     ammo-=size;
  120.     GivePlayerWeapon(playerid, weaponid, 0);
  121.     GivePlayerWeapon(playerid, weaponid, ammo);
  122.     return 1;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement