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

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

Код:
on rightclick:
    if event-block is planks:
        if player's tool is paper named "апгрейд структур":
           
            if player's inventory contains "8 of cobblestone" parsed as itemtype:
                remove 8 of cobblestone from player
                set event-block to cobblestone
                set {%player%.upgr.cooldown} to true
                wait 5 seconds
                set {%player%.upgr.cooldown} to false
            else:
                send "&4У вас недостаточно ресурсов для этого крафта"
    if event-block is cobblestone:
        if {%player%.upgr.cooldown} is false:
            if player's tool is paper named "апгрейд структур":
               
                if player's inventory contains "8 of iron ingot" parsed as itemtype:
                    remove 8 of iron ingot from player
                    set event-block to iron block
                else:
                    send "&4У вас недостаточно ресурсов для этого крафта"  
        else:
            send "&4Вы должны подожать 5 сек., прежде чем вновь улучшить блок"
эххх... Просто после улучшения проходит эти 5 сек. и оно превращается в железо. То-есть если я улучшаю дерево в камень и у меня есть железо, проходит эти 5 секунд задержки и блок превращается в железный... =(
 
Ладно... Мне так не ловко тебя напрягать. Забей на эту фигню с улучшение. Емли тебе не трудно лучше сделать скрипт который удаляет дроп. То-есть: когда происходит взрыв, ждать 0.2 секунд, удалить весь дроп в виде досток, булыжника, железного блока и алмазного блока. Сорри если напрягаю, просто ты один из немногих ХОРОШЫХ (с большой буквы) людей который мне помогают... спасибо....
 
Ладно... Мне так не ловко тебя напрягать. Забей на эту фигню с улучшение. Емли тебе не трудно лучше сделать скрипт который удаляет дроп. То-есть: когда происходит взрыв, ждать 0.2 секунд, удалить весь дроп в виде досток, булыжника, железного блока и алмазного блока. Сорри если напрягаю, просто ты один из немногих ХОРОШЫХ (с большой буквы) людей который мне помогают... спасибо....
Заплати - сделает
Эта тема создана для помощи, а не "сделайте всё за меня за спасибо"
 
эххх... Просто после улучшения проходит эти 5 сек. и оно превращается в железо. То-есть если я улучшаю дерево в камень и у меня есть железо, проходит эти 5 секунд задержки и блок превращается в железный... =(
Попробуй:
Код:
on rightclick:
    if event-block is planks:
        if player's tool is paper named "апгрейд структур":
           
            if player's inventory contains "8 of cobblestone" parsed as itemtype:
                remove 8 of cobblestone from player
                set event-block to cobblestone
                set {%player%.upgr.cooldown} to true
                wait 5 seconds
                set {%player%.upgr.cooldown} to false
            else:
                send "&4У вас недостаточно ресурсов для этого крафта"
        stop      
    if event-block is cobblestone:
        if {%player%.upgr.cooldown} is false:
            if player's tool is paper named "апгрейд структур":
               
                if player's inventory contains "8 of iron ingot" parsed as itemtype:
                    remove 8 of iron ingot from player
                    set event-block to iron block
                else:
                    send "&4У вас недостаточно ресурсов для этого крафта"  
        else:
            send "&4Вы должны подожать 5 сек., прежде чем вновь улучшить блок"
 
Попробуй:
Код:
on rightclick:
    if event-block is planks:
        if player's tool is paper named "апгрейд структур":
          
            if player's inventory contains "8 of cobblestone" parsed as itemtype:
                remove 8 of cobblestone from player
                set event-block to cobblestone
                set {%player%.upgr.cooldown} to true
                wait 5 seconds
                set {%player%.upgr.cooldown} to false
            else:
                send "&4У вас недостаточно ресурсов для этого крафта"
        stop     
    if event-block is cobblestone:
        if {%player%.upgr.cooldown} is false:
            if player's tool is paper named "апгрейд структур":
              
                if player's inventory contains "8 of iron ingot" parsed as itemtype:
                    remove 8 of iron ingot from player
                    set event-block to iron block
                else:
                    send "&4У вас недостаточно ресурсов для этого крафта" 
        else:
            send "&4Вы должны подождать 5 сек., прежде чем вновь улучшить блок"
Плз, добавь еще сюда улучшение из железного в алмазный блок за 4 алмаза.
 
Слушай, я тут немного еще переписал скрипт. Т.е. я добавил еще улучшение из железного в алмазный НО!

on rightclick:
if event-block is planks:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "8 of cobblestone" parsed as itemtype:
remove 8 of cobblestone from player
set event-block to cobblestone
set {%player%.upgr.cooldown} to true
wait 0.1 seconds
set {%player%.upgr.cooldown} to false
else:
send "&4Недостаточно 8 КАМНЯ для улучшения ДЕРЕВЯННОГО БЛОКА!"
stop
if event-block is cobblestone:
if {%player%.upgr.cooldown} is false:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "8 of iron ingot" parsed as itemtype:
remove 8 of iron ingot from player
set event-block to iron block
set {%player%.upgr.cooldown} to true
wait 0.1 seconds
set {%player%.upgr.cooldown} to false
else:
send "&4Недостаточно 8 ЖЕЛЕЗА для улучшения КАМНЯ!"
else:
send "&4Вы должны подожать 0.1 сек."
stop
if event-block is iron block:
if {%player%.upgr.cooldown} is false:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "4 of diamond" parsed as itemtype:
remove 4 of diamond from player
set event-block to diamond block
else:
send "&4Недостаточно 4 АЛМАЗОВ для улучшения ЖЕЛЕЗНОГО БЛОКА!"
else:
send "&4Вы должны подожать 0.1 сек."

Когда я в самой игре тыкаю ПКМ по кабле (без предмета "Улучшение блоков" в руках) он выполняет действие, т.е. либо пишет что нет ресов либо апгрейдит. Что делать?! Похоже параметр if player's tool не соблюдается... (16 строка). P.s. ХЗ почему рубакит не видит в сообщении пробелов...
 
Слушай, я тут немного еще переписал скрипт. Т.е. я добавил еще улучшение из железного в алмазный НО!

on rightclick:
if event-block is planks:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "8 of cobblestone" parsed as itemtype:
remove 8 of cobblestone from player
set event-block to cobblestone
set {%player%.upgr.cooldown} to true
wait 0.1 seconds
set {%player%.upgr.cooldown} to false
else:
send "&4Недостаточно 8 КАМНЯ для улучшения ДЕРЕВЯННОГО БЛОКА!"
stop
if event-block is cobblestone:
if {%player%.upgr.cooldown} is false:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "8 of iron ingot" parsed as itemtype:
remove 8 of iron ingot from player
set event-block to iron block
set {%player%.upgr.cooldown} to true
wait 0.1 seconds
set {%player%.upgr.cooldown} to false
else:
send "&4Недостаточно 8 ЖЕЛЕЗА для улучшения КАМНЯ!"
else:
send "&4Вы должны подожать 0.1 сек."
stop
if event-block is iron block:
if {%player%.upgr.cooldown} is false:
if player's tool is paper named "Улучшение блоков":

if player's inventory contains "4 of diamond" parsed as itemtype:
remove 4 of diamond from player
set event-block to diamond block
else:
send "&4Недостаточно 4 АЛМАЗОВ для улучшения ЖЕЛЕЗНОГО БЛОКА!"
else:
send "&4Вы должны подожать 0.1 сек."

Когда я в самой игре тыкаю ПКМ по кабле (без предмета "Улучшение блоков" в руках) он выполняет действие, т.е. либо пишет что нет ресов либо апгрейдит. Что делать?! Похоже параметр if player's tool не соблюдается... (16 строка). P.s. ХЗ почему рубакит не видит в сообщении пробелов...
Я это поправил
 
Вот это уже я без тебя не сделаю.... Когда взрывается обычная "дубовая" или же "wooden" дверь на ее место нужно установить к примеру берёзовую дверь. Я пытался с твоим скриптом для блоков, у меня не вышло....
 
Вот это уже я без тебя не сделаю.... Когда взрывается обычная "дубовая" или же "wooden" дверь на ее место нужно установить к примеру берёзовую дверь. Я пытался с твоим скриптом для блоков, у меня не вышло....
Код:
on explode:
   loop exploded blocks:
       if block is oak door:
           set {_e::%location of loop-value%} to true
           set {_e::%location of loop-value%::*} to location of loop-value
           set block at {_e::%loop-index%::1} to birch door
попробуй
 
Мне нужен еще скрипт тип когда ты поднимаешь блок досок к примеру, через 0.1 секунду они пропадают из твоего инвентаря.
 
Мне нужен еще скрипт тип когда ты поднимаешь блок досок к примеру, через 0.1 секунду они пропадают из твоего инвентаря.
Нет, стоп, лучше сделай чтобы после 0.1 сек. после взрыва удвляло весь дроп в виде определенных блоков (доски, каменные кирпичи, алмазный блок, железный блок)
 
Нет, стоп, лучше сделай чтобы после 0.1 сек. после взрыва удвляло весь дроп в виде определенных блоков (доски, каменные кирпичи, алмазный блок, железный блок)
С дверями ща, но что касается этого - рли намного проще сделать на джаве) кину позже чуток готовое)
 
