nikvlad
Ученик
Данная команда была вырезана из мода State99 и переведена на DC_CMD
Возможные ошибки:
Ошибка:
error 017: undefined symbol "SendErr"
Решение: Добавьте stock:
Код:
stock SendErr(playerid,string[])
{
new msg[128];
format(msg,sizeof(msg),"[Ошибка] {"#cW"}%s", string);
SendClientMessage(playerid, 0xAC0000FF, msg);
return true;
}[/COLOR]
Код:
error 017: undefined symbol "pGPS"
error 017: undefined symbol "Marked"
error 017: undefined symbol "pWanted"
Решение: Изменяйте под свой мод:
pGPS - включен ли GPS
Marked - есть ли уже у вас метка на радаре
pWanted - находится ли игрок в розыске
Ошибки:
error 017: undefined symbol "CWHITE"
error 017: undefined symbol "CGRAY"
Решение: Добавьте в начало мода:
#define CGRAY (0xAFAFAFAA)
#define CWHITE (0xFFFFFFFF)
Команда:
Код:
[B] CMD:setmark(playerid, params[])
{
if(!IsACop(playerid)) return SendErr(playerid, "Эта функция только для Полиции/ФБР");
if(pTemp[playerid][pGPS]) return SendErr(playerid, "У Вас уже есть метка на радаре");
if(pTemp[playerid][Marked]) return SendErr(playerid, "Вы уже запустили систему поиска преступника. Дождитесь её окончания.");
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid,CGRAY,"Используйте: /setmark [id игрока]");
if(pData[params[0]][pWanted] < 2) return SendErr(playerid, "Данный игрок не в розыске или уровень розыска меньше 2");
SendClientMessage(playerid, CWHITE, "Система спутникового поиска преступника активирована. Ожидайте ответа от спутника.");
pTemp[playerid][Marked] = true;
SetTimerEx("SetMark", 1000*random(10)+1000,false,"dd",playerid,params[0]);
return 1;
}[/B]
Для работы таймера:
Код:
[B]forward SetMark(playerid, params[0]);
public SetMark(playerid, params[0])
{
pTemp[playerid][Marked] = false;
if(GetPlayerInterior(params[0]) || GetPlayerVirtualWorld(params[0]) || !random(10)) return SendErr(playerid, "Местоположение преступника определить не удалось. Попробуйте позже.");
if(pData[params[0]][pWanted] < 2) return SendErr(playerid, "Данный игрок не в розыске или уровень розыска меньше 2");
if(pTemp[playerid][pGPS]) return SendErr(playerid, "У Вас уже есть метка на радаре");
new Float:x, Float:y, Float:z;
GetPlayerPos(params[0],x,y,z);
SetPlayerCheckpoint(playerid,x,y,z,4.0);
pTemp[playerid][pGPS] = true;
SendClientMessage(playerid, CWHITE, "В последний раз нарушитель был обнаружен в отмеченном месте.");
return true;
}[/B]
Последнее редактирование:
