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

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

У меня есть опыт работы с этим плагином и я готов своим опытом поделиться.
Ребята, зря вы не обращаете внимание на этот плагин. Мощнейшая штука.

Краткий ликбез.

Зачем нужен этот плагин?
  • Плагин позволяет выполнять небольшие программы при наступлении игровых событий. Программы пишутся на специальном skript-овом языке, который очень легко читается и легко изучается.

Кому нужен этот плагин?
  • Если вам периодически хочется написать какой-нибудь простенький плагин, реализующий какой-то необычный функционал, но вы не умеете писать плагины - Skript для вас. Знание любого языка программирования сильно поможет.

Как написать скрипт?
  • В обычном блокноте или Notepad++. Текстовый файл нужно сохранить с расширением *.sk и поместить в папку plugins\Skript\scripts\

В ответ на какие события может выполняться код?
  • Когда блок установлен/сломан
  • При клике по блоку левой/правой кнопкой мыши
  • При клике по блоку держа какой-то предмет в руке
  • Периодически (например каждую минуту, или каждый час, или каждый тик)
  • При спауне моба
  • При крафте предмета
  • При атаке/получении урона
  • При входе игрока на сервер
  • При вводе команды (можно создавать свои команды)
  • И еще много-много разных событий.
Что эти Skript-ы умеют?
  • Отменять события (для создания фиксов)
  • Использовать локальные/глобальные переменные, ассоциативные массивы.
  • Использовать условия, циклы, константы, арифметические операции и даже функции - всё включено.
  • Проверять/устанавливать блоки по координатам
  • Проверять права игроков на WorldGuard-регион
  • Проверять наличие Permission-ов у игрока
  • Телепортировать любые сущности, получать координаты сущностей
  • Выдавать/проверять наличие/забирать предметы - в инвентаре/сундуке...
  • Выводить сообщения в чат
  • И еще много-много чего умеют.
Добрый день, вот хочу задать вопрос.
Мне надо сделать чтобы нельзя было ставить блоки рядом со спавнером. Для этого я написал код

on place:
if block above is spawner:
cancel event
message "&cНельзя ставить блоки рядом с Спавнером!"
on place:
if block left is spawner:
cancel event
message "&cНельзя ставить блоки рядом с Спавнером!"
on place:
if block below is spawner:
cancel event
message "&cНельзя ставить блоки рядом с Спавнером!"
on place:
if block right is spawner:
cancel event

message "&cНельзя ставить блоки рядом с Спавнером!"​

Блоки не ставятся слева, справа, снизу и сверху от спавнера. Однако есть две стороны где ставятся. Ведь у спавнера 6 сторон, а я прописал только 4. Как мне сделать чтобы у остольных сторон также нельзя было ставить блоки? Прошу вас ответить мне в дискорд Zhenaxel#3330. Если такое не удается, то напишите мне здесь:
https://discord.gg/rVu5jAMpJ9
 
Привет! Есть тут еще кто живой? Кто знает, как на skript'е сделать чтобы при подключении у игрока всегда в слоте была определённая вещь?
 
Всем привет, а кто знает как сделать чтобы когда ты писал текст, в чат выводилась надпись с этим текстом и при нажатие выполнялась команда. Пример:
Игрок: /broad
*У игрока выводится в чат текст " Напишите название варпа"*
Игрок: Тест
У всех игроков в чат выводится текст:
(line1) Открылся новый варп
(line2) Тест (то что написал игрок)
(line3) Присоеденится
*при нажатие на "Присоединится" выполняется команда /warp Тест*
 
Привет всем, как на skripte сделать передачу предметов между игроками командой? К примеру, игрок хочет другу подарить кирку на режиме prison, для этого он прописывает /gift ник друга, подтверждает передачу, после чего другому игроку в инвентарь добавляется предмет, а в чат пишется то что ему подарил предмет другой игрок.
Как это реализовать?
 
Можно ли при заходе нового игрока на сервер телепортировать на определённые координаты
 
