Всем привет! В этой теме я расскажу, как сделать самую простую систему GPS для вашего сервера.
Начнём...
1) Создадим команду для GPS, для этого ищем public OnPlayerCommandText и в него запихиваем команду:
if (strcmp("/gps", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"GPS навигатор","Ваше название 1\nВаше название 2\nВаше название 3\nВаше название 4\nВаше название 5\nВаше название 6\nВыключить GPS","Выбрать","Отмена");
return 1;
}
Там где написано Ваше название туда вы вписываете ваши названия того, куда вы хотите, чтобы игроки по GPS приехали (ну к примеру Автошкола, Клуб 8Бит, Мерия, Банк, Автосалон)
2) Теперь нам нужно создать кординаты для чекпоинтов GPS, для этого в public OnDialogResponse запихиваем:
if(response)
{
switch(dialogid)
{
case 3: // ИД диалога
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 1"
}
case 1:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 2"
}
case 2:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 3"
}
case 3:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 4"
}
case 4:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 5"
}
case 5:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 6"
}
case 6:
{
SendClientMessage(playerid,0xFFFFFFC8,"Вы отключили GPS навигатор.");
DisablePlayerCheckpoint(playerid);
}
}
}
}
Перед как ставить диалоги, не забудьте сделать сами кординаты
3) Осталось сделать так, чтобы когда вы приехали на метку, она исчезла, для этого в public OnPlayerEnterCheckpoint запихиваем это:
DisablePlayerCheckpoint(playerid); //Убирает чекпоинт, после того как прибыли на место
Всё! Готово!
Начнём...
1) Создадим команду для GPS, для этого ищем public OnPlayerCommandText и в него запихиваем команду:
if (strcmp("/gps", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_LIST,"GPS навигатор","Ваше название 1\nВаше название 2\nВаше название 3\nВаше название 4\nВаше название 5\nВаше название 6\nВыключить GPS","Выбрать","Отмена");
return 1;
}
Там где написано Ваше название туда вы вписываете ваши названия того, куда вы хотите, чтобы игроки по GPS приехали (ну к примеру Автошкола, Клуб 8Бит, Мерия, Банк, Автосалон)
2) Теперь нам нужно создать кординаты для чекпоинтов GPS, для этого в public OnDialogResponse запихиваем:
if(response)
{
switch(dialogid)
{
case 3: // ИД диалога
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 1"
}
case 1:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 2"
}
case 2:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 3"
}
case 3:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 4"
}
case 4:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 5"
}
case 5:
{
SendClientMessage(playerid,0xFFFFFFC8,"Ваш текст"); //Ваш текст, типа, Метка установлена, езжайте на неё
SetPlayerCheckpoint(playerid, X, Y, Z, 3.0); //Здесь кординаты места "Ваше название 6"
}
case 6:
{
SendClientMessage(playerid,0xFFFFFFC8,"Вы отключили GPS навигатор.");
DisablePlayerCheckpoint(playerid);
}
}
}
}
Перед как ставить диалоги, не забудьте сделать сами кординаты
3) Осталось сделать так, чтобы когда вы приехали на метку, она исчезла, для этого в public OnPlayerEnterCheckpoint запихиваем это:
DisablePlayerCheckpoint(playerid); //Убирает чекпоинт, после того как прибыли на место
Всё! Готово!
Последнее редактирование модератором: