melon_PL 3 Opublikowano 6 kwietnia 2025 Udostępnij Opublikowano 6 kwietnia 2025 powie mi ktoś dlaczego to nie cofa postawionego bloku? Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 6 kwietnia 2025 Udostępnij Opublikowano 6 kwietnia 2025 @melon_PL Na ten moment do głowy przychodzą mi dwie przyczyny, pierwsza bardziej, druga mniej prawdopodobna. Bardziej prawdopodobne jest to, że porównywane przedmioty (przedmiot w ręce gracza i zaczep na linkę) nie są takie same. Wszystkie informacje zawarte w przedmiotach muszą być identyczne (typ, nazwa, lore, custom model data, zaklęcia, itd.). Najogólniej mówiąc, NBT obu przedmiotów nie mogą się różnić. Mniej prawdopodobnym scenariuszem jest istnienie listenera zdarzenia stawiania bloków o wyższym priorytecie, które odwołuje anulowanie zdarzenia. Pozdrawiam. melon_PL 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346418 Udostępnij na innych stronach Więcej opcji udostępniania...
0 melon_PL 3 Opublikowano 6 kwietnia 2025 Autor Udostępnij Opublikowano 6 kwietnia 2025 Godzinę temu, Kormic napisał: @melon_PL Na ten moment do głowy przychodzą mi dwie przyczyny, pierwsza bardziej, druga mniej prawdopodobna. Bardziej prawdopodobne jest to, że porównywane przedmioty (przedmiot w ręce gracza i zaczep na linkę) nie są takie same. Wszystkie informacje zawarte w przedmiotach muszą być identyczne (typ, nazwa, lore, custom model data, zaklęcia, itd.). Najogólniej mówiąc, NBT obu przedmiotów nie mogą się różnić. Mniej prawdopodobnym scenariuszem jest istnienie listenera zdarzenia stawiania bloków o wyższym priorytecie, które odwołuje anulowanie zdarzenia. Pozdrawiam. Okej zobaczę EDIT: Już wiem, przed postawieniem bloku jego nazwa jest taka sama jak w przedstawionym skrypcie lecz po postawieniu i zniszczeniu do mojego ekwipunku trafia przedmiot z deafultową nazwą "tripwire hook" lub "zaczep na linkę" (w zależności od języka gry). Wiesz jak to naprawić? Łączę posty. Proszę korzystać z opcji edycji postu, aby nie tworzyć kilku odpowiedzi pod rząd. Notatka dodana przez Kormic Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346419 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 6 kwietnia 2025 Udostępnij Opublikowano 6 kwietnia 2025 @melon_PL Nie to jest przyczyną. Normalnym zjawiskiem jest utrata informacji o przedmiocie po postawieniu go, ponieważ bloki nie przechowują informacji o przedmiotach. Zalecam zmodyfikować nieco ten skrypt: on place: set {_item} to tripwire hook named "<#525F9D>&lOkulary Przeciwsłoneczne" if player's tool is not {_item}: send "Przedmioty nie są takie same." and "Powody:" to player if name of player's tool is not name of {_item}: send "Nazwy są różne." to player if lore of player's tool is not lore of {_item}: send "Lore są różne." to player if enchantments of player's tool is not enchantments of {_item}: send "Zaklęcia są różne." to player if model data of player's tool is not model data of {_item}: send "CustomModelData są różne." to player # [...] # Uwaga: wymagane SkBee! send "" to player send full nbt of player's tool to player send full nbt of {_item} to player stop cancel event Nie jest to najlepszy sposób, ale w ten sposób można namierzyć co jest powodem. Pozdrawiam. melon_PL 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346421 Udostępnij na innych stronach Więcej opcji udostępniania...
0 melon_PL 3 Opublikowano 6 kwietnia 2025 Autor Udostępnij Opublikowano 6 kwietnia 2025 Okej zobaczę @Kormic Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346422 Udostępnij na innych stronach Więcej opcji udostępniania...
0 melon_PL 3 Opublikowano 7 kwietnia 2025 Autor Udostępnij Opublikowano 7 kwietnia 2025 (edytowane) W dniu 6.04.2025 o 14:19, Kormic napisał: @melon_PL Nie to jest przyczyną. Normalnym zjawiskiem jest utrata informacji o przedmiocie po postawieniu go, ponieważ bloki nie przechowują informacji o przedmiotach. Zalecam zmodyfikować nieco ten skrypt: on place: set {_item} to tripwire hook named "<#525F9D>&lOkulary Przeciwsłoneczne" if player's tool is not {_item}: send "Przedmioty nie są takie same." and "Powody:" to player if name of player's tool is not name of {_item}: send "Nazwy są różne." to player if lore of player's tool is not lore of {_item}: send "Lore są różne." to player if enchantments of player's tool is not enchantments of {_item}: send "Zaklęcia są różne." to player if model data of player's tool is not model data of {_item}: send "CustomModelData są różne." to player # [...] # Uwaga: wymagane SkBee! send "" to player send full nbt of player's tool to player send full nbt of {_item} to player stop cancel event Nie jest to najlepszy sposób, ale w ten sposób można namierzyć co jest powodem. Pozdrawiam. @Kormic Przedmioty nie są takie same. Powody: Zaklęcia są różne. CustomModelData są różne. Dane przedmiotu w mojej łapce Okulary Przeciwsłoneczne Enchantments: Unbreaking X minecraft:tripwire_hook NBT: 3 tag(s) Edytowane 7 kwietnia 2025 przez melon_PL Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346427 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 8 kwietnia 2025 Udostępnij Opublikowano 8 kwietnia 2025 @melon_PL No właśnie. To jest źródłem problemu. Wymienię trzy rozwiązania, które przychodzą mi do głowy: Rozbicie sprawdzanie przedmiotu na sprawdzanie typu i nazwy. if: type of player's tool is tripwire hook name of player's tool is "Nazwa" then: # Dalszy kod Można przyjąć, że kod będzie sprawdzał tylko jedną z informacji. W przypadku tego wyjścia wykorzystuje się zwykle sprawdzanie nazwy. if name of player's tool is "Nazwa": # Dalszy kod Dodanie do NBT przedmiotu jakiegoś tagu, którego obecność i opcjonalnie wartość będą sprawdzane. Wymagany jest tutaj dodatek SkBee. if int tag "przykladowyTag" of custom nbt of player's tool is 10: # Dalszy kod Ponieważ przedmiot nie ma złożonego NBT (nie posiada dużej ilości informacji o nazwie, lore, zaklęciach, itd.), najlepszy pod względem niezawodności i łatwości implementacji będzie sposób nr 1. Pozdrawiam. melon_PL 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/#findComment-346444 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
melon_PL 3
powie mi ktoś dlaczego to nie cofa postawionego bloku?
Odnośnik do komentarza
https://skript.pl/temat/58602-dlaczego-to-nie-dzia%C5%82a/Udostępnij na innych stronach
6 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
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ą.