Advertisement
Lowerman

AC

Oct 1st, 2015
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.50 KB | None | 0 0
  1. public OnPlayerUpdate(playerid)
  2. {
  3.     static tmp[5];
  4.     if((tmp[0] = GetPlayerWeapon(i)) != 0) {
  5.         tmp[0]= GetWeaponSlot(tmp[0]);
  6.         GetWeaponData(i,tmp[0],tmp[1],tmp[2]);
  7.         GetPlayerWeaponData(i,tmp[0],tmp[3],tmp[4]);
  8.         // Debug ant cheat de armas..
  9.         printf("SLOT:%i WeapData:%i pWeapData:%i WeapAData:%i pWeapAData:%i",tmp[0],tmp[1],tmp[3],tmp[2],tmp[4]);
  10.         if(tmp[1] != tmp[3]) { RemoveWeapon(i, tmp[3]); ACKick(i,"Hack Armas"); }
  11.         if(tmp[2] < tmp[4]) { RemoveWeapon(i, tmp[3]); ACKick(i,"Hack Armas"); }
  12.     }
  13.     return 1;
  14. }
  15.  
  16. stock RemoveWeapon(playerid, weaponid) {
  17.     if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50) return;
  18.     new saveweapon[13], saveammo[13];
  19.     for(new slot = 0; slot < 13; slot++) GetWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
  20.     ResetWeapons(playerid);
  21.     for(new slot; slot !=12; slot++) {
  22.         if(saveweapon[slot] == weaponid || saveammo[slot] == 0) continue;
  23.         givePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
  24.     }
  25.     givePlayerWeapon(playerid, 0, 1);
  26. }
  27.  
  28. stock GetWeaponSlot(weaponid) {
  29.     new slot = 0;
  30.     switch(weaponid) {
  31.         case 0,1: slot = 0;
  32.         case 2..9: slot = 1;
  33.         case 22..24: slot = 2;
  34.         case 25..27: slot = 3;
  35.         case 28,29,32: slot = 4;
  36.         case 30,31: slot = 5;
  37.         case 33,34: slot = 6;
  38.         case 35..38: slot = 7;
  39.         case 16..18,39: slot = 8;
  40.         case 41..43: slot = 9;
  41.         case 44..46: slot = 10;
  42.         case 10..15: slot = 11;
  43.         case 40: slot = 12;
  44.     }
  45.     return slot;
  46. }
  47.  
  48. stock givePlayerWeapon(playerid,weaponid,ammo) {
  49.     static tmp;
  50.     static str[20];
  51.     tmp    = GetWeaponSlot(weaponid);
  52.     format(str,sizeof(str),"weaponslot_%d",tmp);
  53.     SetPVarInt(playerid,str,weaponid);
  54.     format(str,sizeof(str),"slotammo_%d",tmp);
  55.     SetPVarInt(playerid,str,GetPVarInt(playerid,str) + ammo);
  56.     GivePlayerWeapon(playerid,weaponid,ammo);
  57. }
  58.  
  59. stock GetWeaponData(playerid,slot,&weapons,&ammo) {
  60.     static str[20];
  61.     format(str,sizeof(str),"weaponslot_%d",slot);
  62.     weapons = GetPVarInt(playerid,str);
  63.     format(str,sizeof(str),"slotammo_%d",slot);
  64.     ammo = GetPVarInt(playerid,str);
  65. }
  66.  
  67. stock ResetWeapons(playerid) {
  68.     static str[20];
  69.     for(new i = 0;i != 12;i++) {
  70.         format(str,sizeof(str),"weaponslot_%d",i);
  71.         SetPVarInt(playerid,str,0);
  72.         format(str,sizeof(str),"slotammo_%d",i);
  73.         SetPVarInt(playerid,str,0);
  74.     }
  75.     ResetPlayerWeapons(playerid);
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement