Skocz do zawartości
  • 0

Tworzenie i odczytywanie configu


Pytanie

Witam prosiłbym o przykładowy skrypt z pobieraniem configu oraz jego odczytywaniem.

Link z którego config ma się pobrać: https://raw.githubusercontent.com/KubaKulkowski/AM/master/config

Jeżeli jednak by nie można było z tego configu to proszę o zrobienie jakiegoś podobnego.

A co do odczytywania to chcę aby było to komendą.

Mniej więcej tak ma się odczytywać:

Z góry dziękuję.

 

command /inff:
	trigger:
		send "Random: %{Random}%" to all players
		send "Tag: %{wTag}%" to all players
		send "Czas: %{Czas}%" to all players
		send "Tag: %{Tag}%" to all players
		send "1: %{1}%" to all players
		send "2: %{2}%" to all players
		send "3: %{3}%" to all players
		send "4: %{4}%" to all players
		send "5: %{5}%" to all players
		send "6: %{6}%" to all players
		send "7: %{7}%" to all players
		send "8: %{8}%" to all players
Edytowane przez HeezQ
HeezQ

Usuwam nadmierne formatowanie

Temat został zamknięty ponieważ autor już go nie porusza więc uznaję go za rozwiązany. //TakiJakTy

Notatka dodana przez HeezQ

Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Podana przez ciebie konfiguracja nie ma prawa działać, polecam zapoznać się z podstawami yaml.

opcje:
  random: false
  tag: false
  tag: '[tag]'
  czas: 30

wiadomosci:
  - 'Pierwsza wiadomosc'
  - 'Druga wiadomosc'
  - 'Trzecia wiadomosc
  #(...)
#----Ścieżka do pliku konfiguracyjnego
options:
	path: plugins/Skript/konfiguracja.yml

#----Pobieranie pojedynczej wartości z konfiguracji:
set {_random} to yaml value "opcje.random" from file "{@path}"

#----Pobieranie listy z konfiguracji:
set {_wiadomosci::*} to yaml list "wiadomosci" from file "{@path}"

Do obsługi yaml w Skripcie będzie potrzebny dodatek SkUtilities

Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/#findComment-224221
Udostępnij na innych stronach

  • 0
17 godzin temu, ZiemniaQ napisał:

Podana przez ciebie konfiguracja nie ma prawa działać, polecam zapoznać się z podstawami yaml.


opcje:
  random: false
  tag: false
  tag: '[tag]'
  czas: 30

wiadomosci:
  - 'Pierwsza wiadomosc'
  - 'Druga wiadomosc'
  - 'Trzecia wiadomosc
  #(...)

#----Ścieżka do pliku konfiguracyjnego
options:
	path: plugins/Skript/konfiguracja.yml

#----Pobieranie pojedynczej wartości z konfiguracji:
set {_random} to yaml value "opcje.random" from file "{@path}"

#----Pobieranie listy z konfiguracji:
set {_wiadomosci::*} to yaml list "wiadomosci" from file "{@path}"

Do obsługi yaml w Skripcie będzie potrzebny dodatek SkUtilities

No dobrze, ja miałem taki config:

on script load:
    set {_Opcje::*} to configuration section "Opcje" get of "plugins/Skript/scripts/AM/config.yml"
    loop {_Opcje::*}:
        set {_Random} to single value "Opcje.Random" get of "plugins/Skript/scripts/AM/config.yml"
        set {_Tag} to single value "Opcje.Tag" get of "plugins/Skript/scripts/AM/config.yml"
        set {_Czas} to single value "Opcje.Czas" get of "plugins/Skript/scripts/AM/config.yml"

Mam jeszcze pytanie jak zrobić taki config?

(To tylko kawałek configu):

# ---------------------------- { MESSAGE } ----------------------------
#Jezeli nie chcesz zadnej wiadomosci usun ponizsze linijki
#   Zmienne:
#{ITEM} - Nazwa kupionego itemu
#{COIN} - Stan konta gracza
#{PRICE} - Cena itemu

Default-Message:
  Buy: '&7Zakupiles &6{ITEM} &7Twoj obecny stan konta: &6{COIN}'
  Sell: '&7Sprzedales &6{ITEM} &7Twoj obecny stan konta: &6{COIN}'
Default-Price-Message:
  Buy: '&7Nie stac sie na &6{ITEM} &c|| &8{COIN}/{PRICE}'
  Sell: '&7Nie masz {ITEM}!'
SellAll-Message: '&7Sprzedales wszystkie itemy &6{ITEMS} &7za &6{COINS}&7 Posiadasz teraz &6{COIN} &7Kasy'

Link do tematu (AxShop) Bo mnie interesuje ten sposób co użył autor AxShopu: 

 

Edytowane przez KukiGamingYT
Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/#findComment-224229
Udostępnij na innych stronach

  • 0
30 minut temu, KukiGamingYT napisał:

Mam jeszcze pytanie jak zrobić taki config?

messages.yml

messages:
  join: "&aWitaj, &6{PLAYER}&a."

skrypt

on join:
	set {_msg} to yaml value "messages.join" from file "messages.yml"
	if {_msg} contains "{PLAYER}":
		replace "{PLAYER}" with "%player%" in {_msg}
	send "%coloured {_msg}%"

 

