Как сделать?

Re: Как сделать?

Воспроизвести не получилось (пробовал несколько раз с OGG/Vorbis, MP3 и MIDI) - у меня isplay быстро возвращает правильный результат. А можно прислать какой-то простой пример с ошибкой (с файлами + тестовым файлом игры)? Можно в дискорде, можно в телеграме, можно здесь.

Byte
useravatar
Offline
725 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

GrimLight,
но ведь легко проверить. Заметь трек, с которым воспроизводится такое молчание, возьми пару треков до него, пару после, и проверяй какие воспроизводятся, используя окно доп.описания:

Код:

count += 1

if count = 1000: count = 0
clr
pl 'Контроль: <<count>>'
pl 'darkdreams: '+ $str(isplay("Sound\Radio\Music_beat_Darkdreams.mp3"))
pl 'radio 1: '+ $str(isplay("Sound\Radio\Radio_1.mp3"))
pl 'resonate: '+ $str(isplay("Sound\Radio\Music_trans_Resonate.mp3"))

Ну и, надо всегда помнить, что counter не всегда срабатывает чётко в означенное время. Это может вызывать некоторые глюки в воспроизведении аудио.

https://wiki.qsp.org/help:realtime  <-- тут не совсем корректно описано, как это работает, позже поправлю. Но в целом смысл думаю ясен. Локация-счётчик может не попасть в заданные интервалы, и таким образом при воспроизведении музыки будут паузы.

Aleks Versus
воздвигатель башни
useravatar
Offline
1753 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Если код выполняется не очень долго (нужно постараться, чтобы при разумном подходе что-то долго работало), то задержки выполнения кода не должны особо влиять.

Byte
useravatar
Offline
725 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Я использовал плеер 5.7, скачал последний 5.9.3, в нем все работает (моя вина). Но спасибо, всем! Простите, не заметил что форум ушёл на следующую страницу и только сейчас увидел ваши ответы (отвык от форумов).

GrimLight
useravatar
Offline
8 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Подскажите, пожалуйста

Правильно ли я понимаю, что я не могу сделать итерацию не по всему массиву, а по ячейке массива. То есть "многомерные" массивы по сути не совсем многомерные, это те же линейные массивы, только с кортежами в качестве индекса.

Например, я создаю массив

Код:


LOCAL Q_INDEX = 0
$QUESTS_TEXT[Q_INDEX] = "Иди туда, не знаю куда и принеси то, не знаю что"
LOCAL STEP_INDEX = 0
$QUESTS_STEPS[Q_INDEX, STEP_INDEX, "todo"] = "Идти туда, не знаю куда"
QUESTS_STEPS[Q_INDEX, STEP_INDEX, "done"] = 1
STEP_INDEX += 1
$QUESTS_STEPS[Q_INDEX, STEP_INDEX, "todo"] = "Принести то, не знаю что"
QUESTS_STEPS[Q_INDEX, STEP_INDEX, "done"] = 0

Я в таком случае не могу узнать сколько в QUESTS_STEPS[QUEST_INDEX] хранится элементов, и соответственно проитерироваться? Мне нужно хранить условно еще один массив для квестов, где для каждого квеста помнить сколько у него есть шагов, типа QUESTS_STEPS_COUNT[QUEST_INDEX] = 2. И тогда брать эту переменную и с помощью нее итерироваться?

Миша Поэт
Программист
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Да, верно. Можно итерироваться по всему массиву (обойти вообще все элементы) или хранить число элементов в каком-то "измерении" отдельно.
Для упрощения работы можно создать специальные служебные локации и вызывать через @/@@, но это будет работать медленнее.

Альтернативный вариант (на мой взгляд он лучше) - хранить элементы измерений, по которым нужно итерироваться, в разных массивах.

Byte
useravatar
Offline
725 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1058
Всего опросов:
14
Всего сообщений:
16791267
Сообщений на этой неделе:
1
Пользователи форума:
 
Всего пользователей:
2854
Последним зарегистрировался:
AL/M