Skocz do zawartości
  • 0

Kod z zapisem tabliczek


Pytanie

Witam, potrzebowałbym pomocy do naprawy tego skryptu... Chciałbym by po kliknięciu prawym przyciskiem myszki na tabliczkę powinno zapisać w pliku bloki.yml i później odtwarzane w takiej kolejności:

1.%now%

2.nazwa gracza który kliknął

3. X

4. Y

5. Z

command /target [<text>]:
    permission: target
    trigger:
        if arg 1 is set:
            add arg to yaml list "Nazwy" from file "Bloki.yml"
            set yaml value "Block.%arg%.Blok" from file "Bloki.yml" to "%target block%"
            set yaml value "Block.%arg%.Data" from file "Bloki.yml" to "%now%"
            set yaml value "Block.%arg%.Player" from file "Bloki.yml" to name of player
            set yaml value "Block.%arg%.Loc.x" from file "Bloki.yml" to "%x-coordinate of target block%"
            set yaml value "Block.%arg%.Loc.y" from file "Bloki.yml" to "%y-coordinate of target block%"
            set yaml value "Block.%arg%.Loc.z" from file "Bloki.yml" to "%z-coordinate of target block%"
            send "&7Dodano"
        else:
            send "&7Podaj nazwe!"
command /usuntarget [<text>]:
    permission: target.usun
    trigger:
        if arg 1 is set:
            remove arg from yaml list "Nazwy" from file "Bloki.yml"
            clear yaml value "Block.%arg%.Loc.x" from file "Bloki.yml"
            clear yaml value "Block.%arg%.Loc.y" from file "Bloki.yml"
            clear yaml value "Block.%arg%.Loc.z" from file "Bloki.yml"
            clear yaml value "Block.%arg%.Data" from file "Bloki.yml"
            clear yaml value "Block.%arg%.Player" from file "Bloki.yml"
            clear yaml value "Block.%arg%" from file "Bloki.yml"
            send "&7Usunieto"
command /bloki:
    permission: target.bloki
    trigger:
        set {_lista::*} to yaml list "Nazwy" from file "Bloki.yml"
        open chest with 6 rows named "&6Bloki" to player
        set {_s} to 0
        loop {_lista::*}:
            if {_s} < 6*9:
                set {_x} to yaml value "Block.%loop-value%.Loc.x" from file "Bloki.yml"
                set {_y} to yaml value "Block.%loop-value%.Loc.y" from file "Bloki.yml"
                set {_z} to yaml value "Block.%loop-value%.Loc.z" from file "Bloki.yml"
                set {_n} to yaml value "Block.%loop-value%.Data" from file "Bloki.yml"
                set {_p} to yaml value "Block.%loop-value%.Player" from file "Bloki.yml"
                set {_b} to yaml value "Block.%loop-value%.Blok" from file "Bloki.yml"
                set player's current inventory's slot {_s} to ("%{_b}%" parsed as item) named "&f%loop-index%.&6 %loop-value%" with lore "&cLoc - x: &6%{_x}% &c - y: &6%{_y}%&c - z: &6%{_z}%" and "&cData: &6%{_n}%" and "&cPlayer: &6%{_p}%"
                add 1 to {_s}
            else:
                stop

on inventory click:
	name of player's current inventory is "&6Bloki"
	cancel event

 

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/
Udostępnij na innych stronach

13 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 1
5 minut temu, Misio12320 napisał:

Witam, potrzebowałbym pomocy do naprawy tego skryptu... Chciałbym by po kliknięciu prawym przyciskiem myszki na tabliczkę powinno zapisać w pliku bloki.yml i później odtwarzane w takiej kolejności:

Podaj ścieżkę YAML w jakiej miałyby być zapisywane te dane.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285419
Udostępnij na innych stronach

  • 0
17 minut temu, Kormic napisał:

Podaj ścieżkę YAML w jakiej miałyby być zapisywane te dane.

 file path "Gracze/GUI"

