Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 20 из 20

Тема: стринги

  1. #11
    Аватар для Maranzalla
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Адрес
    Moscow
    Сообщений
    108
    Репутация:
    -1 ±
    Цитата Сообщение от Kazoox Посмотреть сообщение
    Риск перезаписи данных? Хм, а разве в samp не "однозадачность"? Пока не закончит выполнение предыдущая функция/цикл и т.д - не будут выполняться следующие, соответственно, каким образом может возникнуть перезапись данных? Если использовать strcat, конечно, будет ужас, да и то это очень просто решается - strdel перед использованием. Или же я не прав и всё же лучше использовать "локальные массивы"?
    Прав но все равно локальные массивы

  2. #12
    Аватар для LINKINPARK
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.01.2014
    Сообщений
    27
    Репутация:
    10 ±
    Один глобальный, просто не забывать его чистить масс[0] = EOS; однопоточность позволяет же. + глобальный массив не занимает стек.

  3. #13
    Аватар для Maranzalla
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Адрес
    Moscow
    Сообщений
    108
    Репутация:
    -1 ±
    Цитата Сообщение от LINKINPARK Посмотреть сообщение
    Один глобальный, просто не забывать его чистить масс[0] = EOS; однопоточность позволяет же. + глобальный массив не занимает стек.
    Таскать по всему моду 1024 ячейки для одноразового использования ну это как минимум сумасшествие

  4. #14
    Аватар для John_Smith (Scripter)
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.01.2015
    Сообщений
    36
    Репутация:
    -1 ±
    ну я использую strdel каждый раз после использование массива для избежание смешивание информации, но все же что лучше использовать для оптимизации?

    - - - Добавлено - - -

    + глобальный массив не занимает стек.
    Вот это то что нужно!

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Чтобы избежать "смешивание" информации, то воспользуйтесь вариантом от 'LINKINPARK' и присвойте первой ячейке массива значение нулевого символа:
    PHP код:
    arr[0] = EOS

  6. #16
    Аватар для alfazlo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.06.2014
    Сообщений
    16
    Репутация:
    1 ±
    из-за однопоточности данные не смешаются, НО я тестировал обычные переменные(int). Доступ к данным и вычисления у локальных переменных в этих тестах быстрее, чем у глобальных, по моим тестам быстрее всего выходит использовать локальные static переменные.

  7. #17
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Чтобы избежать "смешивание" информации, то воспользуйтесь вариантом от 'LINKINPARK' и присвойте первой ячейке массива значение нулевого символа:
    PHP код:
    arr[0] = EOS
    А что если format используется в моде ну очень уж часто, тысячи раз, не проще ли будет использовать макрос и тд? Пример макроса с "обнулением" массива напишите кто-нибудь...

  8. #18
    Аватар для John_Smith (Scripter)
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.01.2015
    Сообщений
    36
    Репутация:
    -1 ±
    при использование format массив сам очищается, а после того как вы использовали strcat, советую вручную очищать массив после окончание функции со strcat

  9. #19
    Аватар для Kazoox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.04.2014
    Сообщений
    121
    Репутация:
    3 ±
    Цитата Сообщение от John_Smith (Scripter) Посмотреть сообщение
    при использование format массив сам очищается, а после того как вы использовали strcat, советую вручную очищать массив после окончание функции со strcat
    Со strcat всё предельно ясно, я в последнем посте на 1 странице уже написал по этому поводу. Я тоже думал что format очистит массив, но при одновременном использовании, для нескольких клиентов (игроков) - редко, но бывают путаницы, к примеру - цвет сообщения, 0 ID должен был получить зелёное сообщение, а 1 ID - жёлтое, в итоге всё получается наоборот. Пробовал очищать массив перед каждым использованием format - не компилируется мод вообще, просто зависает, почему и ищу другой способ какой-нибудь (кроме локальных массивов, хотелось бы всё же использовать глобальные).

  10. #20
    Аватар для John_Smith (Scripter)
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.01.2015
    Сообщений
    36
    Репутация:
    -1 ±
    Цитата Сообщение от Kazoox Посмотреть сообщение
    Со strcat всё предельно ясно, я в последнем посте на 1 странице уже написал по этому поводу. Я тоже думал что format очистит массив, но при одновременном использовании, для нескольких клиентов (игроков) - редко, но бывают путаницы, к примеру - цвет сообщения, 0 ID должен был получить зелёное сообщение, а 1 ID - жёлтое, в итоге всё получается наоборот. Пробовал очищать массив перед каждым использованием format - не компилируется мод вообще, просто зависает, почему и ищу другой способ какой-нибудь (кроме локальных массивов, хотелось бы всё же использовать глобальные).
    У меня в моде уже почти 4к строк, тобишь с нуля и везде использую глобальный массив игрока, мод работает как часы, все четка. И не думаю что в дальнейшем будут косяки

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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