Edytowane przez Shooterowy
Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/#findComment-224230
Udostępnij na innych stronach

  • 0
1 minutę temu, Shooterowy napisał:

messages.yml


message:
  join: "&aWitaj, &6{PLAYER}&a."

skrypt


on join:
	set {_msg} to yaml value "message.join" from file "messages.yml"
	if {_msg} contains "{PLAYER}":
		replace "{PLAYER}" with "%player%" in {_msg}
	send "%coloured {_msg}%"

 

Ale chodziło żeby był config

1. Że można jakoś dodać notatki (# NOTATKA lub // Notatka)

2. Tak bardziej zaawansowany że nie jest to robione "set {_,msg}  to yaml value "mess..." tylko mniej więcej tak:

function AxShopLoad(t: text=""):
    Broadcast "&a[AxShop] &eLadowanie sklepu..."
    loop ("Sell" and "Buy"):
        set {_%loop-value%::*} to yaml nodes "Items" from file "AxShop/%loop-value%.yml"
        send "&a[AxShop] &eUsunieto config &b%loop-value-1%&e..." to console
        clear {AxShop::config::items::%loop-value%::*}
        loop {_%loop-value%::*}:
            loop ("Execute-Console" and "Execute-Player" and "Item.Item" and "Item.Name", "Item.Lore", "Gui.Name", "Gui.Lore", "Gui.Item", "Message", "Price-Message", "Price"):
                set {AxShop::config::items::%loop-value-1%::%loop-value-2%.%loop-value-3%} to yaml value "Items.%loop-value-2%.%loop-value-3%" from file "AxShop/%loop-value-1%.yml"
                add 1 to {_G}
                if {AxShop::config::items::%loop-value-1%::%loop-value-2%.%loop-value-3%} is not set:
                    delete {AxShop::config::items::%loop-value-1%::%loop-value-2%.%loop-value-3%}
                    remove 1 from {_G}
        send "&a[AxShop] &eWczytano nowy config &b%loop-value-1% &c(%size of {_%loop-value%::*}% itemow) &9(%{_G}% zmiennych)" to console
    send "&a[AxShop] &eLadowanie &aconfig.yml!&e..." to console
    loop ("Gui.Sell.Back.Slot" and "Gui.Buy.Back.Slot" and "Gui.Sell.Back.Name" and "Gui.Sell.Back.Lore" and "Gui.Sell.Back.Item" and "Gui.Buy.Back.Name" and "Gui.Buy.Back.Lore" and "Gui.Buy.Back.Item" and "SellAll-Message" and "Default-Price-Message.Buy" and "Default-Price-Message.Sell" and "Default-Message.Buy" and "Default-Message.Sell" and "Gui.Main.Name" and "Gui.Main.Size", "Gui.Sell.Size", "Gui.Buy.Size", "Gui.Sell.Name", "Gui.Buy.Name", "Gui.Main.BackGround.Name", "Gui.Main.BackGround.Item", "Gui.Main.BackGround.Lore", "Gui.Main.Coin.Item", "Gui.Main.Coin.Slot", "Gui.Main.Coin.Name", "Gui.Main.Coin.Lore", "Gui.Main.Buy.Item", "Gui.Main.Buy.Slot", "Gui.Main.Buy.Name", "Gui.Main.Buy.Lore", "Gui.Main.Sell.Item", "Gui.Main.Sell.Slot", "Gui.Main.Sell.Name", "Gui.Main.Sell.Lore"):
        set {AxShop::config::config::%loop-value%} to yaml value "%loop-value%" from file "AxShop/Config.yml"
        add 1 to {_Z}
        if {AxShop::config::config::%loop-value%} is not set:
            delete {AxShop::config::config::%loop-value%}
            remove 1 from {_Z}
    send "&a[AxShop] &eZaladowano &aconfig.yml! &9(%{_Z}% zmiennych)" to console
    send "&a[AxShop] &eZaladowano &a%size of {AxShop::player::*}% &eUzytkownikow" to console
    Broadcast "&a[AxShop] &eZaladowano sklep!"
    send "&c[AxShop] &cJezeli przykładowe opcje sie nie pobrały pobierz je ręcznie: http://www.mediafire.com/file/336qnwm43uww3ar/AxShop.rar/file" to console

Jest ktoś w stanie wytłumaczyć jak ten kod powyżej działa?

Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/#findComment-224231
Udostępnij na innych stronach

  • 0
7 minut temu, KukiGamingYT napisał:

Jest ktoś w stanie wytłumaczyć jak ten kod powyżej działa?

Dziala na bardzo prostej metodzie. 

Zapisuje wszystkie opcje które potrzebuję do zmiennej grupowej, następnie ja loopuje i pobieram opcje %loop-value% z configu do zmiennej. 

 

47 minut temu, KukiGamingYT napisał:

Link do tematu (AxShop) Bo mnie interesuje ten sposób co użył autor AxShopu: 

Spytaj autora :lulkappa:

Odnośnik do komentarza
https://skript.pl/temat/34889-tworzenie-i-odczytywanie-configu/#findComment-224233
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ę...