00066. Работа со стартерами ( Дополнительные условия )
Last updated
Last updated
Работа со стартерами ( Дополнительные условия )|Как вы уже догадались, речь пойдет опять о стартерах. Но на этот раз мы рассмотрим некоторые проверки, что бы разнообразить игру.|wmysterio|wmysterio||||Например проверки, связанные со временем или когда СЖ стоит на маркере, то ему пишет "Приходи с 17:00 до 20:00". Сделать эту проверку не очень сложно, но для начала нам необходимо создать GXT-запись с нужным текстом. Вот я например создал такую:
Обратите внимание на код "1". Такая запись значит, что в тексте будет число, которые указывается в опкоде. Как видите таких кодов у нас два, то есть из опкодов будет взято два числа и выведено их на экран. Числа естественно будут наши :)
Сохраняем нашу GXT-запись и начинаем писать стартер. Я возьму самый простой, на одну миссию, но можете использовать пример в своих "больших стартерах":
Вот, что в нас вышло:
Рассмотрим опкод:
Он запиcывает в переменную "$TIME_HOURS" текущий час а в "$TIME_MINS" - текущую минуту. Так, как нужен только час, проверяем его: если час больше за 16 и если он меньше за 21, то мы получим диапазон допустимого времени: с 17 до 20. Если условия срабатывают, то запускаем миссию. Иначе пишем, что что нужно придти в нужное время опкодом:
Здесь: GAM_TIM' - указываем GXT-запись с текстом 17 20 - указываем номера для кода теста с ~1~ ~1~. Как видите опкод выводит на экран 2 числа - те, что мы указали в поле "numbers" 1 - указываем время. Если мы укажем больше, то когда СЖ выйдет за пределы маркера, текст всё равно будет указывать на нужное время, а это естественно будет раздражать 1 - флаг так и оставляйте. Я точно не знаю за что он отвечает
Как видите мы можем использовать здесь 2 числа ( 2numbers ). Максимальное количество выводимых чисел в опкодах я видел 6:
Важно запомнить, что числа мы пишем в опкоде, а GXT-записи указываем код 1. Со временем, думаю, разберётесь. Давайте ещё напишем условие, что бы миссия запускалась в определённый день! Начнем с создании GXT-записи:
То есть, миссия будет запускаться только в воскресенье. Считаем текущий день недели, и пишем условие:
Как вы уже догадались, опкод "07D0" заносит переменную текущий день недели. Дальше мы проверяем "День недели == воскресенье?" Если да, то начинаем миссию, иначе пишем, что нужно придти в нужный день. Как видите, номера дней обозначаются номерами. Вот список всех номеров дней:
Результат:
Эти условие будут действовать как main.scm, так и Cleo. Мы рассмотрели только некоторые условия, но вы можете добавить свои. Я, например, в одном скрипте видел условие: "Если СЖ в танке и находится на высоте больше 300.0 то запустить миссию". Даже такие бывают )))
Думаю цикл по стартерам можно завершать. Я вам дал необходимую информацию по запуску. Возможно я ещё вернусь к стартерам в ближайшем будущем.|944|1|0|88216873png
600360
400240``\|33970220
png343
192
ID | День |
---|---|
1
воскресенье
2
понедельник
3
вторник
4
среда
5
четверг
6
пятница
7
суббота