В enum pInfo добавляем:
Затем добавим в самый конец OnPlayerLogin:PHP код:
pRequestingBackup,
Ко всем командам:PHP код:
PlayerInfo[playerid][pRequestingBackup] = 0;
Далее создаем таймерную функцию, желательно в конец мода:PHP код:
if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0)
{
if(IsACop(playerid) == 0)
return SendClientMessage(playerid, COLOR_GREY, "Вы не коп!");
if (PlayerInfo[playerid][pRequestingBackup])
return SendClientMessage(playerid, COLOR_GREY, "Вы уже вызываете подмогу!");
static const fmt_str[]="Всем постам: %s нуждается в подмоге, он отмечен красным маркером на радаре.";
new string[sizeof(fmt_str)-2+MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string), fmt_str, string);
PlayerInfo[playerid][pRequestingBackup] = 1;
new i = GetMaxPlayers();
do{
if(IsPlayerConnected(--i))
{
if(IsACop(playerid))
{
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
SendClientMessage(i, 0x8D8DFF00, string);
}
}
}while(i != 0);
SetTimerEx("BackupClear", 3*60*1000, false, "ii", playerid, 1);
return SendClientMessage(playerid, 0x8D8DFF00, "Используйте /bkc, чтобы отменить вызов подмоги.");
}
if(strcmp(cmd,"/backupclear",true)==0 || strcmp(cmd,"/bkc",true)==0)
{
return BackupClear(playerid);
}
Автор: KleBitZPHP код:
forward BackupClear(playerid, calledbytimer=0);
public BackupClear(playerid, calledbytimer=0)
{
if(IsPlayerConnected(playerid) == 0)
return 0;
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1
|| PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
if (PlayerInfo[playerid][pRequestingBackup])
{
new i = GetMaxPlayers();
do{
--i;
if(IsPlayerConnected(i) && (PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1))
SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
}while(i!=0);
if(calledbytimer == 0)
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Ваш запрос о подмоге очищен.");
else
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Ваш запрос о подмоге автоматически очищен.");
PlayerInfo[playerid][pRequestingBackup] = 0;
}
else
{
if(calledbytimer == 0)
SendClientMessage(playerid, COLOR_GREY, "У Вас нет текущих запросов!");
}
}
else
{
if(calledbytimer == 0)
SendClientMessage(playerid, COLOR_GREY, "Вы не коп!");
}
return 1;
}
Доработка: Daniel_Cortez