Skocz do zawartości
  • 0

Skrypt na portal.


Misio12320

Pytanie

34 minuty temu, CoFFeIN04 napisał:

To co tutaj napisałeś nie ma totalnie sensu

 

No tak, ponieważ zgubiłem się w tym pomyśle.

Jak ktoś może to poproszę o skrypt, by Portal_Nether_At_Bedrock teleportował mnie do portalu, którym wszedłem w world oraz odwrotnie z tymi samymi koordynatami jak w vanilla, czyli blok na którym stałem oraz pitch, yaw. Myślę, że to jest wyjaśnione bardzo jasno.

Edytowane przez xNightPower_
Nieaktywny

Wydzielam do nowego tematu.

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/
Udostępnij na innych stronach

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

@Kormic oraz @CoFFeIN04, problem nie został jeszcze rozwiązany jednak został przeniesiony tutaj. Jeżeli macie chwilę to możecie oberzjeć tamtą moją ostatnią odpowiedź i zasugerować się nimi w celu rozwiązania mojego problemu. Link do poprzedniego tematu 

 

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279305
Udostępnij na innych stronach

  • 1
17 godzin temu, Misio12320 napisał:

No tak, ponieważ zgubiłem się w tym pomyśle.

Jak ktoś może to poproszę o skrypt, by Portal_Nether_At_Bedrock teleportował mnie do portalu, którym wszedłem w world oraz odwrotnie z tymi samymi koordynatami jak w vanilla, czyli blok na którym stałem oraz pitch, yaw. Myślę, że to jest wyjaśnione bardzo jasno.

Nie wiem czy dokładnie to miałeś na myśli, ale starałem się to robić według twoich instrukcji. W razie czego powiesz co nie pasuje lub co miało jak wyglądać.

Co do samego skryptu, jeszcze mam kilka rzeczy do dodania:

1. Nie testowałem go, gdyż nie wiem jak ma działać. Raczej to zrozumiałe.

2. W linijkach 19 i 20 wstawiasz twoje wcześniej wspomniane warunki.

3. Na górze dołączyłem sekcję konfiguracyjną, w których ustawiasz nazwy regionów, czym ma być różdżka oraz jak nazywa się główny świat i Nether na twoim serwerze. Raczej nie potrzebujesz komentarzy, nazwy nie są mylące.

4. Zmieniłem ustawianie poprzez bloki na różdżkę i tutaj uwaga - ustawia ona lokalizację portalu jako lokalizację bloku nad klikniętym blokiem. Lewym przyciskiem myszy zaznaczasz portal nr 1, prawym portal nr 2. Komendą /portalwand przywołasz sobie tę różdzkę.

5. Musisz sobie ustawić do zmiennej {defaultNetherPortal} lokalizację tego zwykłego portalu w netherze i również musisz ustawić do zmiennej {portalNetherAtBedrock} ustawić lokalizację tego portalu (na bedrocku?).

Jakby coś było niezrozumiałe, pytaj śmiało.

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279318
Udostępnij na innych stronach

  • 0
5 godzin temu, Kormic napisał:

Nie wiem czy dokładnie to miałeś na myśli, ale starałem się to robić według twoich instrukcji. W razie czego powiesz co nie pasuje lub co miało jak wyglądać.

Co do samego skryptu, jeszcze mam kilka rzeczy do dodania:

1. Nie testowałem go, gdyż nie wiem jak ma działać. Raczej to zrozumiałe.

2. W linijkach 19 i 20 wstawiasz twoje wcześniej wspomniane warunki.

3. Na górze dołączyłem sekcję konfiguracyjną, w których ustawiasz nazwy regionów, czym ma być różdżka oraz jak nazywa się główny świat i Nether na twoim serwerze. Raczej nie potrzebujesz komentarzy, nazwy nie są mylące.

4. Zmieniłem ustawianie poprzez bloki na różdżkę i tutaj uwaga - ustawia ona lokalizację portalu jako lokalizację bloku nad klikniętym blokiem. Lewym przyciskiem myszy zaznaczasz portal nr 1, prawym portal nr 2. Komendą /portalwand przywołasz sobie tę różdzkę.

5. Musisz sobie ustawić do zmiennej {defaultNetherPortal} lokalizację tego zwykłego portalu w netherze i również musisz ustawić do zmiennej {portalNetherAtBedrock} ustawić lokalizację tego portalu (na bedrocku?).

Jakby coś było niezrozumiałe, pytaj śmiało.

 zmieniłem trochę kod dałem więcej tabów i nic się nie dzieje. 

Zrobiłem takie zadanie:

Utworzyłem 2 portale w świecie world oraz nadałem im region portal1 oraz portal2, następnie kliknąłem różdżką na obsydian, a nad nim jest portal.

Teleportowałem się do Netheru zanim użyłem tego kodu, zaraz po zapisaniu oraz przeładowaniu kodu stworzyłem portal ten nad bedrockiem z regionem Portal_Nether_At_Bedrock (zaznaczyłem cały portal wraz z obsydianem).

