Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define CHEAT_WEAPON_SPAWN 1
- #define CHEAT_WEAPON_AMMO 2
- #if !defined isnull
- #define PRESSED(%0) \
- (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- #endif
- #if !defined isnull
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- stock GivePlayerWeaponEx(playerid, weaponid, ammo) {
- new str[32];
- format(str,sizeof(str),"Weapon%d",weaponid);
- SetPVarInt(playerid,str,weaponid);
- format(str,sizeof(str),"Ammo%d",weaponid);
- SetPVarInt(playerid,str,GetPVarInt(playerid,str)+ammo);
- return GivePlayerWeapon(playerid, weaponid, ammo);
- }
- #if defined _ALS_GivePlayerWeapon
- #undef GivePlayerWeapon
- #else
- #define _ALS_GivePlayerWeapon
- #endif
- #define GivePlayerWeapon GivePlayerWeaponEx
- stock ResetPlayerWeaponsEx(playerid) {
- resetWeaponAntiCheat(playerid);
- return ResetPlayerWeapons(playerid);
- }
- #if defined _ALS_ResetPlayerWeapons
- #undef ResetPlayerWeapons
- #else
- #define _ALS_ResetPlayerWeapons
- #endif
- #define ResetPlayerWeapons ResetPlayerWeaponsEx
- forward OnWeaponAntiCheat(playerid, cheatid, reason[]);
- public OnWeaponAntiCheat(playerid, cheatid, reason[]) {
- if(!isnull(reason)) return CallLocalFunction("WAC_OnWeaponAntiCheat","dds",playerid, cheatid, reason);
- else return 1;
- }
- #if defined _ALS_OnWeaponAntiCheat
- #undef OnWeaponAntiCheat
- #else
- #define _ALS_OnWeaponAntiCheat
- #endif
- #define OnWeaponAntiCheat WAC_OnWeaponAntiCheat
- forward WAC_OnWeaponAntiCheat(playerid, cheatid, reason[]);
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
- new weaponname[32];
- if(PRESSED(KEY_FIRE)) {
- if(GetPlayerWeapon(playerid) != 0) {
- new strweapon[32],strammo[32];
- new weaponid = GetPlayerWeapon(playerid);
- new ammo = GetPlayerAmmo(playerid);
- format(strweapon,sizeof(strweapon),"Weapon%d",weaponid);
- format(strammo,sizeof(strammo),"Ammo%d",weaponid);
- if(GetPVarInt(playerid,strweapon) != weaponid) {
- GetWeaponName(weaponid,weaponname,sizeof(weaponname));
- removeWeaponAntiCheat(playerid, weaponid);
- CallRemoteFunction("OnWeaponAntiCheat","dds",playerid, 1, weaponname);
- }
- if(GetPVarInt(playerid,strweapon) == weaponid && GetPVarInt(playerid,strammo) < ammo) {
- GetWeaponName(weaponid,weaponname,sizeof(weaponname));
- removeWeaponAntiCheat(playerid, weaponid);
- CallRemoteFunction("OnWeaponAntiCheat","dds",playerid, 2, weaponname);
- }
- }
- }
- if(!isnull(weaponname)) return CallLocalFunction("WAC_OnPlayerKeyStateChange","ddd",playerid, newkeys, oldkeys);
- else return 1;
- }
- #if defined _ALS_OnPlayerKeyStateChange
- #undef OnPlayerKeyStateChange
- #else
- #define _ALS_OnPlayerKeyStateChange
- #endif
- #define OnPlayerKeyStateChange WAC_OnPlayerKeyStateChange
- forward WAC_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
- public OnPlayerDeath(playerid, killerid, reason) {
- ResetPlayerWeapons(playerid);
- return CallLocalFunction("WAC_OnPlayerDeath","ddd",playerid, killerid, reason);
- }
- #if defined _ALS_OnPlayerDeath
- #undef OnPlayerDeath
- #else
- #define _ALS_OnPlayerDeath
- #endif
- #define OnPlayerDeath WAC_OnPlayerDeath
- forward WAC_OnPlayerDeath(playerid, killerid, reason);
- public OnPlayerExitVehicle(playerid, vehicleid) {
- if(isAirVehicle(vehicleid) && !GetPVarInt(playerid,"Weapon46")) {
- SetPVarInt(playerid,"Weapon46",46);
- SetPVarInt(playerid,"Ammo46",1);
- }
- return CallLocalFunction("WAC_OnPlayerExitVehicle","dd",playerid, vehicleid);
- }
- #if defined _ALS_OnPlayerExitVehicle
- #undef OnPlayerExitVehicle
- #else
- #define _ALS_OnPlayerExitVehicle
- #endif
- #define OnPlayerExitVehicle WAC_OnPlayerExitVehicle
- forward WAC_OnPlayerExitVehicle(playerid, vehicleid);
- stock resetWeaponAntiCheat(playerid) {
- new strweapon[32],strammo[32];
- for(new i=1; i<=46; i++) {
- format(strweapon,sizeof(strweapon),"Weapon%d",i);
- format(strammo,sizeof(strammo),"Ammo%d",i);
- if(!GetPVarInt(playerid,strweapon) || !GetPVarInt(playerid,strammo)) continue;
- DeletePVar(playerid,strweapon);
- DeletePVar(playerid,strammo);
- }
- }
- stock removeWeaponAntiCheat(playerid, weaponid) {
- new weapons[13][2];
- for(new i=0; i<=12; i++) GetPlayerWeaponData(playerid,i,weapons[i][0],weapons[i][1]);
- ResetPlayerWeapons(playerid);
- for(new i=0; i<=12; i++) {
- if(weapons[i][0] == weaponid) continue;
- GivePlayerWeapon(playerid,weapons[i][0],weapons[i][1]);
- }
- }
- stock isAirVehicle(vehicleid) {
- switch(GetVehicleModel(vehicleid)) {
- case 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513, 548, 425, 417, 487, 488, 497, 563, 447, 469: return true;
- default: return false;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement