Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: GPS как на Radmir RP

Показано с 11 по 20 из 20

  1. #11
    スカー藩主

    Аватар для #Samurai

    Статус: Оффлайн
    Регистрация:16.09.2017
    Адрес:Где-то в РФ
    Сообщений:237
    Репутация:215 [+/-] 
    1. Много магических чисел.
    2. Китайский код.
    3. Названия переменных, функций, остает желать лучшего.

    Вообщем то, тема сделана на отстаньте, не оформления ничего)
    Как система неплохо.

    Джуга лох.
    Магических чисел? Я ко всем вычислениям приложил пояснения, как они получились.

    Китайский код? Чё ещё за китайский код?

    А с названиями что не так? Названия функций отражают то, что они собственно и делают, переменные аналогично
    markX, markY, markZ
    mark - метка
    X,Y,Z - ось

    markDist
    mark - метка
    Dist - distance, расстояние

    gpsPoses разве что можно было заменить не на позиции а не места(place)
  2. #12
    Зарегистрированый

    Аватар для Chopa_Rich

    Статус: Оффлайн
    Регистрация:17.03.2018
    Сообщений:2
    Репутация:0 [+/-] 
    отличная система, взял себе, как сделать каскады?
    т.е выборку (Важные места, бизнесы, работы, прочее.)
  3. #13
    スカー藩主

    Аватар для #Samurai

    Статус: Оффлайн
    Регистрация:16.09.2017
    Адрес:Где-то в РФ
    Сообщений:237
    Репутация:215 [+/-] 
    отличная система, взял себе, как сделать каскады?
    т.е выборку (Важные места, бизнесы, работы, прочее.)
    Сделать показ отдельного диалога с типами мест и после выбора нужного типа открывать диалог с нужными местами.

    PHP код:
    new gangsPlaces[5][gps_enum] =
    {
    {
    "Грув", {координаты}},
    {
    "Баллас", {координаты}},
    {
    "Вагос", {координаты}},
    {
    "Рифа", {координаты}},
    {
    "Ацтеки", {координаты}},
    };

    new 
    policePlaces[3][gps_enum] =
    {
    {
    "LSPD", {координаты}},
    {
    "SFPD", {координаты}},
    {
    "LVPD", {координаты}}
    };

    CMD:gps(playerid)
    {
    ShowPlayerDialog(playerid1337DIALOG_STYLE_LIST"Список мест""Банды\nПД""Выбрать""Закрыть");

    И в обработке этого диалога в response открывать диалог с нужным списком и в обработке нового диалога ставить маркер так же, как сейчас в коде в теме показано.
  4. #14
    Assassin of Scripters

    Аватар для Long-

    Статус: Оффлайн
    Регистрация:14.12.2014
    Адрес:delete
    Сообщений:2,476
    Репутация:648 [+/-] 
    Магических чисел? Я ко всем вычислениям приложил пояснения, как они получились.

    Китайский код? Чё ещё за китайский код?

    А с названиями что не так? Названия функций отражают то, что они собственно и делают, переменные аналогично
    markX, markY, markZ
    mark - метка
    X,Y,Z - ось

    markDist
    mark - метка
    Dist - distance, расстояние

    gpsPoses разве что можно было заменить не на позиции а не места(place)

    Используешь цикл там, где он не нужен, для 6 тд вообще ненужно его использовать, ибо если ты его не заюзаешь , получишь только пользу, и не капли не убавишь читаемости.
    Магическое число в цикле, лучше создать отдельную константу под это число.
    Так-же для читаемости, можно создать отдельный энуменатор, например:

    PHP код:
    enum e_GPS_TD_INFO
    {
        
    Text:Box1,
        
    Text:Box2,
        
    Text:Box3
            
    //и тд.

    };
    new 
    td_GPS[e_GPS_TD_INFO]; 
    И тебе будет удобнее работать в таком, и всем кто возьмет твою систему.

    ---------- Сообщение добавлено в 12:34 ---------- Предыдущее сообщение добавлено в 12:32 ----------

    Сделать показ отдельного диалога с типами мест и после выбора нужного типа открывать диалог с нужными местами.

    PHP код:
    new gangsPlaces[5][gps_enum] =
    {
    {
    "Грув", {координаты}},
    {
    "Баллас", {координаты}},
    {
    "Вагос", {координаты}},
    {
    "Рифа", {координаты}},
    {
    "Ацтеки", {координаты}},
    };

    new 
    policePlaces[3][gps_enum] =
    {
    {
    "LSPD", {координаты}},
    {
    "SFPD", {координаты}},
    {
    "LVPD", {координаты}}
    };

    CMD:gps(playerid)
    {
    ShowPlayerDialog(playerid1337DIALOG_STYLE_LIST"Список мест""Банды\nПД""Выбрать""Закрыть");

    И в обработке этого диалога в response открывать диалог с нужным списком и в обработке нового диалога ставить маркер так же, как сейчас в коде в теме показано.
    Тут аналогично, либо не указывать значения в массиве в первом измерении, и использовать функцию sizeof в циклах, либо создать константу под это число, будет намного лучше.
  5. #15
    Заблокирован

    Аватар для Assembler

    Статус: Оффлайн
    Регистрация:12.02.2018
    Сообщений:276
    Репутация:45 [+/-] 
    Зачем тут глобальный массив? Только размер сегмента данных необоснованно раздул
    Ну а про магические числа сказано выше

    И да, зачем тут переменная "size"?
    PHP код:
    for(new 0size sizeof(gpsPoses); sizei++) 
    sizeof обрабатывается препроцессором практически во всех случаях (кроме моментов, когда он указывается в параметрах функции для автоопределения размера переданного параметра) и, в итоге, твой код будет выглядеть так:
    PHP код:
    for(new 0size 6sizei++) 
    Тем самым ты лишь добавишь кучу лишних инструкций по обращению к переменной "size", а не сделаешь код лучше. В твоём случае нужно было делать так:
    PHP код:
    for(new 0sizeof(gpsPoses); i++) 

    Оформление темы ужасное. Возьми BB-код [HR] и пометь им границы абзацев. Гораздо читабельнее станет вид темы
  6. #16
    Зарегистрированый

    Аватар для Chopa_Rich

    Статус: Оффлайн
    Регистрация:17.03.2018
    Сообщений:2
    Репутация:0 [+/-] 
    Сделать показ отдельного диалога с типами мест и после выбора нужного типа открывать диалог с нужными местами.

    PHP код:
    new gangsPlaces[5][gps_enum] =
    {
    {
    "Грув", {координаты}},
    {
    "Баллас", {координаты}},
    {
    "Вагос", {координаты}},
    {
    "Рифа", {координаты}},
    {
    "Ацтеки", {координаты}},
    };

    new 
    policePlaces[3][gps_enum] =
    {
    {
    "LSPD", {координаты}},
    {
    "SFPD", {координаты}},
    {
    "LVPD", {координаты}}
    };

    CMD:gps(playerid)
    {
    ShowPlayerDialog(playerid1337DIALOG_STYLE_LIST"Список мест""Банды\nПД""Выбрать""Закрыть");

    И в обработке этого диалога в response открывать диалог с нужным списком и в обработке нового диалога ставить маркер так же, как сейчас в коде в теме показано.
    Спасибо, пока не пробую внедрить однако боюсь что придётся помучиться с глобальным массивом, что нужно конкретно сделать по шагово, извиняюсь за нубство.
  7. #17
    主持人

    Аватар для TheJIsusGang

    Статус: Оффлайн
    Регистрация:19.07.2013
    Адрес:Беларусь г.Брест -> Кобрин
    Сообщений:1,055
    Репутация:116 [+/-] 
    Побольше бы таких активных пользователей, автор молодец)
  8. #18
    Пользователь

    Аватар для SporTsmaN

    Статус: Оффлайн
    Регистрация:16.04.2013
    Сообщений:693
    Репутация:212 [+/-] 
    Молодец что старался. Но система шляпа полная. Использовать 11 глобальных массивов, это убийство сервера...
    Форум: http://cripton.su/
    Группа [B]: http://vk.com/criptonsamp
  9. #19
    スカー藩主

    Аватар для #Samurai

    Статус: Оффлайн
    Регистрация:16.09.2017
    Адрес:Где-то в РФ
    Сообщений:237
    Репутация:215 [+/-] 
    Молодец что старался. Но система шляпа полная. Использовать 11 глобальных массивов, это убийство сервера...
    С каких пор глобальные массивы убивают сервер?
  10. 1 пользователь сказал cпасибо #Samurai за это полезное сообщение:

    execution (17.05.2018)

  11. #20
    Пользователь

    Аватар для execution

    Статус: Оффлайн
    Регистрация:23.06.2017
    Сообщений:62
    Репутация:4 [+/-] 
    С каких пор глобальные массивы убивают сервер?
    Ты просто не шаришь.
Страница 2 из 2 Первая 12
  • К странице:

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения