Ко всем new:
Код:
new Text3D:LabelRecognition[MAX_PLAYERS];
new LabelOn[MAX_PLAYERS];
new recognition[MAX_PLAYERS];
В enum pInfo:
Код:
pRecognition
В OnPlayerConnect:
Код:
recognition[playerid] = 0;
В OnPlayerDisconnect:
Код:
if(LabelOn[playerid] == 1) Delete3DTextLabel(LabelRecognition[playerid]), LabelOn[playerid] = 0;
В секундный таймер:
Код:
if(PlayerInfo[i][pRecognition] > 1 && LabelOn[i] == 0 && PlayerInfo[i][pWantedLevel] >= 1) LabelOn[i] = 1, LabelRecognition[i] = Create3DTextLabel("Преступник!",0xFF0000FF, 30.0, 40.0, 50.0, 40.0, 0), Attach3DTextLabelToPlayer(LabelRecognition[i], i, 0.0, 0.0, 0.5);
if(LabelOn[i] == 1 && PlayerInfo[i][pRecognition] <= 1) Delete3DTextLabel(LabelRecognition[i]), LabelOn[i] = 0;
Создаём таймер, в GameModeInit:
SetTimer("Recognition", 1500000, 1);
В конец мода:
Код:
forward Recognition();
public Recognition()
{
new Float:x,Float:y,Float:z;
for(new idx=0, i=0; idx<cvector_size(players); idx++)
{
i = cvector_get(players, idx);
if(!PlayerInfo[i][pWantedLevel] || !PlayerInfo[i][pLogin]) continue;
recognition[i] = 0;
GetPlayerPos(i,x,y,z);
for(new idx2=0, id=0; idx2<cvector_size(players); idx2++)
{
id = cvector_get(players, idx2);
if(IsPlayerInRangeOfPoint(id,150,x,y,z) && IsACop(id) && id != i) recognition[i]++;
}
if(!recognition[i])
{
SendClientMessage(i,-1,"Ваша узнаваемость понизилась");
PlayerInfo[i][pWantedLevel]--, SetPlayerWantedLevel(i,PlayerInfo[i][pWantedLevel] );
if(!PlayerInfo[i][pWantedLevel])
{
if(LabelOn[i] == 1)
{
LabelOn[i] = 0;
Delete3DTextLabel(LabelRecognition[i]);
}
PlayerInfo[i][pRecognition] = 0;
}
else
{
if(PlayerInfo[i][pRecognition] > 0) PlayerInfo[i][pRecognition]--;
}
}
else
{
SendClientMessage(i,-1,"Ваша узнаваемость повысилась");
if(PlayerInfo[i][pRecognition] < 3) PlayerInfo[i][pRecognition]++;
}
}
}
Автор: ReZzZnov