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

< Всем привет сегодня я солью систему 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 пользователей онлайн

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

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

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?
       
    • Fpfe
      От Fpfe
      Я не могу понять в чем ошибка помогите пожалуйста
      C:\Users\Deze{s\Desktop\arzdd\gamemodes\arizonarp.pwn(50864) : error 037: invalid string (possibly non-terminated string)
      Pawn compiler 3.10.8              Copyright (c) 1997-2006, ITB CompuPhase

      1 Error.
       
      Уже почитал Что в этой строке мне просто нужно было 2 запятые поставить,Кто первый ответит тому положительный оставлю