Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Туториал Skript - легкий и понятный скриптовый язык

А можно сделать вот-так. Если взорвать дверь то переменная, которая указана в самом скрипте, (-1) (от нее отнимается 1) и дверь устанавливается на свои предыдущие координаты. Стандартное значение переменной 5. Если взорвать дверь 5 раз, то ее переменная ровна нулю. Если переменная ровна нулю, то ничего (на ее координатах должно быть пусто)
 
Можешь переделать структуру в DefensiveTurrets? У меня последняя версия плагина. Там крч структура (сама турель) в высоту 3 блока. Просто если потолок в доме 2 блока, то сам потолок ломается - это плохо. Там крч в самом джар файле нужно переделать структуру. Вроде там не сильно сложно, я бы сам но увы, нет софта. Вот моя тема, тут подробнее: http://rubukkit.org/threads/ochen-n...agin-dt-defensiveturrets.167342/#post-1607941
 
А можно сделать вот-так. Если взорвать дверь то переменная, которая указана в самом скрипте, (-1) (от нее отнимается 1) и дверь устанавливается на свои предыдущие координаты. Стандартное значение переменной 5. Если взорвать дверь 5 раз, то ее переменная ровна нулю. Если переменная ровна нулю, то ничего (на ее координатах должно быть пусто)
Сам бы попробовал сделать)
Указываешь, что, там, переменная {_n} = 5
Код:
set {_n} to 5
После взрыва отнимаешь
Код:
set {_n} to {_n} - 1
И проверяешь перед всем этим, равна ли переменная нулю или нет
Код:
if {_n} is 0:
Все остальное, по сути, у тебя уже есть.
 
Можешь переделать структуру в DefensiveTurrets? У меня последняя версия плагина. Там крч структура (сама турель) в высоту 3 блока. Просто если потолок в доме 2 блока, то сам потолок ломается - это плохо. Там крч в самом джар файле нужно переделать структуру. Вроде там не сильно сложно, я бы сам но увы, нет софта. Вот моя тема, тут подробнее: http://rubukkit.org/threads/ochen-n...agin-dt-defensiveturrets.167342/#post-1607941
Тебе уже скинули)
 
Я не понимаю =( Плиз помоги...
 
Не могу разобраться с расположением...
 
Ну, смотри.
Начнем с того, что, если я правильно понял, определим координаты нужной нам двери. При загрузке скрипта записываем все необходимое в переменную:
Код:
on load:
   set {door} to block at location at 50, 50, 50 in world "world"
Далее берем ивент взрыва. Если блок - нужная нам дверь, то идем дальше. Если значение, условно говоря, "здоровья" двери не установлено, устанавливаем его на 5.
Далее ждем 0.1 секунду. Если здоровье двери не равно 0 - отнимаем 1 у значения.
Можно также просто отменять ивент взрыва. В таком случае замени последнюю строчку на cancel event.
Код:
on explode:
   loop exploded blocks:
       if block is {door}:
           if {%loop-value%.n} is not set:
               set {%loop-value%.n} to 5
           set {_e::%location of loop-value%} to true
           set {_e::%location of loop-value%::*} to location of loop-value
   wait 0.1 second
   loop {_e::*}:
       if {%loop-value%.n} is not equal to 0:
           set {%loop-value%.n} to {%loop-value%.n} - 1
           set block at {_e::%loop-index%::1} to iron door
 
Ну, смотри.
Начнем с того, что, если я правильно понял, определим координаты нужной нам двери. При загрузке скрипта записываем все необходимое в переменную:
Код:
on load:
   set {door} to block at location at 50, 50, 50 in world "world"
Далее берем ивент взрыва. Если блок - нужная нам дверь, то идем дальше. Если значение, условно говоря, "здоровья" двери не установлено, устанавливаем его на 5.
Далее ждем 0.1 секунду. Если здоровье двери не равно 0 - отнимаем 1 у значения.
Можно также просто отменять ивент взрыва. В таком случае замени последнюю строчку на cancel event.
Код:
on explode:
   loop exploded blocks:
       if block is {door}:
           if {%loop-value%.n} is not set:
               set {%loop-value%.n} to 5
           set {_e::%location of loop-value%} to true
           set {_e::%location of loop-value%::*} to location of loop-value
   wait 0.1 second
   loop {_e::*}:
       if {%loop-value%.n} is not equal to 0:
           set {%loop-value%.n} to {%loop-value%.n} - 1
           set block at {_e::%loop-index%::1} to iron door
Не работает, скрипт нашел 8 ошибок...
 
вот ошибка в консоли:
 

Вложения:

  • Снимок.PNG
    Снимок.PNG
    Размер файла
    37,9 КБ
    Просмотров
    7
Алилуя, наконец то кто-то запилил тему на Skript's (Хотя её создали почти как год назад) , автору респект за гайд, т.к. давно искал, не мог найти на русском.
xPUhKCWdpDBegFl-1600x900-noPad.jpg
 
Бро, попробуй решить проблему с турелью, мне отправили не корректный ответ (плагин)
 
а как писать сразу несколько скриптов в одном файле, с разу и с самого начала?
 

Поделиться этой страницей

Назад
Верх