Nadal nic się nie dzieje, jednak za każdym razem gdy wejdę portalem1 i wyjdę Portal_Nether_At_Bedrock automatycznie teleportuje mnie do portal2 oraz na spawn serwera. Gdy próbuję wysłać wiadomość czat odpowiada mi "cannot send chat message" oraz nic nie mogę wywołać, tzn jeżeli podpalę coś i zniszczę blok pod ogniem to nic się nie dzieje. Jeśli wyjdę oraz dołączę ponownie to jestem w portal2 i mogę pisać na czacie.

 

Na filmiku przedstawiam co mam na myśli, tylko poprosiłbym o zrobienie takiego czegoś przez event "on portal".  kod:

 

 

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279502
Udostępnij na innych stronach

  • 0
Godzinę temu, Misio12320 napisał:

zmieniłem trochę kod dałem więcej tabów i nic się nie dzieje. 

Właśnie źle zrobiłeś z tymi tabami. Powinieneś cofnąć linijki 22-29 o dwa znaki tabulacji. 

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279530
Udostępnij na innych stronach

  • 0

A po co dałeś te warunki?

        if 1 is 1:
            if 2 is 2:

wiadomo, będą spełnione ale w jakim celu?

 

set {_t} to true
if {_t} is not set:
else:

jaki jest cel tego warunku, skoro {_t} ustawiasz linijkę wcześniej?

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279531
Udostępnij na innych stronach

  • 0
13 minut temu, Kormic napisał:

Właśnie źle zrobiłeś z tymi tabami. Powinieneś cofnąć linijki 22-29 o dwa znaki tabulacji. 

z linijką nr. 22 zgodzę się, ale z 29 chyba. Nevermind, użyję twojego kodu jeszcze raz do testu.

 

15 minut temu, CoFFeIN04 napisał:

wiadomo, będą spełnione ale w jakim celu?

 

dla testu

 

16 minut temu, CoFFeIN04 napisał:

jaki jest cel tego warunku, skoro {_t} ustawiasz linijkę wcześniej?

właśnie nie wiem, coś pokombinowałem, bo długo ze skript nie używałem i nie wyszło.

 

Użyłem tego kodu jeszcze raz oraz utworzyłem lokalizację (set {Portal_Nether_At_Bedrock} to location at event-block) w Portal_Nether_At_Bedrock i działa tylko on wtedy, gdy główny portal jest zniszczony. Jeżeli główny portal w netherze działa, to skrypt już nie działa. 

Po wejściu portal1 i wyjściu Portal_Nether_At_Bedrock zostaję teleportowany na spawn świata i wysyła mi "cannot send message" dzieje się to czasami, ale nie zawsze. W portal2 gdy wejdę i wyjdę przez Portal_Nether_At_Bedrock to teleportuje mnie do portal1 i mogę dalej grać.

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279539
Udostępnij na innych stronach

  • 0
7 minut temu, Misio12320 napisał:

z linijką nr. 22 zgodzę się, ale z 29 chyba.

chodziło mu o to że linijki od 22 do 29, nie tylko 22 i 29.


Ciekawi mnie również twój 2 kod, czemu raz dajesz / w komendzie a raz nie xD

 

Co do kodu to wystarczy w tym 2 dodać on portal i sprawdzanie regionu portalu

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279540
Udostępnij na innych stronach

  • 0
6 minut temu, CoFFeIN04 napisał:

chodziło mu o to że linijki od 22 do 29, nie tylko 22 i 29.

 

Poprawione :G 

 wtedy zatem linijka 30 nie działa, ponieważ "else if has to be placed just after another if"

9 minut temu, CoFFeIN04 napisał:

Co do kodu to wystarczy w tym 2 dodać on portal i sprawdzanie regionu portalu

Chodzi o ten, który napisałem i podałem wraz z filmikiem? 

 

Coś takiego udało mi się sporządzić, nie wiem co dalej, to zbyt skomplikowane.

https://code.skript.pl/H2xdDV7k

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279542
Udostępnij na innych stronach

  • 0
26 minut temu, Misio12320 napisał:

wtedy zatem linijka 30 nie działa, ponieważ "else if has to be placed just after another if"

Spójrz na mój kod:

A teraz spójrz na twój kod:

Widać różnicę w wytabowaniu kodu, nieprawdaż?

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279544
Udostępnij na innych stronach

  • 0
Teraz, Misio12320 napisał:

Zgadza się, poprawiłem coś

Dobra, po prostu weź sobie mój kod, nie zmieniaj wcięć w nim i zmień to, co tam potrzeba. Następnie powiedz co dokładnie należy poprawić, na przykład w formie listy.

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279547
Udostępnij na innych stronach

  • 0
18 godzin temu, Kormic napisał:

Dobra, po prostu weź sobie mój kod, nie zmieniaj wcięć w nim i zmień to, co tam potrzeba. Następnie powiedz co dokładnie należy poprawić, na przykład w formie listy.

Wykombinowałem coś takiego

 i portal 1 działa, wysyła mnie na górę, ale jak próbuję wyjść to portal mnie automatycznie teleportuje z powrotem do netheru na górę.

Portal2 teleportuje mnie jedynie do tego głównego.

W wolnej chwili poradzę sobie z tą twoją funkcją. Obecnie poproszę tylko o poprawienie kodu 👉👈🥺

Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279679
Udostępnij na innych stronach

  • 1
53 minuty temu, Misio12320 napisał:

i portal 1 działa, wysyła mnie na górę, ale jak próbuję wyjść to portal mnie automatycznie teleportuje z powrotem do netheru na górę.

W sensie teleportuje cię do portalu na górze, ale gdy próbujesz wrócić z powrotem to od razu teleportuje cię do góry, tak?

53 minuty temu, Misio12320 napisał:

Portal2 teleportuje mnie jedynie do tego głównego.

Do tego w regionie "nether"? :thonk:

if player is in region "portal2":
	cancel event
	set {portal::%player%} to 2
	if 2 is 2:
		teleport player to {bedrock::location}
		message "You're now in nether above the bedrock!"
		delete {PaymentReceived::%player%}
	else:
		teleport player to {NetherPortal::location}
		message "You're now in the nether, enjoy!"

Jak wynika z kodu, to czy przeteleportuje cię do portalu "bedrock", zależne jest od warunku sprawdzającego czy 2 jest równe 2.

Spróbuj wyczyścić wszystkie zmienne dotyczące portali i upewnij się, że wszystko dobrze ustawiłeś.

EDIT:

Jeszcze pójdę przetestować ten twój skrypt na localhost'cie, zobaczymy co i jak.

EDIT2:

Tak jeszcze raz spojrzałem na kod i zauważyłem, że używasz warunku 'is in region', którego nie ma w Skript'cie. Posiadasz jakiś dodatek do tego?

EDIT3:

Przetestowałem twój kod, nieznacznie go przerobiłem i... działa bardzo ładnie.

Co do tego, że po powrocie portal od razu cię teleportował z powrotem do tego "bedrocka", możesz zrobić to w następujący sposób (pokażę na przykładzie portalu nr 1).

if "%region at player%" contains "portal1":
	cancel event
	set {portal::%player%} to 1
	send "%{portal::%player%}%"
	if 1 is 1:
		teleport player to {bedrock::location}
		message "You're now in nether above the bedrock!"
		delete {PaymentReceived::%player%}
	else:
		teleport player to {NetherPortal::location}
		message "You're now in the nether, enjoy!"
	set {lastPortalTeleportation::%player%} to now # <- Zawierasz w tej zmiennej czas obecny, czyli moment teleportacji gracza

A następnie...

# W naszym evencie 'on portal' sprawdzamy czy różnica między czasem zapisanym w zmiennej, a czasem obecnym jest mniejsza niż 5 sekund. 
# Jeżeli tak, nie będziemy teleportować gracza. 
# Dzięki temu otrzymujemy swego rodzaju cooldown, dzięki któremu gracz 
# przy przeniesieniu się portalem nie zostanie od razu odesłany z powrotem.

on portal:
	if {lastPortalTeleportation::%player%} is set:
		difference between {lastPortalTeleportation::%player%} and now is less than 5 seconds
		stop
    if "%region at player%" contains "portal1":
    	# Dalszy kod...

Mam nadzieję, że dobrze zrozumiałem twój problem i w jakiś sposób pomogłem.

Ja testowałem w ten sposób, że te lokalizacje, do których portale miały teleportować, ustawiłem tuż przed portalami.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279681
Udostępnij na innych stronach

  • 0
1 godzinę temu, Kormic napisał:

W sensie teleportuje cię do portalu na górze, ale gdy próbujesz wrócić z powrotem to od razu teleportuje cię do góry, tak?

Tak. 

 

1 godzinę temu, Kormic napisał:

Do tego w regionie "nether"? 

Zgadza się. 

 

1 godzinę temu, Kormic napisał:

Tak jeszcze raz spojrzałem na kod i zauważyłem, że używasz warunku 'is in region', którego nie ma w Skript'cie. Posiadasz jakiś dodatek do tego?

Używam dodatku TuSKe, ale w dokumentacji nie widzę tego. Może jest w zwykłym Skript tylko, że gdzieś ukryty jest w dokumentacji. 

 

1 godzinę temu, Kormic napisał:

Spróbuj wyczyścić wszystkie zmienne dotyczące portali i upewnij się, że wszystko dobrze ustawiłeś.

Ok. 

Po krótkiej przerwie.. Próbowałem przerobić i odświeżyłem stronę. Za chwilę przetestuję twój kod i dam znać. 

Edit:
Wpisałem ten kod i wciąż nie działa. Jak wejdę przez SecondPortal (portal2) to wysyła mi 1 oraz teleportuje na szczyt i teleportuje do portal1 firstportal.

ja już nie mam sił na tłumaczenie tego, bo to już nudne jest. Od 3 dni się z tym męczę i nadal nic. Mogę prosić o poprawkę kodu oraz dodania tych cooldown? @Kormic

Edytowane przez Misio12320
Odnośnik do komentarza
https://skript.pl/temat/44510-skrypt-na-portal/#findComment-279683
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ę...