Перейти к содержанию
Авторизация  
hteppl

Система GPS навигации.

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

hteppl

Весьма удобная система GPS, с указанием дистанции до места назначения, с использованием TD.

 

Фото данной системы.

 

[spoiler=Cкриншот]kPZmne9.jpg

 

Для работоспособности данной системы, необходимо :

 

Ко всем переменным, добавляем

new PlayerText:GPSINFO,Text:GPSTD[4];

В public OnPlayerDisconnect(playerid, reason) добавляем

PlayerTextDrawDestroy(playerid,GPSINFO); 

В секундный таймер 

if(GetPVarInt(i,"GPS") == 1)
{
	new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]);
	new str[144];
 	format(str,sizeof(str),"~y~Distance~n~~w~%.1f m",GetDistanceBetweenPoints(p[0], p[1], p[2], GetPVarFloat(i,"GPSX"), GetPVarFloat(i,"GPSY"), GetPVarFloat(i,"GPSZ")));
	PlayerTextDrawSetString(i,GPSINFO,str);
}

В public OnPlayerConnect(playerid) добавляем TD

GPSINFO = CreatePlayerTextDraw(playerid, 153.0000, 404.3750, "~Y~Error"); // nope
PlayerTextDrawLetterSize(playerid, GPSINFO, 0.1570, 0.8956);
PlayerTextDrawTextSize(playerid, GPSINFO, 229.0000, 0.0000);
PlayerTextDrawAlignment(playerid, GPSINFO, 1);
PlayerTextDrawColor(playerid, GPSINFO, -1);
PlayerTextDrawUseBox(playerid, GPSINFO, 1);
PlayerTextDrawBoxColor(playerid, GPSINFO, 524025600);
PlayerTextDrawSetOutline(playerid, GPSINFO, 0);
PlayerTextDrawBackgroundColor(playerid, GPSINFO, 255);
PlayerTextDrawFont(playerid, GPSINFO, 2);
PlayerTextDrawSetProportional(playerid, GPSINFO, 1);
PlayerTextDrawSetShadow(playerid, GPSINFO, 0);

К всем глобальным текстдравам

GPSTD[0] = TextDrawCreate(123.5000, 395.9624, "ld_beat:chit"); // nope
TextDrawLetterSize(GPSTD[0], 0.0000, 0.0000);
TextDrawTextSize(GPSTD[0], 34.0000, 35.0000);
TextDrawAlignment(GPSTD[0], 1);
TextDrawColor(GPSTD[0], 186596351);
TextDrawSetOutline(GPSTD[0], 0);
TextDrawBackgroundColor(GPSTD[0], 255);
TextDrawFont(GPSTD[0], 4);
TextDrawSetProportional(GPSTD[0], 0);
TextDrawSetShadow(GPSTD[0], 0);

GPSTD[1] = TextDrawCreate(202.5000, 395.9624, "ld_beat:chit"); // nope
TextDrawLetterSize(GPSTD[1], 0.0000, 0.0000);
TextDrawTextSize(GPSTD[1], 34.0000, 35.0000);
TextDrawAlignment(GPSTD[1], 1);
TextDrawColor(GPSTD[1], 186596351);
TextDrawSetOutline(GPSTD[1], 0);
TextDrawBackgroundColor(GPSTD[1], 255);
TextDrawFont(GPSTD[1], 4);
TextDrawSetProportional(GPSTD[1], 0);
TextDrawSetShadow(GPSTD[1], 0);

GPSTD[2] = TextDrawCreate(140.0000, 401.3125, "LD_SPAC:white"); // nope
TextDrawLetterSize(GPSTD[2], 0.0000, 0.0000);
TextDrawTextSize(GPSTD[2], 81.0000, 23.7599);
TextDrawAlignment(GPSTD[2], 1);
TextDrawColor(GPSTD[2], 186596351);
TextDrawSetOutline(GPSTD[2], 0);
TextDrawBackgroundColor(GPSTD[2], 255);
TextDrawFont(GPSTD[2], 4);
TextDrawSetProportional(GPSTD[2], 0);
TextDrawSetShadow(GPSTD[2], 0);

GPSTD[3] = TextDrawCreate(130.0000, 402.5249, "hud:radar_waypoint"); // nope
TextDrawLetterSize(GPSTD[3], 0.0000, 0.0000);
TextDrawTextSize(GPSTD[3], 21.0000, 21.0000);
TextDrawAlignment(GPSTD[3], 1);
TextDrawColor(GPSTD[3], -1);
TextDrawSetOutline(GPSTD[3], 0);
TextDrawBackgroundColor(GPSTD[3], 255);
TextDrawFont(GPSTD[3], 4);
TextDrawSetProportional(GPSTD[3], 0);
TextDrawSetShadow(GPSTD[3], 0);

В конец мода

stock Float:GetDistanceBetweenPoints(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ)
{
	new Float:Distance;Distance = floatabs(floatsub(X, PointX)) + floatabs(floatsub(Y, PointY)) + floatabs(floatsub(Z, PointZ));
	return Distance;
}
stock GPS(playerid, Float:x, Float:y, Float:z,NameSTR[])
{
    new str[144];
    if(GetPVarInt(playerid,"GPS") == 1) RemovePlayerMapIcon(playerid, 99);
    SetPlayerMapIcon(playerid, 99, x, y, z, 19, 0, MAPICON_GLOBAL);
    new Float:p[3]; GetPlayerPos(playerid,p[0],p[1],p[2]);
    format(str,sizeof(str),"{FFFFFF}Место назначение {FFFFFF}%s{FFFFFF}. Расстояние до место назначение {FFFFFF}%.1f м.(красный флажок)",NameSTR,GetDistanceBetweenPoints(p[0], p[1], p[2], x, y, z));
    SendClientMessage(playerid,-1,str);
    PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
    SetPVarInt(playerid,"GPS",1);
    SetPVarInt(playerid,"GPS_AREA",CreateDynamicSphere(x, y, z, 10.0, 0, 0, -1));
    SetPVarFloat(playerid,"GPSX",x);
    SetPVarFloat(playerid,"GPSY",y);
    SetPVarFloat(playerid,"GPSZ",z);
    format(str,sizeof(str),"~y~Distance~n~~w~%.1f m",GetDistanceBetweenPoints(p[0], p[1], p[2], x, y, z));
    PlayerTextDrawSetString(playerid,GPSINFO,str);
    for(new i; i < sizeof(GPSTD); i++) TextDrawShowForPlayer(playerid,GPSTD[i]);
    PlayerTextDrawShow(playerid,GPSINFO);
    return true;
}
stock UNGPS(playerid)
{
    if(GetPVarInt(playerid,"GPS") == 1)
    {
        DestroyDynamicArea(GetPVarInt(playerid,"GPS_AREA"));
        DeletePVar(playerid,"GPS_AREA");
        RemovePlayerMapIcon(playerid, 99);
        SetPVarInt(playerid,"GPS",0);
        DeletePVar(playerid,"GPSX");
        DeletePVar(playerid,"GPSY");
        DeletePVar(playerid,"GPSZ");
	for(new i; i < sizeof(GPSTD); i++) TextDrawHideForPlayer(playerid,GPSTD[i]);
	PlayerTextDrawHide(playerid,GPSINFO);
    }
    return true;
}

Автор данной системы и TD : -WorcOut-

  • Like 2

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


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

Мне ошибки выдаёт :(

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


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

Мне тоже

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


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

@HDMIusbi и @Sasha_Zemlyanoy, вангую - массив неизвестен ? Или аргументы не совпадают ? 

 

Ошибки в студию .

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


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

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

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

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

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

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

Войти

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

Войти
Авторизация  

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

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

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

    • #GOBLIN
      От #GOBLIN
      Однако здравствуйте   
      Сегодня солью слитый мод Great RolePlay ( OLD ) 
      Основой данного мода послужил Your RolePlay  
      Мод полностью построен на мод паке 
      Рассказывать много про него не буду, т.к многие знают что это за мод и кем он был доработан 
       
      Немного информации: 
      - Мод-основа: Your RolePlay(Need For RolePlay);
      - Строк в моде: 28к;
      - База данных MySQL;
      - Командный процессор ZCMD;
      - Код легко читается;
      - Присутствует быдло код   
      Автор доработки мода: Max_Eitzen
      Скачать мод Yandex: тык  
      Скачать мод пак к серверу Yandex: тык 
      Прямые ссылки:
      GREAT RP.rar
      Great-Pack.zip
      Не благодарите 
       
       
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.