Действие по таймеру

Действие по таймеру

Как сделать?
Ожидание БЕЗ задержки, то есть чтобы игрок мог совершать действия на локации, но чтобы, скажем, через 5 сек  произошло действие?

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

Re: Действие по таймеру

AntiPod,
В стартовой локации пишем

Код:

SETTIMER 1000

$COUNTER = 'COUNTER'

В локации, где "запускаем" таймер

Код:

run = 1

В локации "COUNTER" пишем

Код:

IF run = 1:

    IF run_count = 5:
        ...НУЖНОЕ НАМ ДЕЙСТВИЕ...
        run = 0
        run_count = 0
    ELSE
        run_count = run_count + 1
    END
END

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

Re: Действие по таймеру

А если прописать

Код:

SETTIMER 1000 

$COUNTER = 'COUNTER'

в той локации, где запускается таймер, а ран=1 не писать и в каунтере написать

Код:

IF run_count = 5: 

        ...НУЖНОЕ НАМ ДЕЙСТВИЕ...
        run = 0
        run_count = 0
    ELSE
        run_count = run_count + 1
    END

Изменится ли что-то? Ведь плеер узнает про локацию счетчик только в тот момент, когда будет запущена необходимая локация.
З.Ы. Я новичок, с меня взятки гладки.

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

Re: Действие по таймеру

NoNick,
переменная "run" в приведенном мной коде нужна для того, чтобы вовремя остановить и сбросить счетчик "run_count".

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

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

Re: Действие по таймеру

Не заметил. Тогда вот так

Код:

run_count = run_count + 1

IF run_count=5:
  операторы
END

А каунтер задать как в моем пред. посту.

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

Re: Действие по таймеру

Правда, потом таймер не остановится.

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

Re: Действие по таймеру

вопрос: есть локация, в которой играет музыка и текст выводится блоками через различные временные интервалы - под музыку, когда весь текст выведен, музыка останавливается и появляется возможность перейти на другую локацию.
через wait всё работает, но хочется добавить возможность пропустить сей процесс и сразу перейти к следующей локации - как это лучше сделать?

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

Re: Действие по таймеру

idleberry,
см. второй пост темы.

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

Re: Действие по таймеру

я честно пытался, но плеер после моего кода виснет....
что то при таких нехилых манипуляциях для такой простой вещи мне уже и игру то делать расхотелось...
честное слово - написать программу на любом языке и скомпиллировать её в ехешник и то проще чем использовать qsp.

ну я сегодня ещё попробую, но третий день подряд делать одну локацию - это не то чего я жду от редактора текстовых квестов.... ><

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

Re: Действие по таймеру

idleberry написал(а):

что то при таких нехилых манипуляциях для такой простой вещи мне уже и игру то делать расхотелось...
честное слово - написать программу на любом языке и скомпиллировать её в ехешник и то проще чем использовать qsp.

Я как-то делал отдельную библиотеку для работы с таймером в QSP. Вот тут: http://forum.ifiction.ru/viewtopic.php?id=1615 можно посмотреть пример работы.

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

Информация

Статистика форума:
 
Всего тем:
970
Всего опросов:
14
Всего сообщений:
16790545
Сообщений на этой неделе:
9
Пользователи форума:
 
Всего пользователей:
2346
Последним зарегистрировался:
Rizrael