Можно ли при заходе нового игрока на сервер телепортировать на определённые координаты
вот пример [тык]



Привет всем, как на skripte сделать передачу предметов между игроками командой? К примеру, игрок хочет другу подарить кирку на режиме prison, для этого он прописывает /gift ник друга, подтверждает передачу, после чего другому игроку в инвентарь добавляется предмет, а в чат пишется то что ему подарил предмет другой игрок.
Как это реализовать?
вот пример [тык]
 
Последнее редактирование:
Имеется кнопка на определенных координатах, при нажатии на которую игрок получает вещь.
Как сделать суточный откат для этого действа, чтобы не абузили, и с выводом игроку сообщения сколько времени осталось.
(Координаты кнопки тоже, если можете, подскажите как прописать, пожалуйста.)
 
Помогите пожалуйста, как написать на Skript'e статистику справа (я умею) , а вот как написать код который покажет Онлайн всех миров (multi-core) и так же онлайн всех серверов на BungeeCord , очень нужно, спасибо!
 
Помогите, как выдать предмет с помощью команды?
Я хочу выдать себе написанную книгу командой (/give @p written_book 1 0 {author:"Redaction",title:"Газета №1",pages:[Страница,Вторая страница]}), как это сделать в данном плагине?
Вот код скрипта:
Код:
command /gazeta:
    aliases: gzt
    permission: gazeta.give
    trigger:
        send "&aВы купили &cгазету!"
 

command /gazeta:
aliases: gzt
permission: gazeta.give
execute console command "/give %player% written_book 1 0 {author:"Redaction",title:"Газета №1",pages:[Страница,Вторая страница]}"
trigger:
send "&aВы купили &cгазету!"

пробуй.
сам не проверял.
полностью смотри по ссылке: http://en.njol.ch/projects/skript/doc/effects#EffCommand

также соблюдай регистр и отступы. не так как у меня.
знаю уже наверное поздно но всё же.
 
помогите сделать так чтобы когда игрок ломает, ставит и ходит на сервере то ему за каждое действие добавляло число к "lvl" и что бы скрипт запоминал число для каждого игрока в одном файле.
 
помогите сделать так чтобы когда игрок ломает, ставит и ходит на сервере то ему за каждое действие добавляло число к "lvl" и что бы скрипт запоминал число для каждого игрока в одном файле.
по ощущениям будет легче написать плагин чем вот это вот сё
 
помогите сделать так чтобы лук с определённым названием выпускал горящую стрелу которая если воткнётся в блок то он загорится. в общем нужно чтобы появился огонь когда стрела упадёт.
 
Создание файла конфигураций
Пример создания файла конфигурация, откуда будут импортироваться основные настройки скрипта. Предусматривает обязательную установку аддона skUtilities.

Создадим папку /plugins/test, а в ней файл config.yml.
Откроем файл config.yml и запишем:
Код:
plugin_enabled: true
Далее открываем наш скрипт и создаем новый ивент on load, который выполняется при загрузке скрипта.
Код:
on load:
    set {plugin.enabled} to yml value "plugin_enabled" from file "plugins/test/config.yml"
command /test: #добавляем команду test, которая будет работать, если значение plugin_enabled в файле config.yml установлено на true.
    trigger:
        if {plugin.enabled} is true:
            send "test" to player

А как сделать, чтобы данные (например текст) вписывались в этот файл?
 
Добрый день. Нужна помощь. как сделать так, чтобы при вводе команды /test1 или другой подобной Tab Completer не показывал её в списке команд

command /test1:
description: Cooldown on commands
cooldown: 0.5 seconds
cooldown message: &8[&c!&8] &fНе так быстро...
cooldown bypass: cmd.nocooldown

trigger:
player command "/test2"

command /test3:
description: Cooldown on commands
cooldown: 0.5 seconds
cooldown message: &8[&c!&8] &fНе так быстро...
cooldown bypass: cmd.nocooldown

trigger:
player command "/test4"

TYc8xac3Dh.png
javaw_UYSZgreCbX.png
 

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

Назад
Верх