CMD:bk spamming.
#1

Whenever i type in the command it keeps on spamming the screen also it's saying that my location is at blueberry when am at LS airport docks any help with it?





Code:
new ICBK[MAX_PLAYERS] = 0;

CMD:bk(playerid, i, params[])
{
	if (GetFactionType(playerid) != FACTION_POLICE)
	return SendErrorMessage(playerid, "You are not a police officer.");

	if(ICBK[playerid] == 1) return SendClientMessage(playerid, 0xFF0000AA,"You need to wait 1 minute before calling backup again!"); // Message if player will want to spam backup..
 	new fX, fY, fZ;
  	ICBK[playerid] = 1; // Is calling backup, so player won't be able to spam it
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if (GetFactionType(i) == FACTION_POLICE)
        {
 			SendFactionMessage(PlayerData[playerid][pFaction], COLOR_RADIO, "RADIO: ALL UNITS! %s is requesting immediate assistance, his location has been located on radar! at %s.", ReturnName(playerid, 0), GetLocation(fX, fY, fZ));
    		SetPlayerMarkerForPlayer(i, playerid, 0xC2A2DAAA); // it will set purple marker on player whoever called backup and only cops will be able to see it
      		SetTimerEx("RemoveMarker", 60000, true, "i",playerid); // We will set 1 min timer to auto remove marker
         }
    }
    return 1;
}

forward RemoveMarker(playerid);
public RemoveMarker(playerid)
{
    ICBK[playerid] = 0;
    SetPlayerMarkerForPlayer(00, 00, 00); // Removing marker
    SendClientMessage(playerid,0xC2A2DAAA,"You have been unmarked from Police Radar, if you still need backup use /bk");
    return 1;
}
Reply
#2

FactionMessage (which probably contains a loop itself) and the timer should not be within the loop body.
Reply
#3

pawn Code:
if (GetFactionType(i) == FACTION_POLICE)
{
    SendFactionMessage(PlayerData[playerid][pFaction], COLOR_RADIO, "RADIO: ALL UNITS! %s is requesting immediate assistance, his location has been located on radar! at %s.", ReturnName(playerid, 0), GetLocation(fX, fY, fZ));
    SetPlayerMarkerForPlayer(i, playerid, 0xC2A2DAAA); // it will set purple marker on player whoever called backup and only cops will be able to see it
    SetTimerEx("RemoveMarker", 60000, true, "i",playerid); // We will set 1 min timer to auto remove marker
    break;
}
Reply
#4

Show the SendFactionMessage itself, should be like
pawn Code:
stock SendFactionMessage
Reply
#5

pawn Code:
CMD:bk(playerid, i, params[])
{
    new fX, fY, fZ;
    if (GetFactionType(playerid) != FACTION_POLICE)
    return SendErrorMessage(playerid, "You are not a police officer.");
    if(ICBK[playerid] == 1) return SendClientMessage(playerid, 0xFF0000AA,"You need to wait 1 minute before calling backup again!");
    SendFactionMessage(PlayerData[playerid][pFaction], COLOR_RADIO, "RADIO: ALL UNITS! %s is requesting immediate assistance, his location has been located on radar! at %s.", ReturnName(playerid, 0), GetLocation(fX, fY, fZ));
    SetPlayerMarkerForPlayer(i, playerid, 0xC2A2DAAA);
    ICBK[playerid] = 1;
    return 1;
}

Not sure why you were running a loop through all players though honestly.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)