Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 99 из 133 ПерваяПервая ... 49 89 97 98 99 100 101 109 ... ПоследняяПоследняя
Показано с 981 по 990 из 1325
  1. #981
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Когда при создании массива сразу же даешь ему значение, компилятор автоматически считает его размер.

    PHP код:
    main()
    {
        new 
    gString[] = "test";
        
    printf("%s"gString);

    Так-же указывать можно не только под текст, но и все многомерные массивы типа:

    PHP код:
    new gTest[][] =
    {
       {
    123},
       {
    321}
    };
    printf("%d"gTest[0][2]); 
    А вообще его стоит указывать? Оно влияет как-то? Я просто не думаю, что для компилятора трудно посчитать размер массива. Тогда зачем многие указывают размеры?

  2. #982
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    А вообще его стоит указывать? Оно влияет как-то? Я просто не думаю, что для компилятора трудно посчитать размер массива. Тогда зачем многие указывают размеры?
    Это кому как удобно, кому лень, тот не указывает, кому не лень может указать.
    Когда ты создаешь массив и сразу ему даешь значение, то не стоит указывать.
    Многие указывают когда не сразу дают им значение, а просто для форматирования или скрепление строки.

    А-ля:

    PHP код:
    new string[5];
    format(stringsizeof string"test"); 
    Так можно.

    PHP код:
    new string[];
    format(stringsizeof string"test"); 
    А вот так нельзя, уже будут ошибки, ибо ты в параметрах функции format узнаешь размер массива куда помещаешь текст,и выведет ошибку.

  3. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (28.01.2018)
  4. #983
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Всем доброе время суток) Хотел уточнить малый момент. Допустим, есть функция, в которой происходит показ диалога с информацией, например, о доме. Для каждого статуса игрока эта информация отображается по-разному. Соответственно, в стоке идет проверка: если игрок администратор, покажем одно, если владелец - другое и так еще порядка трех вариантов. Каждый такой код занимает немалое число строк. Вопрос: логично ли в данном случае использовать автоматоны, чтобы удобнее было находить тот или иной диалог? Сомнения пораждает то, что автоматоны медленные, по крайней мере когда условий выбора мало, а также тот факт, что придется писать эти проверки на принадлежность к разным статусам непосредственно перед вызовом функции. А этих вызовов много по всему моду. Может предложите какие-нибудь универсальные решения?
    Спасибо)

  5. #984
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Всем доброе время суток) Хотел уточнить малый момент. Допустим, есть функция, в которой происходит показ диалога с информацией, например, о доме. Для каждого статуса игрока эта информация отображается по-разному. Соответственно, в стоке идет проверка: если игрок администратор, покажем одно, если владелец - другое и так еще порядка трех вариантов. Каждый такой код занимает немалое число строк. Вопрос: логично ли в данном случае использовать автоматоны, чтобы удобнее было находить тот или иной диалог? Сомнения пораждает то, что автоматоны медленные, по крайней мере когда условий выбора мало, а также тот факт, что придется писать эти проверки на принадлежность к разным статусам непосредственно перед вызовом функции. А этих вызовов много по всему моду. Может предложите какие-нибудь универсальные решения?
    Спасибо)
    Автоматоны не советую использовать, если ты не знаешь логику их работы. Так ты можешь "сломать" весь код. Например, игрок админ -> статус автоматонов меняется на "admin" (для примера), далее он ещё не закончил работать с функциями, которые разделены автоматонами и в этот момент этот же диалог вызывает другой обычный игрок и статус автоматонов меняется на "player" (это тоже чисто для примера), понял в чём прикол? То есть все остальные функции будут воспринимать администратора как обычного игрока, так как статус автоматонов изменился, пока он работал с этими функциями. Конечно можно этот момент обойти с кучами проверок, но стоит ли оно того? Автоматоны - глобальные, меняешь их в одном месте, изменятся везде, а не для каждого игрока по отдельности. Наверно суть мог обяснить. Используй автомтоны для глобальных функции, где изменение не зависят от игроков.
    Последний раз редактировалось Geebrox; 30.01.2018 в 07:33.

  6. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (30.01.2018)
  7. #985
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Автоматоны не советую использовать, если ты не знаешь логику их работы. Так ты можешь "сломать" весь код. Например, игрок админ -> статус автоматонов меняется на "admin" (для примера), далее он ещё не закончил работать с функциями, которые разделены автоматонами и в этот момент этот же диалог вызывает другой обычный игрок и статус автоматонов меняется на "player" (это тоже чисто для примера), понял в чём прикол? То есть все остальные функции будут воспринимать администратора как обычного игрока, так как статус автоматонов изменился, пока он работал с этими функциями. Конечно можно этот момент обойти с кучами проверок, но стоит ли оно того? Автоматоны - глобальные, меняешь их в одном месте, изменятся везде, а не для каждого игрока по отдельности. Наверно суть мог обяснить. Используй автомтоны для глобальных функции, где изменение не зависят от игроков.
    Ну, что нарыл на автоматоны, то и знаю про них. Нигде не видел информацию, что может быть нечто подобное. А можно пожалуйста парочку примеров, где их можно, и даже стоит, использовать. Только не типичных, где сток с большим оператором выбора (switch) преобразуют, чтобы была реализация через автоматоны. Хотелось бы яркий пример, который можно, так скажем, использовать в моде.

  8. #986
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Ну, что нарыл на автоматоны, то и знаю про них. Нигде не видел информацию, что может быть нечто подобное. А можно пожалуйста парочку примеров, где их можно, и даже стоит, использовать. Только не типичных, где сток с большим оператором выбора (switch) преобразуют, чтобы была реализация через автоматоны. Хотелось бы яркий пример, который можно, так скажем, использовать в моде.
    тыкай

  9. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (31.01.2018)
  10. #987
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Подскажите пожалуйста еще один момент. Не могу понять в чем смысл использовать такой код:
    Код:
    stock GetPlayerLogin(playerid)
    	return Player[playerid][pLogin];
    Если можно сделать это и так:
    Код:
    #define GetPlayerLogin(%0) Player[%0][pLogin]
    Зачем создавать новую функцию и тратить время на ее вызов, если можно создать макрос, который при компиляции "встанет" как нужно. Часто вижу первый вариант на данном форуме, но не пойму зачем это делают так...

  11. #988
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Подскажите пожалуйста еще один момент. Не могу понять в чем смысл использовать такой код:
    Код:
    stock GetPlayerLogin(playerid)
    	return Player[playerid][pLogin];
    Если можно сделать это и так:
    Код:
    #define GetPlayerLogin(%0) Player[%0][pLogin]
    Зачем создавать новую функцию и тратить время на ее вызов, если можно создать макрос, который при компиляции "встанет" как нужно. Часто вижу первый вариант на данном форуме, но не пойму зачем это делают так...
    Чтобы можно было контролировать логику работы функции. Вдруг ты решишь добавить ещё несколько проверок или ещё что-то в GetPlayerLogin. Ты не знаешь, что может произойти в будуещем, так что надо стараться сделать код максимально удобным для поддержки и отладки. И ещё, отличие первого и второго варианта в том, что вызов функции GetPlayerLogin можно произвести перед его объявление, а со вторым такой трюк не прокатит. То есть если ты подключишь инклюды которые будут использовать GetPlayerLogin и если такой макрос объявлен после подключение этих инклюдов, то компилятор выдаст ошибку.
    Последний раз редактировалось Geebrox; 01.02.2018 в 22:01.

  12. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (01.02.2018)
  13. #989
    Аватар для Kovshevoy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±
    В общем у меня траблес, при удалении транспорта командой, обьекты которые рядом (созданные) пропадают, а потом появляются. В чем может быть проблема?

  14. #990
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от NichWell Посмотреть сообщение
    В общем у меня траблес, при удалении транспорта командой, обьекты которые рядом (созданные) пропадают, а потом появляются. В чем может быть проблема?
    Покажите команду

 

 
Страница 99 из 133 ПерваяПервая ... 49 89 97 98 99 100 101 109 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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