This might be very helpful to detect whos trying to fire a freeze weapon and can stop it before it happen, unless the person is running protection event then its useless xD, but at less you know who done it
Code:
if(Prot_Animation){
int tmp_wep = 0;
int PlayerRocket;
Ped tmp_ped;
char* printmodel;
bool player_has_wep = false;
for (PlayerRocket = 0;PlayerRocket < 16 ; PlayerRocket++){
if (PlayerRocket == iPlayer || Invalid_Player (PlayerRocket) || !PLAYER_HAS_CHAR(PlayerRocket)) continue;
if (!IS_PLAYER_PRESENT(PlayerRocket))
{
SetBit(PrintedRocketNotifyBitSet, PlayerRocket, false);
SetBit(PrintedRocketNotifyBitSet, (PlayerRocket + 16), false);
continue;
}
if (!PLAYER_HAS_CHAR(PlayerRocket)) continue;
GET_PLAYER_CHAR(PlayerRocket, &tmp_ped);
player_has_wep = (HAS_CHAR_GOT_WEAPON(tmp_ped, WEAPON_EPISODIC_19) || HAS_CHAR_GOT_WEAPON(tmp_ped, WEAPON_EPISODIC_18) || HAS_CHAR_GOT_WEAPON(tmp_ped, WEAPON_ROCKET));
if (!player_has_wep)
{
SetBit(PrintedRocketNotifyBitSet, PlayerRocket, false);
SetBit(PrintedRocketNotifyBitSet, (PlayerRocket + 16), false);
continue;
}
tmp_wep = 0;
GET_CURRENT_CHAR_WEAPON(tmp_ped, &tmp_wep);
if(Prot_Animation_Setup1){// OFW SAVE
if (!GetBit(PrintedRocketNotifyBitSet, (PlayerRocket + 16)))
{
if (tmp_wep == WEAPON_ROCKET)printmodel = "~y~Rocket";
else if (tmp_wep == WEAPON_EPISODIC_18 || tmp_wep == WEAPON_EPISODIC_19)printmodel = "~y~Missile";
if (tmp_wep == WEAPON_ROCKET) REMOVE_WEAPON_FROM_CHAR(tmp_ped, WEAPON_ROCKET);
else if (tmp_wep == WEAPON_EPISODIC_18) REMOVE_WEAPON_FROM_CHAR(tmp_ped, WEAPON_EPISODIC_18);
else if (tmp_wep == WEAPON_EPISODIC_19) REMOVE_WEAPON_FROM_CHAR(tmp_ped, WEAPON_EPISODIC_19);
char buffer[32];
Strcpy(buffer, "");
PLAYER_NAME_WITH_COLOUR(PlayerRocket, &buffer);
Strcat(buffer, " ~s~Was ~g~Saved");
Strcat(buffer, " ~s~From ~COL_NET_4~Freeze ");
Strcat(buffer, printmodel);
Alert(buffer, true);
SetBit(PrintedRocketNotifyBitSet, (PlayerRocket + 16), true);
}
}
//After this your self will freeze if you dont edit your rpf files
if(Prot_Animation_Setup2){
if (IS_CHAR_SHOOTING(tmp_ped) && tmp_wep == WEAPON_ROCKET || tmp_wep == WEAPON_EPISODIC_18 || tmp_wep == WEAPON_EPISODIC_19 && !GetBit(PrintedRocketNotifyBitSet, PlayerRocket))
{
if (tmp_wep == WEAPON_ROCKET)printmodel = "~y~Rocket";
else if (tmp_wep == WEAPON_EPISODIC_18 || tmp_wep == WEAPON_EPISODIC_19)printmodel = "~y~Missile";
char buffer[32];
Strcpy(buffer, "");
PLAYER_NAME_WITH_COLOUR(PlayerRocket, &buffer);
Strcat(buffer, " ~s~Tried Using ~COL_NET_4~Freeze ");
Strcat(buffer, printmodel);
Strcat(buffer, " ~s~You");
Alert(buffer, true);
SetBit(PrintedRocketNotifyBitSet, PlayerRocket, true);
}
}
//Done
}
}