Folder "Gracze" to folder znajdujący się na początku czyli tam gdzie znajdują się foldery world, world_nether, plugins itd.

Edytowane przez Misio12320
Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285431
Udostępnij na innych stronach

  • 0
10 minut temu, Misio12320 napisał:

 file path "Gracze/GUI"

Folder "Gracze" to folder znajdujący się na początku czyli tam gdzie znajdują się foldery world, world_nether, plugins itd.

Bardziej miałem na myśli jak chciałbyś w przypadku klikanej tabliczki odnosić się do wartości YAML.

Zobacz jaką masz ścieżkę YAML przy tych wartościach. Masz tam '%arg%', a więc tekst. Skoro gracz będzie klikał na tabliczkę, trzeba będzie tam wstawić coś innego.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285437
Udostępnij na innych stronach

  • 0
20 minut temu, Kormic napisał:

Bardziej miałem na myśli jak chciałbyś w przypadku klikanej tabliczki odnosić się do wartości YAML.

 

Nie rozumiem za bardzo. Chyba poprzez odczytanie jej przez Skript.

 

24 minuty temu, Kormic napisał:

Zobacz jaką masz ścieżkę YAML przy tych wartościach. Masz tam '%arg%', a więc tekst. Skoro gracz będzie klikał na tabliczkę, trzeba będzie tam wstawić coś innego.

Zapisywany jest w głównym katalogu.

 

27 minut temu, Kormic napisał:

Skoro gracz będzie klikał na tabliczkę, trzeba będzie tam wstawić coś innego.

Pomyliło mi się z tym prawym kliknięciem myszki. Po wykonaniu komendy oraz podaniu nazwy powinno być wtedy zapisywane. i jeżeli lokalizacja tej tabliczki jest taka sama to nie powinno zapisać. Myślę, że aczkolwiek nie wiem. zrób jak uważasz że będzie dobre i nie będzie kosztowało cię to dużo wysiłku.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285447
Udostępnij na innych stronach

  • 0

może nie na temat ale proponuję robić takie rzeczy przez skript-yaml a nie jakieś skutilities czy inne wildskripty

chodzi o to żeby załadować cały yaml do ramu, pobrać/zmienić wartości i potem cały ten yaml znowu zapisać w pliku
bo tak jak ty robisz - czyli kilkanaście jak nie więcej razy odczytywany jest od nowa plik yml w głównym wątku więc lagi będą
mówiąc w skrócie - Misiek, to jebnie.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285490
Udostępnij na innych stronach

  • 0
14 godzin temu, PanMaruda napisał:

może nie na temat ale proponuję robić takie rzeczy przez skript-yaml a nie jakieś skutilities czy inne wildskripty

chodzi o to żeby załadować cały yaml do ramu, pobrać/zmienić wartości i potem cały ten yaml znowu zapisać w pliku
bo tak jak ty robisz - czyli kilkanaście jak nie więcej razy odczytywany jest od nowa plik yml w głównym wątku więc lagi będą
mówiąc w skrócie - Misiek, to jebnie.

No właśnie, zapomniałem o Skript-Yaml.

 

17 godzin temu, CoFFeIN04 napisał:

A co nie działa?

w GUI się nic nie wyświetla. I nadal się nie wyświetla z Skript-Yaml

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285668
Udostępnij na innych stronach

  • 0
17 godzin temu, Misio12320 napisał:

Pomyliło mi się z tym prawym kliknięciem myszki. Po wykonaniu komendy oraz podaniu nazwy powinno być wtedy zapisywane. i jeżeli lokalizacja tej tabliczki jest taka sama to nie powinno zapisać. Myślę, że aczkolwiek nie wiem. zrób jak uważasz że będzie dobre i nie będzie kosztowało cię to dużo wysiłku.

Co do tego... Mógłbyś pokazać jak wygląda plik "Bloki.yml"? Chcę wiedzieć czy problem jest z zapisem, czy też z odczytem.

Poza tym dobrze byłoby gdybyś sam miał na to pomysł, gdyż ja nie mam zamiaru ci tutaj czegokolwiek narzucać.

Jeżeli już pytałbyś mnie o zdanie, użyłbym zmiennych ze Skripta. Najlepsze i jedyne wspierane przez Skripta rozwiązanie.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285669
Udostępnij na innych stronach

  • 0
24 minuty temu, Kormic napisał:

Co do tego... Mógłbyś pokazać jak wygląda plik "Bloki.yml"? Chcę wiedzieć czy problem jest z zapisem, czy też z odczytem.

Poza tym dobrze byłoby gdybyś sam miał na to pomysł, gdyż ja nie mam zamiaru ci tutaj czegokolwiek narzucać.

Jeżeli już pytałbyś mnie o zdanie, użyłbym zmiennych ze Skripta. Najlepsze i jedyne wspierane przez Skripta rozwiązanie.

Nazwy:
- cicho
- '1'
Block:
  cicho:
    Blok: eastward oak wood wall sign
    Data: 2/4/21, 7:48 PM
    Player: Sebastian_Z_GTA
    Loc:
      x: '-237.5'
      y: '98.5'
      z: '290.5'
  '1':
    Blok: eastward spruce wood wall sign
    Data: 2/5/21, 2:04 PM
    Player: Sebastian_Z_GTA
    Loc:
      x: '-307.5'
      y: '98.5'
      z: '258.5'

Tak wyglądają bloki.yml. 

24 minuty temu, Kormic napisał:

Jeżeli już pytałbyś mnie o zdanie, użyłbym zmiennych ze Skripta. Najlepsze i jedyne wspierane przez Skripta rozwiązanie.

Dobrze, to niech będzie to.

Oraz poprosiłbym o zmianę jak i naprawę:

on inventory click:
	name of player's current inventory is "&6Bloki"
	cancel event

Ponieważ otrzymuję [Skript] In 1.13+ you cannot get the title name of an inventory outside of an InventoryClickEvent, Only if this inventory has an InventoryHolder may it be used in this state. za każdym razem gdy ten skrypt jest włączony.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285675
Udostępnij na innych stronach

  • 0
31 minut temu, Misio12320 napisał:

Dobrze, to niech będzie to.

Oraz poprosiłbym o zmianę jak i naprawę:


on inventory click:
	name of player's current inventory is "&6Bloki"
	cancel event

Ponieważ otrzymuję [Skript] In 1.13+ you cannot get the title name of an inventory outside of an InventoryClickEvent, Only if this inventory has an InventoryHolder may it be used in this state. za każdym razem gdy ten skrypt jest włączony.

Tutaj wyjaśniłem czym jest spowodowany ten błąd oraz jak można go naprawić.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285684
Udostępnij na innych stronach

  • 0
4 godziny temu, Kormic napisał:

Tutaj wyjaśniłem czym jest spowodowany ten błąd oraz jak można go naprawić.

Nie ma innej możliwości sprawdzenia nazwy ekwipunku bez użycia skript-reflect? :thinking:

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285760
Udostępnij na innych stronach

  • 0
2 minuty temu, Misio12320 napisał:

Nie ma innej możliwości sprawdzenia nazwy ekwipunku bez użycia skript-reflect? :thinking:

Z tego co mi wiadomo to to jest błąd z SkQuery i trzeba go niestety tym sposobem łatać.

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285762
Udostępnij na innych stronach

  • 0
23 minuty temu, Kormic napisał:

Z tego co mi wiadomo to to jest błąd z SkQuery i trzeba go niestety tym sposobem łatać.

Naprawione. Co musiałbym wpisać bym widział te dane, które są wypisane w kodzie? :thonk:

 

Odnośnik do komentarza
https://skript.pl/temat/45322-kod-z-zapisem-tabliczek/#findComment-285767
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ę...