Skocz do zawartości
  • 0

Odczytanie pliku .txt/.yml i wypisanie go na czacie


Pytanie

Witam otóż mam problem,chciałbym zrobić skript który będzie działał na zasadzie /rules z essentials,czyli po wpisaniu komendy odczyta co znajduje się w pliku test.txt i to wypisze za pomocą "message".

Póki co wyskrobałem coś takiego:

command /test:
    permission: perm.test
    trigger:
        set {_var} to file contents of "plugins/Skript/scripts/test.txt"
        message "%{_var}%"
        stop

Ale niestety przy włączaniu/przeładowaniu skryptu wyświetla się na czacie komunikat: "Can't understand this expression: 'file contents of plugins/Skript/scripts/test.txt test.sk, line 4:set {_var} to file contents of plugins/Skript/scripts/test.txt

Od razu mówię że rozwiązanie jest zaczerpnięte z skUnity (a dokładniej to set {_var} ) a sam post pochodzi z 2017,więc całe "Nie zrozumienie" jest spowodowane tym że w skript'cie się pozmieniało,lecz niestety nie udało mi się nic lepszego znaleźć więc przychodzę z do was z pytaniem,czy jest w ogóle możliwe wypisać coś z pliku .txt/yml na czacie za pomocą message?

Aa i używam skripta2.5-alpha1 na paperspigot 1.15.2 

Również próbowałem z skript-yaml ale nie potrafię za pomocą message wypisać już załadowanej wartości do pamięci RAM za pomocą (do załadowania użyłem load yaml)

 

Z góry dziękuje za każdą odpowiedź.

Edytowane przez PiitPL
Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Nie posiadam,zaraz doinstaluje i dam znać czy coś uległo zmianie

 

Z tego co widzę nie ma skUtilties dla spigota 1.15

 

@xAxee zainstalowałem skUtilties i działa bez problemu,ale jest nowy problem,

Teraz pokazuje na czacie gdy zrobie reload: {_var} can only be set to one object, not more

 

Okej problem rozwiązałem, zmieniłem "{_var}" na "{_var::*}" aby można było "zmieścić więcej niż jeden obiekt" w var.

Kod jeśli by ktoś potrzebował:

command /test:
    permission: perm.test
    trigger:
        set {_var::*} to file contents of "plugins/Skript/scripts/test.txt"
        message "%{_var::*}%"
        stop

Tak po za tym mam jeszcze jedno pytanie czy jest możliwość przeniesienia do nowej linii ? Próbowałem z %nl% %newline% \nl ale na czacie wyświetla że nie "rozumie ekspresji": Can't understand this expression: newline (test.sk, line 5:message "%{_var::*}%%newline%".

Chciałbym aby wypisało tak jak jest w pliku .txt:

tekst1
tekst2
tekst3
tekst4

A aktualnie wypisuje tak:

https://imgur.com/a/E7Mp3xd

Edytowane przez LeQuLa
Nieaktywny

Łączę posty.

Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/#findComment-239469
Udostępnij na innych stronach

  • 0
send "%{_var::*}%      
#coś, coś, coś and coś


send {_var::*}
#coś
#coś
#coś
#coś
  

#ewentualnie
set {_} to join {_var::*} using nl
send {_}
#coś
#coś
#coś
#coś

 

Edytowane przez PanMaruda
Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/#findComment-239499
Udostępnij na innych stronach

  • 0

@PanMaruda Dzięki wielkie,ale mam jeszcze jedno pytanie,czy jest możliwość wyświetlania kolorów? Np.&4 ?

Bo teraz wyświetla w następujący sposób: 

https://imgur.com/a/7MEXy4r

Dodam że chciałbym móc zdefiniować kolor w tym pliku tekstowym tak jak to jest w motd.txt dla essentials.

Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/#findComment-239591
Udostępnij na innych stronach

  • 0
42 minuty temu, PiitPL napisał:

@PanMaruda Dzięki wielkie,ale mam jeszcze jedno pytanie,czy jest możliwość wyświetlania kolorów? Np.&4 ?

Bo teraz wyświetla w następujący sposób: 

https://imgur.com/a/7MEXy4r

Dodam że chciałbym móc zdefiniować kolor w tym pliku tekstowym tak jak to jest w motd.txt dla essentials.

send colored {_}

 

Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/#findComment-239608
Udostępnij na innych stronach

  • 0

@xAxee Dziękuje ślicznie, działa świetnie.

Ale teraz mam kolejny problem (xD), przegrałem skrypt wraz z plikiem txt z mojej maszyny lokalnej (wyłączając przed tym skrypt rzecz jasna) na główną (craftserve), skrypt odpala się normalnie ale w momencie kiedy chce go wywołać go komendą "/test" skUtilties wywala warn'a:

[skUtilities] v0.9.2: File: '/home/servers/716695/plugins/Skript/scripts/test.txt' Input length = 1 (SExprFileContents.class)

i message nie przychodzi.

 

Z tego co zauważyłem jest to wina polskich znaków, bo w momencie w którym w pliku .txt nie ma polskich znaków skrypt działa.

Próbowałem zmienić kodowanie pliku .txt na ANSI jak i UTF-8 ale nic to nie zmieniło, dodam jeszcze że maszyna lokalna działa na Windowsie gdzie główna na Linuksie i stawiam że w tym jest pies pogrzebany.

Aa i wersje paperspigota, skript i skUtilties mam tą samą na obu maszynach.

Edytowane przez PiitPL
Odnośnik do komentarza
https://skript.pl/temat/37729-odczytanie-pliku-txtyml-i-wypisanie-go-na-czacie/#findComment-239643
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ę...