#define GivePlayerWeapon(%1,%2,%3)\
CallRemoteFunction("rGivePlayerWeapon","ddd",%1,%2,%3)
#define ResetPlayerWeapons(%1)\
CallRemoteFunction("rResetPlayerWeapons","d",%1)
public OnPlayerSpawn(playerid)
{
GivePlayerWeapon(playerid,24,999);//entrega uma arma ao jogador e autoriza o uso.
return true;
}
public OnPlayerUpdate(playerid)
{
rWeaponCheck(playerid);//checa se a arma atual estб autorizada
//rWeaponCheckEx(playerid);//checa se todas as armas estгo autorizadas
return true;
}
public OnPlayerWeaponHack(playerid,weaponid,ammo)
{
SendClientMessage(playerid,-1,"HACKER DE MERDA!!!");
//BanEx(playerid,"WeaponHack");
return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
///////////// /////////////
///////////// rWEAPON HACK PROTECT 0.1 /////////////
///////////// /////////////
///////////// Desenvolvido por [iPs]Ivanzicco / [JD]BlackFire /////////////
///////////// /////////////
///////////// http://www.rocksbrasil.com.br /////////////
///////////// http://www.ips-team.forumeiros.com /////////////
///////////// /////////////
///////////// /////////////
///////////// /////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
#define GivePlayerWeapon(%1,%2,%3)\
rGivePlayerWeapon(%1,%2,%3)
#define ResetPlayerWeapons(%1)\
rResetPlayerWeapons(%1)
forward OnPlayerGiveWeapon(playerid,weaponid,ammo);
forward OnPlayerWeaponHack(playerid,weaponid,ammo);
new rWeapon[MAX_PLAYERS][13];
new rAmmo[MAX_PLAYERS][13];
stock rGivePlayerWeapon(playerid,weaponid,ammo)
{
if(rWeapon[playerid][WeaponSlot(weaponid)] == weaponid){
rAmmo[playerid][WeaponSlot(weaponid)] += ammo;
}else{
rWeapon[playerid][WeaponSlot(weaponid)] = weaponid;
rAmmo[playerid][WeaponSlot(weaponid)] = ammo;
}
#undef GivePlayerWeapon
GivePlayerWeapon(playerid,weaponid,ammo);
#define GivePlayerWeapon(%1,%2,%3)\
rGivePlayerWeapon(%1,%2,%3)
CallLocalFunction("OnPlayerGiveWeapon","ddd",playerid,weaponid,ammo);
return true;
}
stock rWeaponCheck(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)){
new ammo,weaponid = GetPlayerWeapon(playerid);
GetPlayerWeaponData(playerid,WeaponSlot(weaponid),weaponid,ammo);
if((weaponid != 0) && ammo > rAmmo[playerid][WeaponSlot(weaponid)] || weaponid != rWeapon[playerid][WeaponSlot(weaponid)]){
CallLocalFunction("OnPlayerWeaponHack","ddd",playerid,weaponid,ammo);
new string[100];
format(string,100,"--WeaponHack: '%s', Arma:%d , Muniзгo:%d",rPlayerName(playerid),weaponid,ammo);
print(string);
rLOG(string);
}
rWeapon[playerid][WeaponSlot(weaponid)] = weaponid;
rAmmo[playerid][WeaponSlot(weaponid)] = ammo;
}
return true;
}
stock rWeaponCheckEx(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)){
for(new i;i<=12;i++){
new ammo,weaponid;
GetPlayerWeaponData(playerid,i,weaponid,ammo);
if((weaponid != 0) && ammo > rAmmo[playerid][WeaponSlot(weaponid)] || weaponid != rWeapon[playerid][WeaponSlot(weaponid)]){
CallLocalFunction("OnPlayerWeaponHack","ddd",playerid,weaponid,ammo);
new string[100];
format(string,100,"--WeaponHack: '%s', Arma:%d , Muniзгo:%d",rPlayerName(playerid),weaponid,ammo);
print(string);
rLOG(string);
}
rWeapon[playerid][WeaponSlot(weaponid)] = weaponid;
rAmmo[playerid][WeaponSlot(weaponid)] = ammo;
}
}
}
stock rResetPlayerWeapons(playerid)
{
for(new i; i<=12; i++)
{
rWeapon[playerid][i] = 0;
rAmmo[playerid][i] = 0;
}
#undef ResetPlayerWeapons
ResetPlayerWeapons(playerid);
#define ResetPlayerWeapons(%1)\
rResetPlayerWeapons(%1)
}
stock WeaponSlot(weaponid)
{
if(weaponid == 0){return 0;}
else if(weaponid == 1){return 0;}
else if(weaponid == 2){return 1;}
else if(weaponid == 3){return 1;}
else if(weaponid == 4){return 1;}
else if(weaponid == 5){return 1;}
else if(weaponid == 6){return 1;}
else if(weaponid == 7){return 1;}
else if(weaponid == 8){return 1;}
else if(weaponid == 9){return 1;}
else if(weaponid == 10){return 10;}
else if(weaponid == 11){return 10;}
else if(weaponid == 12){return 10;}
else if(weaponid == 13){return 10;}
else if(weaponid == 14){return 10;}
else if(weaponid == 15){return 10;}
else if(weaponid == 16){return 8;}
else if(weaponid == 17){return 8;}
else if(weaponid == 18){return 8;}
else if(weaponid == 22){return 2;}
else if(weaponid == 23){return 2;}
else if(weaponid == 24){return 2;}
else if(weaponid == 25){return 3;}
else if(weaponid == 26){return 3;}
else if(weaponid == 27){return 3;}
else if(weaponid == 28){return 4;}
else if(weaponid == 29){return 4;}
else if(weaponid == 30){return 5;}
else if(weaponid == 31){return 5;}
else if(weaponid == 32){return 4;}
else if(weaponid == 33){return 6;}
else if(weaponid == 34){return 6;}
else if(weaponid == 35){return 7;}
else if(weaponid == 36){return 7;}
else if(weaponid == 37){return 7;}
else if(weaponid == 38){return 7;}
else if(weaponid == 39){return 8;}
else if(weaponid == 40){return 12;}
else if(weaponid == 41){return 9;}
else if(weaponid == 42){return 9;}
else if(weaponid == 43){return 9;}
else if(weaponid == 44){return 11;}
else if(weaponid == 45){return 11;}
else if(weaponid == 46){return 11;}
else {return false;}
}
stock rLOG(log[])
{
new File:file=fopen("rWeapon.log", io_append);
if(file && strlen(log) > 1)
{
new dia,mes,ano,hora,minuto,segundo;
getdate(ano,mes,dia);
gettime(hora,minuto,segundo);
format(log,1000,"[%02d/%02d/%04d - %02d:%02d:%02d] %s\r\n",dia,mes,ano,hora,minuto,segundo,log);
fwrite(file,log);
}
fclose(file);
}
stock rPlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
#undef ResetPlayerWeapons
ResetPlayerWeapons(playerid);
#define ResetPlayerWeapons(%1)\
rResetPlayerWeapons(%1)
Isso vai dar erros:
pawn Код:
|
#define ResetPlayerWeapons(%1)\
rResetPlayerWeapons(%1)