Skocz do zawartości
  • 0

Skrypt na skrzynki z zaopatrzeniem


Pytanie

Witam. Potrzebuję skrypt na skrzynki zaopatrzenia. Szukałem takiego skryptu, ale akurat takiego nie znalazłem. 

-Po postawieniu skrzyni nazwanej "skrzynka zaopatrzenia" co określony czas ( 1 minuta dla testów) będzie ona napełniała się losowymi itemami z listy. (listę sporządzę sobie sam)

-Jeśli itemy nie zostaną wyjęte lub jakieś w niej zostaną, przed kolejnym losowaniem skrzynia jest czyszczona. 

-Wiadomość na czacie ogólnym w momencie uzupełniania skrzyni

Z góry dziękuję za poświęcony czas 😃

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/
Udostępnij na innych stronach

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
34 minuty temu, Iks napisał:

Witam. Potrzebuję skrypt na skrzynki zaopatrzenia. Szukałem takiego skryptu, ale akurat takiego nie znalazłem. 

-Po postawieniu skrzyni nazwanej "skrzynka zaopatrzenia" co określony czas ( 1 minuta dla testów) będzie ona napełniała się losowymi itemami z listy. (listę sporządzę sobie sam)

-Jeśli itemy nie zostaną wyjęte lub jakieś w niej zostaną, przed kolejnym losowaniem skrzynia jest czyszczona. 

-Wiadomość na czacie ogólnym w momencie uzupełniania skrzyni

Z góry dziękuję za poświęcony czas 😃

Proszę.

on place:
	player's tool is chest named "&aSkrzynka z zaopatrzeniem"
	add location of event-block to {supplyChests::*}
	
every 1 minute:
	set {_list::*} to iron sword, diamond, wooden pickaxe, gold ingot, oak log and iron helmet
	loop {supplyChests::*}:
		clear inventory of block at loop-value
		add (random integer between 1 and 3) of (random item out of {_list::*}) to {_contents::*}
		add {_contents::*} to inventory of block at loop-value
	broadcast "&aSkrzynie zostały uzupełnione!"

on break:
	{supplyChests::*} contains location of event-block
	remove location of event-block from {supplyChests::*}

 

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-291893
Udostępnij na innych stronach

  • 0
Godzinę temu, Kormic napisał:

Proszę.


on place:
	player's tool is chest named "&aSkrzynka z zaopatrzeniem"
	add location of event-block to {supplyChests::*}
	
every 1 minute:
	set {_list::*} to iron sword, diamond, wooden pickaxe, gold ingot, oak log and iron helmet
	loop {supplyChests::*}:
		clear inventory of block at loop-value
		add (random integer between 1 and 3) of (random item out of {_list::*}) to {_contents::*}
		add {_contents::*} to inventory of block at loop-value
	broadcast "&aSkrzynie zostały uzupełnione!"

on break:
	{supplyChests::*} contains location of event-block
	remove location of event-block from {supplyChests::*}

 

Super, dziękuję. Mam jeszcze jedno pytanie- w jaki sposób rozwiązać to aby itemy były losowane w sposób bardziej losowy? tak jak teraz to będzie dodawało np 3 drewniane kilofy.

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-291928
Udostępnij na innych stronach

  • 0
2 minuty temu, Iks napisał:

Super, dziękuję. Mam jeszcze jedno pytanie- w jaki sposób rozwiązać to aby itemy były losowane w sposób bardziej losowy? tak jak teraz to będzie dodawało np 3 drewniane kilofy.

Pytanie w formie masła maślanego. Nie wiem co masz na myśli, można jakiś przykład dla zrozumienia?

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-291930
Udostępnij na innych stronach

  • 0
9 minut temu, Iks napisał:

Dobrze więc tak. Tworzę listę itemów wraz z ilością.

16 oak planks
32 oak planks

...

16 stone
32 stone

Losujemy dla przykładu pomiędzy 2 a 6 losowych pozycji z listy.

 

Już rozumiem.

W linijce nr 9 masz ilość losowanych przedmiotów.

on place:
	player's tool is chest named "&aSkrzynka z zaopatrzeniem"
	add location of event-block to {supplyChests::*}
	
every 1 minute:
	set {_list::*} to iron sword, diamond, wooden pickaxe, gold ingot, oak log and iron helmet
	loop {supplyChests::*}:
		clear inventory of block at loop-value
		loop (random integer between 2 and 6) times:
			add (random integer between 1 and 3) of (random item out of {_list::*}) to {_contents::*}
		add {_contents::*} to inventory of block at loop-value
	broadcast "&aSkrzynie zostały uzupełnione!"

on break:
	{supplyChests::*} contains location of event-block
	remove location of event-block from {supplyChests::*}

 

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-291941
Udostępnij na innych stronach

  • 0
