Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public OnPlayerUpdate(playerid)
- {
- static tmp[5];
- if((tmp[0] = GetPlayerWeapon(i)) != 0) {
- tmp[0]= GetWeaponSlot(tmp[0]);
- GetWeaponData(i,tmp[0],tmp[1],tmp[2]);
- GetPlayerWeaponData(i,tmp[0],tmp[3],tmp[4]);
- // Debug ant cheat de armas..
- printf("SLOT:%i WeapData:%i pWeapData:%i WeapAData:%i pWeapAData:%i",tmp[0],tmp[1],tmp[3],tmp[2],tmp[4]);
- if(tmp[1] != tmp[3]) { RemoveWeapon(i, tmp[3]); ACKick(i,"Hack Armas"); }
- if(tmp[2] < tmp[4]) { RemoveWeapon(i, tmp[3]); ACKick(i,"Hack Armas"); }
- }
- return 1;
- }
- stock RemoveWeapon(playerid, weaponid) {
- if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50) return;
- new saveweapon[13], saveammo[13];
- for(new slot = 0; slot < 13; slot++) GetWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
- ResetWeapons(playerid);
- for(new slot; slot !=12; slot++) {
- if(saveweapon[slot] == weaponid || saveammo[slot] == 0) continue;
- givePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
- }
- givePlayerWeapon(playerid, 0, 1);
- }
- stock GetWeaponSlot(weaponid) {
- new slot = 0;
- switch(weaponid) {
- case 0,1: slot = 0;
- case 2..9: slot = 1;
- case 22..24: slot = 2;
- case 25..27: slot = 3;
- case 28,29,32: slot = 4;
- case 30,31: slot = 5;
- case 33,34: slot = 6;
- case 35..38: slot = 7;
- case 16..18,39: slot = 8;
- case 41..43: slot = 9;
- case 44..46: slot = 10;
- case 10..15: slot = 11;
- case 40: slot = 12;
- }
- return slot;
- }
- stock givePlayerWeapon(playerid,weaponid,ammo) {
- static tmp;
- static str[20];
- tmp = GetWeaponSlot(weaponid);
- format(str,sizeof(str),"weaponslot_%d",tmp);
- SetPVarInt(playerid,str,weaponid);
- format(str,sizeof(str),"slotammo_%d",tmp);
- SetPVarInt(playerid,str,GetPVarInt(playerid,str) + ammo);
- GivePlayerWeapon(playerid,weaponid,ammo);
- }
- stock GetWeaponData(playerid,slot,&weapons,&ammo) {
- static str[20];
- format(str,sizeof(str),"weaponslot_%d",slot);
- weapons = GetPVarInt(playerid,str);
- format(str,sizeof(str),"slotammo_%d",slot);
- ammo = GetPVarInt(playerid,str);
- }
- stock ResetWeapons(playerid) {
- static str[20];
- for(new i = 0;i != 12;i++) {
- format(str,sizeof(str),"weaponslot_%d",i);
- SetPVarInt(playerid,str,0);
- format(str,sizeof(str),"slotammo_%d",i);
- SetPVarInt(playerid,str,0);
- }
- ResetPlayerWeapons(playerid);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement