REVO
Дебютант
Всем доброго времени суток,у меня возникла проблема с выдачей розыска+ при перезаходе розыск пропадает со статистики но визуально звезды висят,так же как и в /wanted но при убийстве нечего не происходит,но когда начинаешь еще накидывать звезды приплюсовуются те старые которые были до перезахода...Так же еще проблемма первая звезда неверно дается дальшеш все ок ...помогите кто сможет,дайте совет...
Ну вот еще паблик
Код:
if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: (/su)spect [id] [преступление]");
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pJailed] == 0)
{
if(WantedPoints[giveplayerid] >= 6) return SendClientMessage(playerid, COLOR_GREY, "У данного игрока уже 6 уровней розыска!");
if (IsACop(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы не можете давать розыск законникам!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: (/su)spect [id] [преступление]");
SetPlayerCriminal(giveplayerid,playerid, result);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Этот Человек в тюрьме!");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Человек не найден!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы не член Полиция/ФБР!");
}
return 1;
}
Код:
public SetPlayerCriminal(playerid,declare,reason[])
{
if(logs == 1)
{
printr("SetPlayerCriminal");
}
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][pCrimes] += 1;
new turned[MAX_PLAYER_NAME];
new turner[MAX_PLAYER_NAME];
new turnmes[128];
new wantedmes[128];
new points = WantedPoints[playerid];
strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
GetPlayerName(playerid, turned, sizeof(turned));
if (declare == 255)
{
format(turner, sizeof(turner), "Неизвестный");
strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
}
else
{
if(IsPlayerConnected(declare))
{
GetPlayerName(declare, turner, sizeof(turner));
strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
strmid(PlayerCrime[declare][pBplayer], turned, 0, strlen(turned), 255);
strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
}
}
if(!IsACop(playerid) || !IsAArm(playerid))
{
if(PlayerInfo[playerid][pZvezdi] <=6)
{
format(turnmes, sizeof(turnmes), "Вы совершили преступление: [ %s ]. Сообщает: %s.",reason,turner);
SetPlayerWantedLevel(playerid,WantedLevel[playerid] += 1);
WantedLevel[playerid] += 1;
WantedPoints[playerid] += 1;
PlayerInfo[playerid][pZvezdi] +=1;
SendClientMessage(playerid, COLOR_LIGHTRED, turnmes);
}
if(points > 0)
{
new yesno;
if(points == 1)
{
WantedLevel[playerid] = 1;
yesno = 1;
WantedTime[playerid] = 600;
}
else if(points == 2)
{
WantedLevel[playerid] = 2;
yesno = 1;
WantedTime[playerid] = 1200;
}
else if(points == 3)
{
WantedLevel[playerid] = 3;
yesno = 1;
WantedTime[playerid] = 1800;
}
else if(points == 4)
{
WantedLevel[playerid] = 4;
yesno = 1;
WantedTime[playerid] = 2400;
}
else if(points == 5)
{
WantedLevel[playerid] = 5;
yesno = 1;
WantedTime[playerid] = 3000;
}
else if(points >= 6)
{
WantedLevel[playerid] = 6;
yesno = 1;
WantedTime[playerid] = 3600;
}
if(WantedLevel[playerid] >= 1)
{
}
if(yesno)
{
format(wantedmes, sizeof(wantedmes), "Ваш уровень розыска: %d", WantedLevel[playerid]);
SendClientMessage(playerid, COLOR_YELLOW, wantedmes);
SetPlayerWantedLevel(playerid, WantedLevel[playerid]);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 ||PlayerInfo[i][pLeader] == 1 || PlayerInfo[i][pMember] == 10 ||PlayerInfo[i][pLeader] == 10 || PlayerInfo[i][pMember] == 2 ||PlayerInfo[i][pLeader] == 2 || PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3 || PlayerInfo[i][pMember] == 19 || PlayerInfo[i][pLeader] == 19 || PlayerInfo[i][pMember] == 21 || PlayerInfo[i][pLeader] == 21)
{
format(cbjstore, sizeof(turnmes), "Рация: Сообщает: %s. Преступление: %s. Подозреваемый: %s",turner,reason,turned);
SendClientMessage(i, 0xFEBC41AA, cbjstore);
}
}
}
}
}
}
}
return 1;
}
Последнее редактирование:
