- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
Назад: Работа с файлами, использование модулей
В QSP есть возможность выполнять код через определённые промежутки времени — для этого используется локация-счётчик.
Чтобы локация-счётчик заработала, необходимо внести её название в служебную переменную $COUNTER. Например, если ваша локация-счётчик называется «Счётчик», на самой первой локации в игре нужно написать:
$COUNTER='Счётчик'Как правило, чтобы не путаться, локацию называют так же, как и служебную переменную —«Counter»:
$COUNTER='Counter'
Затем на созданной локации-счётчике пишут код, который должен выполняться через определённые промежутки времени.
По-умолчанию, код на локации-счётчике выполняется каждые пол секунды (500 миллисекунд). Но это значение можно изменить, использовав оператор SETTIMER:
! устанавливает период выполнения кода ! на локации-счётчике в 100 миллисекунд SETTIMER 100Комбинируя возможности операторов, функций и локации-счётчика, можно задавать множество событий, выполняемых в реальном времени. Для примера приведён код локации-счётчика, который будет выводить строки текста одну за одной каждые полторы секунды:
settimer 20 if стихотворение=0: if время_первая_строка=0: время_первая_строка=msecscount+1500 end if msecscount>=время_первая_строка: *pl 'Веленью совести, о Муза, будь послушна!' стихотворение=1 end end if стихотворение=1: if время_вторая_строка=0: время_вторая_строка=msecscount+1500 end if msecscount>=время_вторая_строка: *pl 'Обиды не страшась, не требуя венца,' стихотворение=2 end end if стихотворение=2: if время_третья_строка=0: время_третья_строка=msecscount+1500 end if msecscount>=время_третья_строка: *pl 'Хвалу и клевету приемли равнодушно' стихотворение=3 end end if стихотворение=3: if время_четвёртая_строка=0: время_четвёртая_строка=msecscount+1500 end if msecscount>=время_четвёртая_строка: *pl 'И не оспаривай глупца.' стихотворение=4 end end