Skocz do zawartości
  • 0

Dopisek Sk


Nitrusiniski

Pytanie

on right click on beacon:
    player is in world "swiat"
    if player has stick named "&ctest":
        broadcast "test"
    else:
        send "brak test" to player

Stworzyłem oto cos takiego chciałbym osiągnąc cos takiego aby gdy gracz kliknie na becona patykie o nazwie test to rozpoczyna sie losowanie i w promieniu 8 kratek pojawiają sie losowe przedmioty które ustale 

Edytowane przez xNightPower_
Nieaktywny

Umieszczaj kod w code.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/
Udostępnij na innych stronach

  • Odpowiedzi 54
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy dla tego pytania

Top użytkownicy dla tego pytania

Rekomendowane odpowiedzi

  • 0
1 minutę temu, Nitrusiniski napisał:

yyy cos chyba zle zrobiłem

To z 'send' to był tylko przykład. Przeczytaj jeszcze raz na spokojnie tamten post, w którym powiedziałem jak należy działanie (dzielenie) wykonać. Na spokojnie, bez pośpiechu.

Jeżeli nadal nie będziesz czegoś rozumiał, zacytuj ten post i pokaż czego nie rozumiesz, a wytłumaczę ci to.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282314
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

To z 'send' to był tylko przykład. Przeczytaj jeszcze raz na spokojnie tamten post, w którym powiedziałem jak należy działanie (dzielenie) wykonać. Na spokojnie, bez pośpiechu.

Jeżeli nadal nie będziesz czegoś rozumiał, zacytuj ten post i pokaż czego nie rozumiesz, a wytłumaczę ci to.

Nie lepiej bedzie jak napiszesz jak mam to zastosowac oszczedzimy sobie czasu

 

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282315
Udostępnij na innych stronach

  • 0
Teraz, Nitrusiniski napisał:

Nie lepiej bedzie jak napiszesz jak mam to zastosowac oszczedzimy sobie czasu

 

Właśnie w tamtym poście napisałem jak to należy zastosować. Po prostu powiedz czego nie rozumiesz, a to wytłumaczę najprościej jak to możliwe. Jeżeli będzie trzeba, wesprę cię prostymi przykładami zastosowania.

Jak ci podrzucę gotowe rozwiązanie, to niczego się nie nauczysz, a jak dojdziesz do tego sam krok po kroczku, wtedy będziesz wiedział na przyszłość co to jest funkcja, jak się jej używa, czego należy unikać w kodzie, jak należało to zrobić, itd.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282316
Udostępnij na innych stronach

  • 0
5 minut temu, Kormic napisał:

Właśnie w tamtym poście napisałem jak to należy zastosować. Po prostu powiedz czego nie rozumiesz, a to wytłumaczę najprościej jak to możliwe. Jeżeli będzie trzeba, wesprę cię prostymi przykładami zastosowania.

Jak ci podrzucę gotowe rozwiązanie, to niczego się nie nauczysz, a jak dojdziesz do tego sam krok po kroczku, wtedy będziesz wiedział na przyszłość co to jest funkcja, jak się jej używa, czego należy unikać w kodzie, jak należało to zrobić, itd.

Dalej nie rozumiem tej fukcji floor dobrze słuzy ona do dzielenia ale gdzie ja mam ja zastosowac w skypcie ?!

 

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282317
Udostępnij na innych stronach

  • 0
3 godziny temu, Kormic napisał:

dzielimy 2400 (liczba ticków w 2 minutach) i dzielimy ją przez (ilość przedmiotów - 1). Następnie używamy funkcji floor() do zaokrąglenia w dół wyniku tego dzielenia

Więc robimy to w ten sposób:

set {_ticks} to floor(2400 / (size of {_items::*} - 1))
# 2 (minuty) * 60 (sekund) * 20 (ticków) = 2400
# size of {_items::*} - 1 dlatego używamy, bo odstępów czasu będzie o 1 mniej niż wszystkich przedmiotów
# Przykłady pokazania tego:
# 1 - 20 sekund - 2 - 20 sekund - 3 - 20 sekund - 4 - 20 sekund - 5 - 20 sekund - 6 - 20 sekund - 7 (7 itemów, 6 odstępów czasu)
# 1 - 1 tick - 2 - 1 tick - 3  (3 itemy, 2 odstępy czasu)

Możliwe, że posiadasz nieco starszego Skripta i nie możesz wykonywać działań w argumentach funkcji. W takim wypadku będziesz musiał zrobić w ten sposób:

set {_ticks} to (2400 / (size of {_items::*} - 1))
set {_ticks} to floor({_ticks})

Mam nadzieję, że już zrozumiałeś co i jak.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282318
Udostępnij na innych stronach

  • 0
7 minut temu, Kormic napisał:

Więc robimy to w ten sposób:


set {_ticks} to floor(2400 / (size of {_items::*} - 1))
# 2 (minuty) * 60 (sekund) * 20 (ticków) = 2400
# size of {_items::*} - 1 dlatego używamy, bo odstępów czasu będzie o 1 mniej niż wszystkich przedmiotów
# Przykłady pokazania tego:
# 1 - 20 sekund - 2 - 20 sekund - 3 - 20 sekund - 4 - 20 sekund - 5 - 20 sekund - 6 - 20 sekund - 7 (7 itemów, 6 odstępów czasu)
# 1 - 1 tick - 2 - 1 tick - 3  (3 itemy, 2 odstępy czasu)

Możliwe, że posiadasz nieco starszego Skripta i nie możesz wykonywać działań w argumentach funkcji. W takim wypadku będziesz musiał zrobić w ten sposób:


set {_ticks} to (2400 / (size of {_items::*} - 1))
set {_ticks} to floor({_ticks})

Mam nadzieję, że już zrozumiałeś co i jak.

variables:
	{_ticks} = 2 seconds

command /setlosowanie [<text>]:
	trigger:
		if player has permission "setlosowanie":
			set {location.losowanie} to location of player
		if {location.losowanie} is set:
			set {_loc} to "%x-coordinate of player%, %y-coordinate of player%, %z-coordinate of player%"
			if "%x-coordinate of player%, %y-coordinate of player%, %z-coordinate of player%" is {_loc}:
				send "&atak"
				
on right click on emerald block:
	player is in world "all"
	if player has stick named "&cLosowanie":
		remove stick named "&cLosowanie" from player
		broadcast "test"
		set {_itemy::*} to stone named "test1", stone named "test2" and stone named "test3"
#		set {_itemy::*} to stone named "test1"
#		set {_itemy::*} to stone named "test2"
#		set {_itemy::*} to stone named "test3"
		loop {_itemy::*}:
			drop loop-value at {location.losowanie}
			set {_ticks} to (2400 / (size of {_items::*} - 1))
			set {_ticks} to floor({_ticks})
			wait "%{_ticks}% ticks" parsed as timespan
	else:
		send "brak test"

Nie wiem juz zrobiłem to tak i dalej nie działa tak jak powinno

 

 

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282319
Udostępnij na innych stronach

  • 0
3 minuty temu, Nitrusiniski napisał:

Nie wiem juz zrobiłem to tak i dalej nie działa tak jak powinno

1. Nie wiem szczerze na co ci te zakomentowane linijki, są one niepotrzebne.

2. Ustawianie zmiennej {_ticks} daj nad pętlą, nie ma sensu jej ustawiać przy każdym jej przejściu.

3. Mógłbyś opisać dlaczego "nie działa tak jak powinno"? Co się dzieje?

EDIT:

4. Sekcja 'variables' jest niepotrzebna, gdyż w niej ustawia się jedynie zmienne globalne. Ustawianie w niej zmiennej lokalnej mija się z celem, gdyż po ustawieniu od razu zostanie usunięta.

5. Nie rozumiem po co ci warunek 'if {location.losowanie} is set', skoro nie dzieje się tam nic ciekawego.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282320
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

1. Nie wiem szczerze na co ci te zakomentowane linijki, są one niepotrzebne.

