RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2437353 views

Пара вопросов по звукам:
1) Можно ли зациклить воспроизведение звукового файла?
2) Можно ли автоматически определить завершение воспроизведения звукового файла? То есть после завершения воспроизведения файла №1 запустить файл №2.

Кстати о музыке. Есть ли возможность сделать так, чтобы после проигрывания некоторой части/окончания звукового файла выполнился какой-либо код/действие? То есть, продолжительность звука как таймер.
Вот так:
PLAY $sound
WAIT 5000
- не получается, так как WAIT блокирует любые действия.

Jolly Roger,
можно с помощью локации-счётчика.

! Устанаваливаем локацию-счётчик (обычно это делается в первой же локации).
$COUNTER = 'COUNTER'
! Запуск звука.
PLAY $sound 
ожидание_действия = 1

! Локация "COUNTER".
IF (ожидание_действия = 1) AND NO (ISPLAY $sound):
    ! Звук перестал проигрываться.
    ожидание_действия = 0
    ... выполняем действие ...
END

Подскажите, пожалуйста, какой тег нужен, чтобы равномерно заполнялись текстовые окна, а то <center>’’</center> не годится.

Jolly Roger,
Выравнивание текста по ширине:

<div align="justify">...</div>

А что значит, когда пишет, что строка (например №75) содержит ошибку, при том, что 75-ая строка у меня вовсе пуста, отсутствует, бездействует, как еще сказать. Короче там никак не может быть ошибки - там вообще ничего нет.

RomaDova,
во-первых, есть вероятность, что имеется в виду не код локации, а код действия. У такого кода и нумерация своя, и область видимости.

Во-вторых, с нумерацией строк при ошибке были какие-то баги. Не помню точно, исправили их уже или нет.

Как сделать календарь…. так чтобы время выступало непросто как счетчик…. но как полноценное развитие событий во времени. .. например с сегодняшнего дня 14 апреля 2014 года.
в ряде игр ч уже код видел…. но так как в програмировании полный нуль я его не понимаю… по этому хотелось бы получить развернутый ответ.

Антон,

Заведи переменную-счетчик. В ней время будет храниться в минутах - это удобнее всего.
Преобразовывать минуты в часы, дни нужно будет только при выводе:

! 2440 минут = 1 день + 16 часов + 40 минут
время = 2440

! нужно вывести текущее время, преобразовываем
дни = время / (24*60)
часы = (время - дни*24*60) / 60
минуты = время - часы*60 - дни*24*60
*PL 'Время: <<дни>> день, <<часы>>:<<минуты>>.'

У тебя в игре будет использоваться только переменная время, прибавляя к ней затраченные минуты, ты всегда будешь иметь актуальное значение в минутах.

Когда нужно будет, например, текущее игровое время вывести на экран в формате дни-часы-минуты, будешь преобразовывать по приведенной формуле.

Простой пример работающего кода см. здесь: http://qsp.su/attachments/time.qsp

Что непонятно, спрашивай.

Спасибо за ответ.
Но приведенный пример мною изучен. Почучается обычный счетчик минут с преображением в часы и дни…. а хочется что бы время пощло в игре с определенной даты (например: 14 апреля 2014 08:00 - не обязательно именно в таком формате часы и минуты).
Например хочется чтобы 60 игровой день был 14 июня 2014 08:00, а не 60 день 08:00. С указанием дня недели.
Кроме того хочется чтобы время шло не в локации текстовых описаний, а в отдельном слоте…
Код мною выдран из одной игры… но хочется самому разобрать. .. конечно с помощью знающих людей. .. сам я фиг пойму.
Кооме того выполненяя действия время так и стоит на одном уровне не меняясь.

Почучается обычный счетчик минут с преображением в часы и дни…. а хочется что бы время пощло в игре с определенной даты (например: 14 апреля 2014 08:00 - не обязательно именно в таком формате часы и минуты).

Одно другому не мешает. Задаешь начальную дату, и всё.

Далее при выводе преобразовываешь в любой нужный тебе формат. Хочешь “дни-часы-минуты”, хочешь “год-месяц-число-часы-минуты”.

выполненяя действия время так и стоит на одном уровне не меняясь.

Ты про свою игру? В приведённом примере всё работает. Если у тебя не работает, значит ты либо забыл увеличить переменную “время”, либо забыл после этого вывести обновлённое время на экран. Вывод нужно делать при каждом изменении переменной.

хочется чтобы время шло не в локации текстовых описаний, а в отдельном слоте…

Выводи в доп. описание. В чём проблема?

Вооот . Как задать начальное значение и привязать к нему счетчик?

кроме того непонятно как задавать положение в игровых областях. Почему например у одних дата располагается в окне (низ: право) а у других наоборот (низ: лево) и даже (верх: лево).
к сожалению этого нет в пособии для начинающих. Например создание и перемещение по локациям очень хорошо разъяснено (даже такой дебилойд как я разобрался в этом сразу - конечно вопросы остались все равно… так например преставим локацию из 3 больших (1 этаж; 2 этаж и 3 этаж) на каждом этаже 2 комнаты и коридор. Так если я локации коридора назову просто коридор… то поймет ли меня компьютер или будет конфликт из-за полной идентичности названия локаций).
А вот время как то сложновато… да и вообще не так детально разъяснено.

да я про свои тестовые пробы говорил о времени.

Насчет последнего… о выводе в дополнительное описание…. а как? Каким кодом мне показать программе что эту часть я хочу видеть в дополнительном поле а остальное в основном.

Как сделать, чтобы определенное слово в тексте было одного цвета, а остальное другого? Объясните подробнее

Aleks Versus Moderator 14.04.2014 20:55 (11 years ago)

RomaDova,
Тут всё просто. Используется форматирование html. Если с html не знаком совсем, лучше почитать какой-нибудь учебник. Есть, к примеру, такой замечательный сайт, посвящённый html и css http://htmlbook.ru/.
Чтобы выделить текст определённым цветом, его помещают внутри тегов <font></font> и задают тегу атрибут color. Пример:

<font color=red>Красный</font> & ! выведет слово красного цвета

Цвет можно задавать цветовым кодом RRGGBB:

<font color=#FF0000>Красный</font> & ! выведет слово красного цвета
<font color=#00FF00>Зелёный</font> & ! выведет слово зелёного цвета
<font color=#0000FF>Синий</font> & ! выведет слово синего цвета

Чтобы плеер начал распознавать html-теги, в самом начале игры следует ввести команду

usehtml = 1

Log in or Register to post comments.