В теме 1 сообщение

JAFAR
Активный

< Всем привет сегодня я солью систему gps >

< Cистему gps была полностью написана с нуля >

< По запросу одного проекта но так как они не заплатили >

< за проделанную работу я решил слить данную систему>

< ========================================================== >

< Функционал как работает >

< Данная система можно так сказать уникальной >

< Так как для игрока это обычное GPS >

< А для admins это быстрый телепорт по точкам >

< ================================================== >

< CODES >

Спойлер

Ко всем New мы вставляем это:

new bool:UseGPS[MAX_PLAYERS];

Затем мы создаём DIALOG_GPS

Затем мы создаём сам DIALOG

        case DIALOG_GPS:

        {

            if(!response) { //нажал закрыть
                return 0;
            }

            switch(listitem)
            {

                   case 1: SPD(playerid, 52, DSL, "{c71616}Работы", "\
                   {c71616}[1] {ffffff}База грузовых тягачей\n\
                   {c71616}[2] {ffffff}Служба автомехаников", "Поиск", "Назад");      

            }
        }

 

Потом мы создаём сами точки для gps

 

 

        case 54:
        {
            if(!response) { // нажал закрыть
                return 0;
            }
            new locname[30], Float:X, Float:Y, Float:Z;
            switch(listitem)
            {

                case 0: X = -3174.6797, Y = -2889.3596, Z = 9.4253, locname = "База грузовых тягачей"; //
                case 1: X = -2707.0796, Y = 1181.7296, Z = 10.8560, locname = "Служба автомехаников";  //
            }
            if(Player[playerid][pAdmin] > 1) GPSAdmin_(playerid, X, Y, Z);
            else GPSPlayer_(playerid, X, Y, Z, locname);
            return 1;
        }

 

Потом мы идём в OnPlayerDisconnect

и вставляем там вот этот код

    if(UseGPS[playerid])
    {
        DisablePlayerRaceCheckpoint(playerid);
        UseGPS[playerid] = false;
    }

 

Потом мы идём в OnPlayerDeath

и так же вставляем код

    if(UseGPS[playerid])
    {
        DisablePlayerRaceCheckpoint(playerid);
        UseGPS[playerid] = false;
    }

 

Потом мы идём в OnPlayerEnterRaceCheckpoint

и вставляем код

    if(UseGPS[playerid])
    {
        SendClientMessage(playerid, 0xFFFFFF, "{c71616}Вы достигли место назначения!");
           DisablePlayerRaceCheckpoint(playerid);
           UseGPS[playerid] = false;
           return 1;
    }

 

Потом мы создаём stock GPSPlayer_

 

stock GPSPlayer_(playerid, Float:X, Float:Y, Float:Z, locname[])
{
    if(X == 0.0) return 1;
    new Float:VPos[3];
    if(Player[playerid][pAdmin] == 0)
    {
        GetPlayerPos(playerid, VPos[0], VPos[1], VPos[2]);
        UseGPS[playerid] = true;
        DisablePlayerRaceCheckpoint(playerid);
        SetPlayerRaceCheckpoint(playerid, 1, X, Y, Z, 0, 0, 0, 5.0);
        new string[128];
        format(string, sizeof(string), "Вы отметили пункт на карте: %s. {c71616}Расстояние: %.1f ì", locname, GetDistanceBetweenPoints(VPos[0], VPos[1], VPos[2], X, Y, Z));
        SendClientMessage(playerid, COLOR_WHITE, string);
    }
    if(Player[playerid][pAdmin] > 1)
    {
        SetPlayerPos(playerid, X, Y, Z);
    }
    return 1;
}

 

Далее так-же мы создаём stock GPSAdmin_

 

stock GPSAdmin_(playerid, Float:X, Float:Y, Float:Z)
{
    if(Player[playerid][pAdmin] > 1)
    {
        SetPlayerPos(playerid, X, Y, Z);
    }
    return 1;
}

 

Ну и под кoнец сама CMD:gps

 

CMD:gps(playerid, params[])
{
    if(Player[playerid][pAdmin] == 0)
    {
        if(GetPlayerInterior(playerid) != 0 || GetPlayerVirtualWorld(playerid) != 0) return SendClientMessage(playerid, COLOR_GREY, "Выйдете на улицу!");
    }
    SPD(playerid, DIALOG_GPS, DSL, "{c71616}GPS навигатор",
    !"\
        {c71616}[1] {ffffff}Местоположение работ\
        ", !"Выбрать", !"Выход\
    ");
    return 1;
}

 

Ну на этом всё думаю кому надо пригодиться

Скриншоты:

На скриншотах уже моя работа так что можете не сравнивать с кодом который тут^

Спойлер

Япикc:Клик

Видео:Клик

 

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • Margiela
      От Margiela
      устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
      имеются ли аналоги pawno на mac? 
    • мурзик НЕРНО
      От мурзик НЕРНО
      Помогите пожалуйста у меня есть мод от нового RUSSIA RP и там баг есть некоторые места на карте ваще дырки как будто вырезанные так же и с интерьерами вроде в моде написаны я сам лично проверял на другом моде работают а на этотм ваще некоторый из них не отображается и вот когда я захожу на другой проект все нормально с картой и не куда не проваливаюсь так же и на пк тоже я посоветовался с другими разработчиками они сказал дело в этом файле только я не понимаю что там надо ваще поменять или добавить буду рад если поможете
       
      Скрины так же есть там таких мест очень много
      MAP.inc