Skocz do zawartości

KGaZ
 Udostępnij

Rekomendowane odpowiedzi

NBT

Witam , jest to poradnik od dodawaniu 'niewidzialnych' gołym okiem atrybutów

do danego przedmiotu, Zapraszam :)

------------------------------------------------------------------------

Ten poradnik powstał tylko dlatego , że

nie znalazłem owego na tym forum

nie ma on być żadną marną podróbą

-------------------------------------------------------------------------

Jeżeli decydujesz się na ten poradnik , opowiedzmy

trochę o tym co to jest to NBT , co to za czarna magia

Tworzy to linijki w przedmiocie które są ukryte i nie ma ich w lore

ale można je czytać , usuwać i zapisywać , wygląda to mniej więcej tak

jyuoape.png

Już widzisz? 

'NBT: 4 tag(s)' 

Możemy w tej liście zapisać takie dane jakie nam się tylko podobają! Ba

Gracze nie widzą ilości dodanych NBT chyba że klikną F3+H

------------------------------------------------------------------------

Podoba się? Więc jeżeli już na pewno brniesz w ten poradnik

to muszę cię poinformować iż aby dodawać te czary trzeba posiadać addon SkStuff

najnowszą wersję bo właśnie tam wprowadzono dodawanie tagów NBT

Opcji dodawania tagów jest wiele

Od tworzenia list ze stringami po czym dodawania ich do Itemu

Po przez spontaniczne  dodawanie ich  i usuwanie

Wszystko to macie ładnie w spoilerach

[To ja z przyszłości piszący ten poradnik:

Tagi można dodać również do postawionych bloków

czy też do potworów , pozdrawiam :)]

Lista Stringów - Tworzenie

Spoiler

Ta opcja jest powiązana ściśle z opcją o spontanicznych dodawaniach i usuwaniach

 Listę stringów zanim dodamy ją do przedmiotu musimy wsadzić w zmienną

Zatem stwórzmy podstawową listę

 

set {_List} to "[Atak:50,Obrona:10]"

Nie zapomnijmy o parsedzie

set {_List} to "[Atak:50,Obrona:10]" parsed as nbt list

Co tu w ogóle zaszło?

Stworzyliśmy listę o dwóch tagach , Ataku i Obronie

Nie musi to być format typu nazwa:ilosc , można tam wstawiać byle co , i to będzie zapisane

Lista stworzona , o przypisywaniu jej do przedmiotu powiem na końcu :) 

Tworzenie przedmiotu z przypisanym NBT

Spoiler

Użyjmy najpierw 'give' albo 'set player's tool to' , są to najprostrze

z przykładów jakie mogę wam zaprezentować

Jakby wyglądało danie zwykłego przedmiotu?

give diamond sword to player

nic trudnego , prawda?

Zacznijmy z dodaniem NBT

po przez dodanie 'with [custom] NBT'

Tutaj natomiast użyjemy nawiasów klamerkowych " { } "

Podajemy nazwę i jej zawartość która też może być listą

give player diamond sword with custom nbt "{Opis:[""To jest 1 linia"",""a to druga""]Dwa:[""Koljny obiekt!""]}"

W nawiasach klamrowych tworzymy nazwę 'zmiennej'

po czym w nawiasach kwadratowych umieszczamy opis jak wyżej

teraz przykład z set player's tool to :)

set player's tool to diamond sword with nbt "{Atak:5}"

 

Spontaniczne dodawanie tagów

Spoiler

Jak to zrobić , na czym to polega , już mówię.

Aby dodać czy też usunąć tag musimy posiadać obiekt z którego go usuniemy

Zatem do dzieła

add "{Damage:5}" to nbt of player's tool
add "{FireTicks:60}" to nbt of projectile

Dodawanie , uważam żen ie trzeba tłumaczyć , to aż za proste :)

remove "ownerName" from nbt of projectile
remove "isBurning" from nbt of player's tool

Widzicie zmianę pomiędzy dodawaniem a odejmowaniem?

To tak jak ze zmiennymi , przy clearowaniu jej nie trzeba podawać zawartości

 

Pliki GZIP - Zastosowanie dla graczy!

Spoiler

Dane NBT mozna przechowywać w plikach , najlepiej plikach

z rozszerzeniem .dat

Plik nie tworzymy formułką od @Dzikoysk ale formułką od autora skStuff

Zobaczmy.

create gzip file "plugins/Info/%player%.dat"

Podajemy tylko path [z ang. Ścieżke] do pliku

zapisywanie w nim jest podobne jak w @up czyli spontanicznym dodawaniu .

 

add "Plec:%{plec::%player%}%" to nbt of file "plugins/Info/%player%.dat"

Z usuwaniem jest tak samo 

Dopomnę jeszcze że pomiędzy tworzeniem a dodawaniem zawartości warto dać przerwę 4 , 5 ticks inaczej

całość się zbuguje :)

Ale po co to , jak to czytać? Pobierać dane?

Ten punkt nie będzie spoilerem ponieważ jest ważny bardzo

Osoby niezainteresowanie proszę o przescrollowanie

Do tych wszystkich metod powyżej jest jedna formułka 

Czyli

set {_zmienna} to nbt [...]
set {_zmienna} to nbt from file "plugins/Info/%player%.dat"
set {_zmienna} to nbt of player's tool
send "%content of {_zmienna}%"

Jak widać jest to bardzo proste :)

Mam nadzieję że tym poradnikiem zachęciłem cię do korzystania

z NBT , jeżeli nie zrozumiałeś paru rzeczy , po prostu przeczytaj poradnik

na nowo , z mojej strony to tyle , teraz czas na Żydzenie

Będzie to bardzo miłe jeżeli zostawisz komentarz z uargumentowaną opinią

Co mogę poprawić , co źle zrobiłem?

Oraz łapkę w górę :)

Ode mnie to tyle , miłego przeglądania forum

Edytowane przez KGaZ
Błąd kosmetyczny
Odnośnik do komentarza
Udostępnij na innych stronach

57 minut temu, KGaZ napisał:

jeżeli nie znasz się na skripcie a chociaż jego podstawach Ten poradnik nie jest dla ciebie i możesz dalej przewijać 

1key4i.jpg

Przedmioty z tagami NBT można dawać bez jakiejkolwiek znajomości czy potrzeby Skripta:
Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Commandbloki tu nie mają nic do rzeczy, mając op/* możesz użyć najzwyklejszej komendy give, by dać sobie przedmiot z NBT.

I tak, rozumiem, że tu chodzi o zastosowanie w Skripcie, ale nie pisz proszę, że jeśli ktoś nie zna lub nie używa Skripta, to nie ma co myśleć o NBT, bo tak wynika z tytułu Twojego postu :) Brzmiałoby to lepiej, gdybyś napisał "poradnik o dodawaniu (...) atrybutów (...) za pomocą Skripta" :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Szifter zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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