• Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » GPS с помощью MapIcon
GPS с помощью MapIcon


Ко всем 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, "/locate", 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[i],GpsY[i],GpsZ[i]) && GpsEn[i] == 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 иконки.


После того как вы подъехали к иконке, она пропадет.

Автор:ZioHik
Специально для www.SAMP-TEAM.com
10.04.2013 в 22:48
cool cool cool Норм
16.03.2014 в 23:15
Удобно, благодарю
04.05.2014 в 12:49
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » GPS с помощью MapIcon
  • Страница 1 из 1
  • 1
Поиск: