Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал GPS с помощью MapIcon

Статус
В этой теме нельзя размещать новые ответы.

SilentXx

Новичок
Это сунем ко всем new:
new Float: GpsX [MAX_PLAYERS];
new Float: GpsY [MAX_PLAYERS];
new Float: GpsZ [MAX_PLAYERS];
new GpsEn[MAX_PLAYERS];
А вот это в OnPlayerConnect(playerid):
GpsX[playerid] = 0.0;
GpsY[playerid] = 0.0;
GpsZ[playerid] = 0.0;
GpsEn[playerid] = 0;
Добавляем команду для выбора локации:
if (strcmp(cmd, "/ваша команда", true) == 0)
{
ShowPlayerDialog(playerid,9991,DIALOG_STYLE_LIST,"Локации","Дальнобой\nСвалка","Ок","Выйти"); // И далее новые пункты через \n (не забудьте добавить в диалог)
return 1;
}
Добавим в OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) новый диалог:
if(dialogid == 9991)
{
if(response)
{
if(listitem == 0) SetGPSMarker(playerid,-78.6058,-1128.4846,1.0781,51); // Дальнобой
if(listitem == 1) SetGPSMarker(playerid,2185.7227,-1982.4310,13.5514); // Свалка
// listitem == 2 и т.д.
}
}
Добавим stock:
stock SetGPSMarker(playerid,Float:x, Float:y, Float:z, icon = 53)
{
RemovePlayerMapIcon(playerid, 56 );
SetPlayerMapIcon( playerid, 56, x, y, z, icon, 0, MAPICON_GLOBAL );
GpsX[playerid] = x;
GpsY[playerid] = y;
GpsZ[playerid] = z;
GpsEn[playerid] = 1;
}

stock RemoveGPSMarker(playerid)
{
RemovePlayerMapIcon(playerid, 56 );
GpsX[playerid] = 0.0;
GpsY[playerid] = 0.0;
GpsZ[playerid] = 0.0;
GpsEn[playerid] = 0;
}
В любой таймер вставьте:
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i, 40.0, GpsX,GpsY,GpsZ) && GpsEn == 1)
{
RemoveGPSMarker(i);
}
}

Ну или
if(IsPlayerInRangeOfPoint(playerid, 40.0, GpsX[playerid],GpsY[playerid],GpsZ[playerid]) && GpsEn[playerid] == 1)
{
RemoveGPSMarker(playerid);
}
Как добавлять:
Новая точка
SetGPSMarker(playerid,Float:x, Float:y, Float:z, icon (не обязательно))
playerid - ID игрока для которого точка.
Float:x, Float:y, Float:z - Координаты точки.
icon - По стандарту всегда стоит иконка 53, чтобы поставить свою, просто введите свой ID иконки.


После того как вы подъехали к иконке, она пропадет.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу