Прошу помощи в создании скрипта.
Основное назначение скрипта в подсчете времени, которое использует активатор в активном режиме. Более подробно: я "включаю" активатор-свечу и начинается отсчет времени, но мне нужно чтобы свеча "сгорела" только после 2 часов игрового времени. И самое главное: учитывается то условие, что я могу "задувать" свечу в процессе, т.е. вопрос - как отследить скриптом именно "рабочее время" свечи, а не с того момента как я зажег ее впервые?
На вопрос какую команду использовать для отсчета, GetSecondsPassed (для реалтайма), или типа GameDaysPassed (игровое) - без разницы.
Скриптинг
Автор Demolir.uptar,
Сообщений в теме: 3
#2
Отправлено
Зачем плодить темы ради одного вопроса???
По сабжу:
По сабжу:
ScriptName MyScript short isActive short burnedOut float timer float startAt Begin GameMode If isActive == 1 && GameDaysPassed * 24 + GameHour + timer - startAt > 2 ; Где 2 - время горения свечи Set isActive to 0 Set burnedOut to 1 ; Выполнить требуемые действия для того, чтобы погасить свечу, если предусмотрено... EndIf End Begin OnActivate ; Если свеча ещё не сгорела If burnedOut == 0 If isActive == 0 Set isActive to 1 ; Сохраняем время запуска таймера в часах с момента начала игры Set startAt to GameDaysPassed * 24 + GameHour ; Выполнить требуемые действия для того, чтобы зажечь свечу, если предусмотрено... Else Set isActive to 0 ; В случае, если игрок сам погасит свечу, пока она ещё не догорела, то нужно сохранить разницу во времени Set timer to timer + GameDaysPassed * 24 + GameHour - startAt ; Выполнить требуемые действия для того, чтобы погасить свечу, если предусмотрено... EndIf EndIf End
Всё провисло и болтается.
#4
Отправлено
Да я тоже тебя люблю (пока его тут нет). © Монгол
Я трудный человек, но если вы рядом со мной, то и вы не простые люди.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых