В теме 4 сообщения

Гость stibs
Новичок

Всем привет! Наверное, почти в каждом RP моде есть такая фракция как полиция. И работники этой фракции часто сталкивались с тем, что нарушители попросту выходят из игры во время погони. Данная команда позволит избежать данных проблем. 

Суть: 

Игрок(полицейский) вводит команду /pursuit [id] и если он соответствует всем требованиям (т.е. в данный момент он не ведет погоню и преступник не слишком далеко), то преступнику и полицейскому напишет в чат, что погоня начата. Если игрок в данный момент выйдет из игры - при заходе его посадит в тюрьму. Если полицейские отдалятся на слишком далекое расстояние, погоня также прекратится. 

Требования: 

  • Командный процессор ZCMD / DC_CMD или Pawn.CMD. 
  • Уметь пользоваться клавишами CTRL + C и CTRL+V. 

Переходим к самой системе: 

Ко всем new:

#define SendClientMessage SCM // если такой уже есть, этот не вставлять
#define COLOR_WARNING 0xF7CA18AA
new PursuitTimer[MAX_PLAYERS]; 

Ко всем командам: 

Спойлер

CMD:ps(playerid, params[])
{
	//проверку на фракцию
	if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_WARNING, "USAGE: /pursuit [id]");
	if(GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы уже ведете погоню! Для отмены /cancelps");
	if(params[0] == playerid) return SCM(playerid, COLOR_WARNING, "Невозможно выполнить для самого себя!");
	if(GetPVarInt(playerid, "paf") > gettime()) return SCM(playerid, COLOR_WARNING, "Можно использовать раз в 10 секунд!");
	if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_WARNING, "Игрок не подключен!");
	new Float:x, Float:y, Float:z;
	GetPlayerPos(params[0], x, y, z);
	if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 30) return SCM(playerid, COLOR_WARNING, "Вы слишком далеко от приследуемого! (более 30м)");

	
	SetPVarInt(params[0], "pursuit", 1);
	SetPVarInt(playerid, "pursuited", params[0]);
	SCM(params[0], COLOR_WARNING, "[ВНИМАНИЕ!] За вами начали погоню полицейские. Если вы выйдите из игры, вы автоматически попадете в КПЗ!");
	static const fmt_str[] = "[Dispatch Police] За вами начал погоню полицейский %s[%d]";
	PlayCrimeReportForPlayer(playerid, params[0], 3);
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, MAX_PLAYER_NAME];
	new str[sizeof(fmt_str)+MAX_PLAYER_NAME+12];
	format(str, sizeof(str), fmt_str, name, playerid);
	SCM(params[0], COLOR_WARNING, str);
	SCM(playerid, COLOR_WARNING, "Вы начали погоню за подозреваемым. Оставайтесь в радиусе 70 м, иначе погоня будет прекращена!");
	SetPVarInt(playerid, "paf", gettime()+10);
	
	PursuitTimer[playerid] = SetTimerEx("TimerPursuit", 1000*3, true, "ii", playerid, params[0]);
	
	return true;
}
CMD:cancelps(playerid)
{
	//проверка на фракцию
	if(!GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы никого не приследовали! Действие невозможно!");

	SCM(GetPVarInt(playerid, "pursuited"), COLOR_WARNING, "Погоня за вами прекращена!");
	SCM(playerid, COLOR_WARNING, "Погоня прекращена!");
	DeletePVar(GetPVarInt(playerid, "pursuited"), "pursuit");
	DeletePVar(playerid, "pursuit");
	DeletePVar(playerid, "paf");
	
	return true;
}

 

В конец мода: 

Спойлер

forward TimerPursuit(playerid, pursuitid);
public TimerPursuit(playerid, pursuitid)
{
	new Float:x, Float:y, Float:z;
	GetPlayerPos(pursuitid, x, y, z);
	if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 70)
	{
	    SCM(pursuitid, COLOR_WARNING, "Погоня прекращена, так как полицейские отдалились более, чем на 70 м");
	    SCM(playerid, COLOR_WARNING, "Погоня завершена, вы отдалились более чем на 70 метров!");
	    DeletePVar(pursuitid, "pursuit");
	    DeletePVar(playerid, "pursuitid");
	    DeletePVar(playerid, "paf");
	    KillTimer(PursuitTimer[playerid]);
	    return true;
	}
	return true;
}

 

В OnPlayerDisconnect:
 

if(GetPVarInt(playerid, "pursuit") == 1)
{
  	/* ДАННЫЕ ФУНКЦИИ ЗАМЕНИТЬ НА СВОИ, ОБНУЛЕНИЕ РОЗЫСКА А ТАКЖЕ ВЫДАЧА ТЮРЬМЫ. 3600 - ЭТО ВРЕМЯ, 60 минут*/
    PLAYER_DATA[playerid][data_JAIL] = 1;
    PLAYER_DATA[playerid][data_JAILTIME] = 3600;
    PLAYER_DATA[playerid][data_WANTED] = 0;
  	/*КОНЕЦ ЗАМЕНЫ ОСТАЛЬНОЕ ВСЕ МОЖНО ОСТАВИТЬ*/
    static const fmt_str[] = "%s был посажен в кпз на 60 минут. Причина: выход при погоне";
    new text[sizeof(fmt_str)+MAX_PLAYER_NAME], names[MAX_PLAYER_NAME]; 
    GetPlayerName(playerid, names, MAX_PLAYER_NAME]; 
    format(text,sizeof(text),fmt_str, names);
    SendClientMessageToAll(-1,text);
}

Автор: @stibs

Копирование на другие порталы запрещено. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • ВасилийСталин
      От ВасилийСталин


      Скачать файл Fox rp | Уникальный мод с 0 под открытие | СКИДКА 50%
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
      Добавил ВасилийСталин Добавлено 14.08.2025 Категория Моды Автор Abeme  
    • ВасилийСталин
      От ВасилийСталин
      50% СКИДКА РОВНО 3 ДНЯ, ДО: 25.09.2025. 12:00 ПО МСК
       
       
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
    • Senwik
      От Senwik
      Всем здравствуйте, я тут решил сделать свой крмп сервер, и у меня возник вопрос, где можно достать кэш для лаунчера и сервера, как настроить лаунчер, чтоб кэш скачивался в нужное место и игра могла нормально работать. 
      P.S. Если подскажете, где можно прочитать по данной теме, то будет вообще класс, всем бобра
    • Доналдо Фарекелка
      От Доналдо Фарекелка
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок.
       
      [01.11.2025] ВНИМАНИЕ! Не используйте бесплатные хостинги, если Вы не уверены в их работоспособности. Если запустили мод на бесплатном хостинге и он не работает, то просьба мне не писать! (Вина скорее всего, лежит на хостинге!).

      [29.11.2025] Спасибо! За 1000+ скачиваний. 
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать через /amakeadmin(Смотреть уроки) или БД ( UPDATE: 1.2.2 ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):

      Как установить мод на хостинг(Чтобы больше не было вопросов в ЛС):
      RUTUBE: https://rutube.ru/video/private/f74276be05e090652ee46bcbe2b4e27d/?p=6tWFvG_lTFk4sHVaCjheZQ
      YOUTUBE: https://youtu.be/z07sJUAVQpI