В теме 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 пользователей онлайн

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

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

    • Super_Gost'
      От Super_Gost'
      Приветствую. Для разработки собственного проекта требуется специалист, способный подготовить стабильную клиентскую базу на движке GTA San Andreas для работы с картой CRMP.

      Техническое задание:

      Задача: Интегрировать файлы карты CR в клиент так, чтобы обеспечить стабильную работу в SA-MP 0.3.7 / open.mp.

      Лимиты: Настроить Fastman92 Limit Adjuster. Необходимо грамотно расширить лимиты: IDE записей и так далее.

      Синхронизация с сервером: Подготовить список ID используемых объектов для корректного переноса в серверную часть на ядро Open MP.

      Требования к результату:

      Клиент должен запускаться без крашей и работать без прочих багов.

      На выходе нужно получить готовую сборку (архив), которая станет "фундаментом" для дальнейшей разработки мода и лаунчера.

      Бюджет обсуждаем. Ищу человека с опытом в CRMP-моддинге, который разбирается в этом. Сама работа является единоразовой/не на постоянной основе.

      Данные для связи: Tg: @Ichigo22149
    • Maxwell
      От Maxwell
      Ребята, мб есть у кого код на /rec, реконект то есть.
    • снайк
      От снайк
      Проект находится в стадии активной разработки, и сейчас нам нужны люди для написания новых систем и оптимизации текущего кода. Нам не важны ваши сертификаты, главное — чистота кода, понимание архитектуры CR:MP и умение работать с базами данных.
       
      Важный момент: На данном этапе мы работаем без прямых денежных выплат, так как весь бюджет направлен на техническую часть и серверное оборудование. Мы ищем тех, кто готов вложиться в качественный продукт на старте, чтобы развивать его в долгосрочной перспективе.
       
      Что мы предлагаем разработчикам:
      Техническая свобода: Возможность реализовывать свои технические идеи и напрямую влиять на геймплей.
      Максимальная поддержка на старте: Игровой капитал, эксклюзивное имущество и уникальные привилегии, которые навсегда выделят вас среди игроков.
      Приоритет в управлении: Разработчики, показавшие результат, станут ключевыми фигурами в дальнейшем развитии и принятии решений по проекту.
      Пожизненные бонусы: Особый статус и преференции, которые нельзя будет купить.
       
      Готовы кодить с нами? Пишите:
      Telegram: https://t.me/escape_log
      ВКонтакте: https://vk.com/oskar_novicc
       
      Давайте создадим качественный сервер вместе
    • Maxwell
      От Maxwell
      Ребята привет, как создать движущиеся ворота на H? У кого-то код есть? Если да, то можете скинуть пожалуйста?