Триггеры
Ждать определённого действия
чтоб потом продолжить работу
Автоматический запуск скрипта
Автоматический запуск скрипта
Местоположение в скрипте
Данные триггеры должны находится в самом начале скрипта, выше обычных import
!
При самом первом входе в мир
@file:EntryPoint
При обычном входе в мир
@file:JoinScript
Запуск этого скрипта, после окончания работы указанного скрипта в параметрах
@file:AfterScript("<path/to/script>")
Цикличный скрипт. После завершения работы - скрипт запустится ещё раз и так по кругу
@file:RepeatableScript
Ожидание конца таймера
Таймер
Ждёт, пока не пройдёт указанное время.
wait { time }
time
- Время, которое должно пройти, чтобы скрипт продолжил свою работу.
Пример
wait { 5.sec }
Ожидание нажатия клавиши
Нажатие клавиши
Ждёт, пока указанная клавиша не будет нажата.
Ожидание взаимодействия с НИПом
Взаимодействие с НИПом
Ждёт, пока любой игрок не по взаимодействует с определённым НИПом.
<npcID>.waitInteract()
Пример
npc.waitInteract()
Ожидание сообщения
Ожидание сообщения
Ждёт, пока любой игрок не отправит какое-то сообщение в чат.
<players>.input() // Любое сообщение
// или
<players>.input("<text>") // Конкретное сообщение
// или
<players>.input("<arg0>", "<arg1>", ...) // Конкретное сообщение из списка
/*Запись в переменную */
val myValue by <players>.input() // Запишет в переменную содержание сообщение
Пример
val players by server.players
players.input()
players.input("Привет")
players.input("Привет", "Hello")
val meMessage by players.input()
Ожидание позиции
Ожидание позиции
Ждёт, пока любой из игроков не будет в указанных координатах.
<players>.waitPos {
pos = pos(x, y, z) // Позиция, где будет ожидатся игрок
radius = <Double> // Радиус от центра координат pos
ignoreY = <Boolean> // Игнорирует высоту при вычислении расстояния до точки, при true.
createIcon = <Boolean> // Если true - будет создана иконка в позиции pos
icon = "<mod_id>:<path/to/texture>".rl // Не обязательно. Кастомная иконка
world = "<dimension_id>" // ID измерения
inverse = <Boolean> // Если true - игрок должен покинуть территорию в этом радиусе
}
Пример
players.waitPos {
pos = pos(-235, 82, 882)
radius = 10.5
ignoreY = true
createIcon = true
world = "overworld"
}
Обратное условие
Обратное условие
Ждёт, пока условие не вернёт false.
await { <Условие> }
Пример
await { npc().isAlive } // Скрипт не продолжит свою работу, пока НИП не умрёт