Рекомендованные сообщения



Не найдено.

3 posts in this topic

Всем привет! Прошу Вас помочь мне в небольшой проблеме, проблема в том что когда ты вызываешь список разыскиваемых через /wanted,

то идет следующее 

 

Спойлер

 

Далее если ты нажимаешь на себя, то выходит следующее.Но когда ищешь другого игрока все нормально!

 

Спойлер

 

Вопрос в следующем: Как сделать так что при вызове команды /wanted себя не показывало в списке розыска!

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

 

Спойлер

CMD:wanted(playerid, params[])
{
	if(!IsACop(playerid)) return SCM(playerid, COLOR_GREY, YouCanNot);
	if(pTemp[playerid][pWorkStatus] == false) return SCM(playerid, COLOR_GREY, "Для использовани команд Вам необходимо находится на работе!");
	SetPVarInt(playerid, "Wanted", params[0]);
	stringer[0] = EOS;
	new full;
 	foreach(new i : Player)
	{
		if(pInfo[i][pWanted] > 0)
		{
			if(GetName(i) == playerid)
			{
			    full--;
	   			//SCM(playerid, );
			}
			else
			{
		    	full++;
				format(stringer,sizeof(stringer),"%s %s {FDFF17}%d{FFFFFF}\n", stringer, GetName(i), pInfo[i][pWanted]);
			}
		}
 	}
  	if(full == 0)
    {
        SPD(playerid, dNull, DIALOG_STYLE_MSGBOX, "{ffcd00}Список разыскиваемых", "{FFFFFF}В данный момент нет преступников онлайн", "Закрыть", "");
    }
    else
	{
		SPD(playerid, dWanted, DIALOG_STYLE_LIST, "{ffcd00}Список разыскиваемых", stringer, "Найти", "Закрыть");
	}
	return 1;
}
Спойлер


	case dWanted:
		{
			new targetid = GetPVarInt(playerid, "Wanted");
	        if(!response) return DeletePVar(playerid, "Wanted");
			{
			    new vehicleid = GetPVarInt(playerid,"VehicleEnters");
			    new model = GetVehicleModel(vehicleid);
				new trr[10];// Нахождения местоположения игрока на карте
   				if(IsPlayerToSquare(targetid,1171.875,-2824.21875,3128.90625,-925.78125)) trr = "Южный";
				else if(IsPlayerToSquare(targetid,-1359.375,-480.46875,972.65625,2988.28125)) trr = "Арзомас";
				else if(IsPlayerToSquare(targetid,1042.96875,1535.15625,2917.96875,2964.84375)) trr = "Батырево";
				else trr = "Область";
				if(!IsPlayerInAnyVehicle(targetid))
			    {
    				new Float:X, Float:Y, Float:Z;
					GetPlayerPos(targetid, X, Y, Z);
					DisablePlayerRaceCheckpoint(playerid);
					SetPlayerRaceCheckpoint(playerid, 1, X, Y, Z, 0.0, 0.0, 0.0, 5);
					UseGPS[playerid] = true;

					format(stringer, sizeof(stringer), "Спутник МВД обнаружил розыскиваемого Вами {FFCC00}%s.{3399FF} Местоположение преступника: {FFCC00}%s.", pInfo[targetid][pName], trr);
					SCM(playerid, COLOR_BLUE, stringer);
					format(stringer, sizeof(stringer), "Имя преступника: {FFCC00}%s.{3399FF} Уровень розыска: {FFCC00}%d", pInfo[targetid][pName], pInfo[targetid][pWanted]);
					SCM(playerid, COLOR_BLUE, stringer);
			    }
			    else
				{
					SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), targetid, 0, 1);
					new Float:X, Float:Y, Float:Z;
					GetPlayerPos(targetid, X, Y, Z);
					DisablePlayerRaceCheckpoint(playerid);
					SetPlayerRaceCheckpoint(playerid, 1, X, Y, Z, 0.0, 0.0, 0.0, 5);
					UseGPS[playerid] = true;

					format(stringer, sizeof(stringer), "Спутник МВД обнаружил розыскиваемого Вами {FFCC00}%s.{3399FF} Местоположение преступника: {FFCC00}%s.", pInfo[targetid][pName], trr);
					SCM(playerid, COLOR_BLUE, stringer);
					format(stringer, sizeof(stringer), "Прередвигается преступник на автомобиле, марки: {FFCC00}%s.", VehStats[model-400][vName]);
					SCM(playerid, COLOR_BLUE, stringer);
					format(stringer, sizeof(stringer), "Имя преступника: {FFCC00}%s.{3399FF} Уровень розыска: {FFCC00}%d", pInfo[targetid][pName], pInfo[targetid][pWanted]);
					SCM(playerid, COLOR_BLUE, stringer);
				}
				DeletePVar(playerid, "Wanted");
			}
		}

 

 

 

Edited by Andrey_Akkerman
Причина: Не добавил код!

Share this post


Link to post
Share on other sites

Ответ первый: сделать проверку по типу 

if(playerid == i) continue; 

 

Ответ второй: Используйте функцию GetPlayerDistanceFromPoint и сортируйте нужным образом. 

Share this post


Link to post
Share on other sites
1 час назад, DEST сказал:

Ответ первый: сделать проверку по типу 

if(playerid == i) continue; 

 

Ответ второй: Используйте функцию GetPlayerDistanceFromPoint и сортируйте нужным образом. 

 

Можешь мне примерную схему начеркать по функции GetPlayerDistanceFromPoint

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • odosenok
      By odosenok
      Описание системы.
      Система полета камерой представляет собой возможность перемещаться в пространстве игры по всем осям (X, Y, Z) путем нажатия кнопок на клавиатуре.
       
      Подключение системы.
      1. Система написана в отдельном файле - include. Вам необходимо скачать этот файл и добавить в папку, находящейся в следующей директории:
      "..\pawno\include" 2. Затем Вам следует открыть свой игровой мод и в начале, после всех инклудов, дописать следующую строку:
      #include <fly>  
      Работа с системой.
      В систему полета камерой включены две функции:
      1.
      SetPlayerFlyStatus(playerid, status = 2) /* playerid - ID игрока, которого Вы хотите "отправить" в режим полета status - режим полета* * предусмотрено три режима полета: CAMERA_MODE_NONE (0) - выключить режим полета, CAMERA_MODE_FLY (1) - включить режим полета, CAMERA_MODE_REVERSE (2) - сменить режим на реверсивный */ 2. 
      IsPlayerFlying(playerid) /* playerid - ID игрока, пребывание в состоянии полета которого Вы хотите проверить *данная функция возвращает: CAMERA_MODE_NONE (0), если игрок не находится в состоянии полета, CAMERA_MODE_FLY (1), если игрок находится в состоянии полета */ При помощи данных функций Вы можете управлять пребыванием игрока в режиме полета, а также получать информацию о том, "летает" ли игрок в тот или иной момент.
       
      Особенности системы.
      Системой полета предусмотрено, что игрок, выходящий из режима полета, появится именно там, где вышел. Так, если Вы покидаете режим полета, пребывая в озере, то появление игрока будет именно в этом озере.
       
      Пример использования.
      CMD:fly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /fly [mode 0-2]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new mode; if(sscanf(params, "d", mode)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(!(0 <= mode <= 2)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; SetPlayerFlyStatus(playerid, mode); return 1; } CMD:checkfly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /checkfly [playerid]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new id; if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, !"The player is not connected") & 0; static const status_fly[][] = { !"The player is not flying", !"The player is flying" }; SendClientMessage(playerid, -1, status_fly[IsPlayerFlying(id)]); return 1 } Авторское право.
      Функции для получения позиции для перемещения камеры, само перемещение вырезаны из разработки Norck.
      В свою очередь я, @odosenok, лишь преобразовал данный код, создал более удобный интерфейс.
       
      fly.inc
    • KAIF
      By KAIF
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.