Spoiler


options:
	# Permisja:
	perm: skrzynia.admin
	# Wiadmość, gdy brak permisji:
	noperm: Nie masz uprawnień!
	# Minimalna liczba itemów w skrzyni z listy
	minitems: 2
	# Maksymalna liczba itemów w skrzyni z listy
	maxitems: 4

command /daj skrzynie:
	trigger:
		if player has permission "{@perm}":
			give chest named "Tajemnicza Skrzynia" to player
		else:
			message "Nie masz permisji!"

on place:
	if player has permission "{@perm}":
		player's tool is chest named "Tajemnicza Skrzynia"
		add location of event-block to {supplyChests::*}
		message "Skrzynia została dodana"
	else:
		message "&c&lNie masz permisji!"

every 20 seconds:
	set {_list::*} to iron sword, diamond, wooden pickaxe, gold ingot, oak log and iron helmet
	loop {supplyChests::*}:
		clear inventory of block at loop-value
		set {_loop} to a random integer between {@minitems} and {@maxitems}
		loop {_loop} times:
			add (random item out of {_list::*}) to {_contents::*}
			add {_contents::*} to inventory of block at loop-value
	broadcast "Skrzynie zostały uzupełnione!"

on break:
	{supplyChests::*} contains location of event-block
	remove location of event-block from {supplyChests::*}
	message "Skrzynia została usunięta"

 

Troszkę zmieniłem, jednak mam jeden błąd w konsoli:

"There are multiple loops that match loop-value. Use loop-value-1/2/3/etc. to specify which loop's value you want. (skrzynki v1.sk, line 33: add {_contents::*} to inventory of block at loop-value')"

Dodatkowo dla przejrzystości chciałbym zrobic listę itemów nie po przecinku a każdy item w osobnej linijce.

Edytowane przez Iks
Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-291964
Udostępnij na innych stronach

  • 0
2 godziny temu, Iks napisał:

Troszkę zmieniłem, jednak mam jeden błąd w konsoli:

"There are multiple loops that match loop-value. Use loop-value-1/2/3/etc. to specify which loop's value you want. (skrzynki v1.sk, line 33: add {_contents::*} to inventory of block at loop-value')"

Dodatkowo dla przejrzystości chciałbym zrobic listę itemów nie po przecinku a każdy item w osobnej linijce.

1. W 33. linijce podmień 'loop-value' na 'loop-value-1'.

2. Co do przejrzystości listy, można to zrobić tak zamiast ustawiania.

add iron sword to {_list::*}
add diamond to {_list::*}
add wooden pickaxe to {_list::*}
# I tak dalej...

 

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-292010
Udostępnij na innych stronach

  • 0
Spoiler
W dniu 28.02.2021 o 20:17, Kormic napisał:

1. W 33. linijce podmień 'loop-value' na 'loop-value-1'.

2. Co do przejrzystości listy, można to zrobić tak zamiast ustawiania.



add iron sword to {_list::*}
add diamond to {_list::*}
add wooden pickaxe to {_list::*}
# I tak dalej...

 

 

Podmieniłem loop-value na loop-value-1 ale nie dziala :/ Skrzynki się nie uzupełniają. 

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-292607
Udostępnij na innych stronach

  • 0
options:
	# Permisja:
	perm: skrzynia.admin
	# Wiadmość, gdy brak permisji:
	noperm: Nie masz uprawnień!
	# Minimalna liczba itemów w skrzyni z listy
	minitems: 2
	# Maksymalna liczba itemów w skrzyni z listy
	maxitems: 4

command /skrzyniaz:
	trigger:
		if player has permission "{@perm}":
			give chest named "Tajemnicza Skrzynia" to player
		else:
			message "&4Nie masz permisji!"

on place:
	if player has permission "{@perm}":
		player's tool is chest named "Tajemnicza Skrzynia"
		add location of event-block to {supplyChests::*}
		message "&2Skrzynia została dodana"
	else:
		message "&4Nie masz permisji!"

every 20 seconds:
	set {_list::*} to iron sword, diamond, wooden pickaxe, gold ingot, oak log and iron helmet
	loop {supplyChests::*}:
		clear inventory of block at loop-value
		set {_loop} to a random integer between {@minitems} and {@maxitems}
		loop {_loop} times:
			add (random item out of {_list::*}) to {_contents::*}
			add {_contents::*} to inventory of block at loop-value-1
	broadcast "&4[Serwer}&2Skrzynie zostały uzupełnione!"

on break:
	{supplyChests::*} contains location of event-block
	remove location of event-block from {supplyChests::*}
	message "&4Skrzynia została usunięta"

 

Odnośnik do komentarza
https://skript.pl/temat/46373-skrypt-na-skrzynki-z-zaopatrzeniem/#findComment-292611
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...