2. Ustawianie zmiennej {_ticks} daj nad pętlą, nie ma sensu jej ustawiać przy każdym jej przejściu.

3. Mógłbyś opisać dlaczego "nie działa tak jak powinno"? Co się dzieje?

Doszedłem do wniosku że niech wylatuje tylko jeden przedmiot co 20 sekund za duzo jest z tym pracy "Mógłbyś opisać dlaczego "nie działa tak jak powinno"? Co się dzieje?" trzeba klikac aby przedmiot wyleciał a jak leci to po pare przedmiotow

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282321
Udostępnij na innych stronach

  • 0
2 minuty temu, Nitrusiniski napisał:

Doszedłem do wniosku że niech wylatuje tylko jeden przedmiot co 20 sekund za duzo jest z tym pracy "Mógłbyś opisać dlaczego "nie działa tak jak powinno"? Co się dzieje?" trzeba klikac aby przedmiot wyleciał a jak leci to po pare przedmiotow

Oj tam, nie jest z tym za dużo pracy, po prostu jednocześnie się uczysz i zabiera to nieco więcej czasu. Naprawdę polecam zastosować się do tego, co napisałem, a będzie działało jak marzenie.

Ale co trzeba klikać? Jak po parę przedmiotów?

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282322
Udostępnij na innych stronach

  • 0
13 minut temu, Kormic napisał:

Oj tam, nie jest z tym za dużo pracy, po prostu jednocześnie się uczysz i zabiera to nieco więcej czasu. Naprawdę polecam zastosować się do tego, co napisałem, a będzie działało jak marzenie.

Ale co trzeba klikać? Jak po parę przedmiotów?

Ale co trzeba klikać? Jak po parę przedmiotów?

No po chwili pojawi sie kamien ale zeby 2 kamien sie pojawil to musze kilnac patykiem 

 

 

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282324
Udostępnij na innych stronach

  • 0
1 minutę temu, Nitrusiniski napisał:

Ale co trzeba klikać? Jak po parę przedmiotów?

No po chwili pojawi sie kamien ale zeby 2 kamien sie pojawil to musze kilnac patykiem 

 

 

W takim razie jak wspomniałem wyżej, zobacz co zwraca 'loop-value'.

send "%loop-value%"

Wstawiasz to do tej pętli z przedmiotami, powinny zostać wysłane 3 przedmioty na czacie.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282325
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

W takim razie jak wspomniałem wyżej, zobacz co zwraca 'loop-value'.


send "%loop-value%"

Wstawiasz to do tej pętli z przedmiotami, powinny zostać wysłane 3 przedmioty na czacie.

Ale ja wiem co wypada tylko chodzi o to ze za drugi razem nie wylatuje

 

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282326
Udostępnij na innych stronach

  • 0
20 minut temu, Nitrusiniski napisał:

Ale ja wiem co wypada tylko chodzi o to ze za drugi razem nie wylatuje

 

Dobrze, ale powiedziałeś, że aby wypadł drugi kamień, trzeba jeszcze raz kliknąć. Powinny wypaść 3 kamienie.

Dlatego też wstaw 'loop-value' w send do tej pętli i zobacz co zostanie wysłane.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282329
Udostępnij na innych stronach

  • 0
6 godzin temu, Kormic napisał:

Dobrze, ale powiedziałeś, że aby wypadł drugi kamień, trzeba jeszcze raz kliknąć. Powinny wypaść 3 kamienie.

Dlatego też wstaw 'loop-value' w send do tej pętli i zobacz co zostanie wysłane.

"Dobrze, ale powiedziałeś, że aby wypadł drugi kamień, trzeba jeszcze raz kliknąć. Powinny wypaść 3 kamienie."

Nie chodziło mi ze drugi ma wypasc w ciagu tych 2 minut 

 

Edytowane przez xNightPower_
Nieaktywny

Naprawiam formatowanie na ciemnym stylu.

Odnośnik do komentarza
https://skript.pl/temat/44902-dopisek-sk/#findComment-282335
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

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