Обошелся без джавы.

Код:
on explode:
    set {explosion::%event-location%} to event-location
    wait 0.5 second
    delete {explosion::%event-location%}

on item spawn:
    items within entity event-entity is planks or stone brick or iron block or diamond block #можешь вписывать сюда любые блоки
    loop {explosion::*}:
        distance between loop-value and event-location is less than 5 #это радиус
        cancel event
 
Ошибку при релоаде скрипта с удалением дропа выдает....
 

Вложения:

  • 2020-01-24_17.14.31.png
    2020-01-24_17.14.31.png
    Размер файла
    387,8 КБ
    Просмотров
    11
Ошибку при релоаде скрипта с удалением дропа выдает....
Ам. Тут не я виноват) это у тебя что-то сломалось. Если бы ошибка в скрипте была, тебе бы так и написало.
 
Плз, бро, расставь пробелы как нужно. Не совсем понимаю...

on break of wooden door:
if metadata "health" of clicked block is not set:
set metadata "health" of clicked block to 10
else:
set {_meta} to metadata "health" of clicked block
remove 1 from {_meta}
if {_meta} is 0:
delete metadata "health" of clicked block
else:
cancel event
set metadata "health" of clicked block to {_meta}

- Это скрипт на здоровье для двери. Просто пробелы в сообщении не отображались. Спс.
 
Обошелся без джавы.

Код:
on explode:
    set {explosion::%event-location%} to event-location
    wait 0.5 second
    delete {explosion::%event-location%}

on item spawn:
    items within entity event-entity is planks or stone brick or iron block or diamond block #можешь вписывать сюда любые блоки
    loop {explosion::*}:
        distance between loop-value and event-location is less than 5 #это радиус
        cancel event

Отлично! Ты был прав, проблема не в sCript's, а в моем sKript's. =)
 

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

Назад
Верх