Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Este FilterScript é simples. A função dele é detectar se o jogador está utilizando uma arma restrita, caso sim ele tomará a ação definida por você.
- Você pode configurar a ação a ser tomada com o jogador que utilizar alguma arma proibida,
- as opções são 'Kickar', 'Banir' e 'Retirar arma' (Irá retirar apenas a arma detectada).
- Basta ir até '#define ACTION (2)' e alterar o valor para 0, 1 ou 2. (0 = BANIR | 1 = KICKAR | 2 = RETIRAR ARMA).
- # Você pode pegar os ids das armas em: http://wiki.sa-mp.com/wiki/Weapons
- Criado por: Felipe ( [NWD]PooweeR_ )
- */
- #include < a_samp >
- #define ACTION (2) /* 0 = BANIR | 1 = KICKAR | 2 = RETIRAR ARMA */
- forward CheckWM();
- new
- pStr[128],
- wName[32];
- new
- ArmasProibidas[] =
- {
- 35, // Rocket Launcher
- 36, // HS Rocket Launcher
- 37, // Flamethrower
- 38 // Minigun
- };
- public
- OnFilterScriptInit()
- {
- return SetTimer( "CheckWM", 1000, true );
- }
- public
- CheckWM()
- {
- for( new i, j = GetMaxPlayers(); i < j; ++i )
- {
- for( new w; w < sizeof(ArmasProibidas); ++w )
- {
- if( GetPlayerWeapon( i ) == ArmasProibidas[ w ] )
- {
- GetWeaponName( ArmasProibidas[ w ], wName, sizeof(wName) );
- #if ACTION == 0
- format(pStr, sizeof(pStr), "[ ANTI WH ] O Jogador %s [ID: %d] foi banido por usar uma arma proibida. (%s)", PlayerName( i ), i, wName );
- SendClientMessageToAll( -1, pStr );
- BanEx( i, "Weapon Cheat" );
- #elseif ACTION == 1
- format(pStr, sizeof(pStr), "[ ANTI WH ] O Jogador %s [ID: %d] foi kickado por usar uma arma proibida. (%s)", PlayerName( i ), i, wName );
- SendClientMessageToAll( -1, pStr );
- Kick( i );
- #elseif ACTION == 2
- format(pStr, sizeof(pStr), "[ ANTI WH ] O Jogador %s [ID: %d] tentou usar uma arma proibida e não obteve sucesso. (%s)", PlayerName( i ), i, wName );
- SendClientMessageToAll( -1, pStr );
- RemoveWeaponSlot( i, GetWeaponSlot( ArmasProibidas[ w ] ) );
- #endif
- }
- }
- }
- return 1;
- }
- stock PlayerName(playerid)
- {
- new pName[ MAX_PLAYER_NAME + 1 ];
- GetPlayerName( playerid, pName, sizeof(pName) );
- return pName;
- }
- stock RemoveWeaponSlot(playerid, iWeaponSlot) // POSTADO POR Calg00ne EM 'http://forum.sa-mp.com/showpost.php?p=1325995&postcount=3'
- {
- new weapons[13][2];
- for(new i = 0; i < 13; i++)
- GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
- weapons[iWeaponSlot][0] = 0;
- ResetPlayerWeapons(playerid);
- for(new i = 0; i < 13; i++)
- GivePlayerWeapon(playerid, weapons[i][0], weapons[i][1]);
- return 1;
- }
- stock GetWeaponSlot(weaponid) // POSTADO POR Hiddos EM 'http://forum.sa-mp.com/showpost.php?p=782197&postcount=4'
- {
- new slot;
- switch(weaponid)
- {
- case 0,1: slot = 0;
- case 2 .. 9: slot = 1;
- case 10 .. 15: slot = 10;
- case 16 .. 18, 39: slot = 8;
- 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 40: slot = 12;
- case 41 .. 43: slot = 9;
- case 44 .. 46: slot = 11;
- }
- return slot;
- }
Advertisement
Add Comment
Please, Sign In to add comment