Как сделать?

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

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

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

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
1754 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

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

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

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
732 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Всем привет, может для ветеранов вопрос глупый, но объясните пожалуйста.

Допустим, есть описание локации. Есть действие "осмотреться", которое в описание выводит пару строк о том, что происходит вокруг через *PL. Так вот, объясните пожалуйста, как сделать так, чтобы описание которое выдается после этого действия выводилось после основного текста, а не перед ним?

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

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

Gvozd229, привет, можно пример кода, или подробней описать? Просто любой текст выводится после основного текста по умолчанию.

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

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

Gvozd229, а, что ты подразумеваешь под "основной текст"?
Все операторы идут друг за другом, так что любой следующий вывод следует за предыдущим в порядке появления в коде. Поэтому смотри порядок операторов.

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

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

Действия через ACt выводятся в отдельном окне (окно действий), и как-то комбинировать их с основным окном может только пользователь. Но можно действия оформить как ссылки внутри текста - ну и тогда располагать их как угодно относительно текстовых блоков. Пример - '<a href="EXEC:любойисполняемыйкод">НАЗВАНИЕ ДЕЙСТВИЯ</a>'

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

Информация

Статистика форума:
 
Всего тем:
1062
Всего опросов:
14
Всего сообщений:
16791268
Бездействующий:
Пользователи форума:
 
Всего пользователей:
2887
Последним зарегистрировался:
kotefoxkote