Skocz do zawartości

Jak Zrobić? #2 "Sklep w gui"


Gość Usunięty#5541

Rekomendowane odpowiedzi

Gość Usunięty#5541

Dziś pokażę jak zrobić sklep w gui.

Jak to będzie wyglądało:

036ss.png

Potrzebować będziemy:

- Chestcommands

LINK DO POBRANIA

- Dużo czasu

 

Od razu piszę, że nie jest to szybka robota, cała ta strona zajęła 348 linijek (w tym #, odstępy)

Krok 1:

- Wchodzimy w /plugins/ChestCommands/menu

- Tworzymy tam nowy plik .yml na przykład sklep.yml

- Wpisujemy coś takiego

menu-settings:
 name: '&a&lSklep' #Nazwa "skrzynki"(na zdjęciu wyżej widać)
 rows: 6 #ilość okienek w pionie
 command: 'sklep' #komenda, która wywoła otwarcie sklepu

- Następnie stworzymy kategorie. (Są to te przedmioty od dołu, u mnie kamień, diament, sadzonka,jabłko, statyw alchemiczny, redstone, kość)

*Robimy odstęp (spację)

*Wklejamy coś takiego

Kategoria1: #nazwa w configu, nie mogą być 2 takie same
  NAME: '&c&lBudulce' #nazwa przedmiotu
  LORE: #napis pod nazwą przedmiotu
  - '&7Kategoria.' 
  ID: stone #id przedmiotu
  POSITION-X: 1 #pozycja w poziomie
  POSITION-Y: 6  #pozycja w pionie
  COMMAND: 'open:nazwa-pliku.yml'  #przełączanie się pomiędzy kategoriami
Kategoria2:
  NAME: '&c&lMinerały'
  LORE:
  - '&7Kategoria.'
  ID: diamond
  POSITION-X: 2
  POSITION-Y: 6
  COMMAND: 'open:nazwa-pliku.yml'  

Kategoria3:
  NAME: '&c&lRośliny'
  LORE:
  - '&7Kategoria.'
  ID: sapling
  POSITION-X: 3
  POSITION-Y: 6
  COMMAND: 'open:nazwa-pliku.yml'  

Kategoria4:
  NAME: '&c&lJedzenie'
  LORE:
  - '&7Kategoria.'
  ID: apple
  POSITION-X: 4
  POSITION-Y: 6
  COMMAND: 'open:nazwa-pliku.yml'  

Kategoria5:
  NAME: '&c&lAlchemia'
  LORE:
  - '&7Kategoria.'
  ID: brewing_stand
  POSITION-X: 5
  POSITION-Y: 6
  COMMAND: 'open:nazwa-pliku.yml'  

Kategoria6: 
  NAME: '&c&lMechanizmy' 
  LORE:
  - '&7Kategoria.' 
  ID: redstone
  POSITION-X: 6 
  POSITION-Y: 6 
  COMMAND: 'open:nazwa-pliku.yml'  

Kategoria7:
  NAME: '&c&lRóżne'
  LORE:
  - '&7Kategoria.'
  ID: bone
  POSITION-X: 7
  POSITION-Y: 6
  COMMAND: 'open:nazwa-pliku.yml' 

Każda kategoria i jej strona (strony opiszę poźniej) posiada własny plik .yml, możemy to nazywać jak chcemy np. sklep.yml sklep2.yml itd.

Pierwsza strona składa się z:

- kategorii

- pierwszej strony Budulców

A więc tak pod Kategoriami, umieszczamy kod sklepu

1: #nazwa w configu, ja ustawiłem 1 (każdy przedmiot kupić można w ilości 1-10-64, dlatego nazwałem to w ten sposób 1, 1-2, 1-3)
  COMMAND: 'give: cobblestone; tell: &7Zakupiłeś/aś &a1 bruk &7za &a€2' #wywoływanie komend (give: daję dany przedmiot, tell przekazuje informacje)
  NAME: '&7&lBruk' #nazwa przedmiotu (po zakupie dostajemy przedmiot z domyślną nazwą, w tym wypadku Stone (pl: kamień)
  LORE: #lore czyli to co wyświetla się pod nazwą przedmiotu, w tym wypadku cena przedmiotu
  - '&aCena: €2'
  ID: cobblestone #id przedmiotu, który wyświelta się w sklepie
  AMOUNT: 1 #ilość, która pojawia się w sklepie
  PRICE: 2 #cena
  POSITION-X: 1 #pozycja pozioma
  POSITION-Y: 1 #pozycja pionowa
  KEEP-OPEN: true   #po zakupie sklep nadal będzie otwarty (w przypadku false, po zakupie sklep zamknię się)
1-2:
  COMMAND: 'give: cobblestone,10; tell: &7Zakupiłeś/aś &a10 bruku &7za &a€20' 
  NAME: '&7&lBruk'
  LORE:
  - '&aCena: €20'
  ID: cobblestone
  AMOUNT: 10
  PRICE: 20
  POSITION-X: 2
  POSITION-Y: 1
  KEEP-OPEN: true   
1-3:
  COMMAND: 'give: cobblestone,64; tell: &7Zakupiłeś/aś &a64 bruku &7za &a€128'
  NAME: '&7&lBruk'
  LORE:
  - '&aCena: €128'
  ID: cobblestone
  AMOUNT: 64
  PRICE: 128
  POSITION-X: 3
  POSITION-Y: 1
  KEEP-OPEN: true  
2-1:
  COMMAND: 'give: stone; tell: &7Zakupiłeś/aś &a1 kamienia &7za &a€3'
  NAME: '&7&lKamień'
  LORE:
  - '&aCena: €3'
  ID: stone
  AMOUNT: 1
  PRICE: 3
  POSITION-X: 1
  POSITION-Y: 2 
  KEEP-OPEN: true  
2-2:
  COMMAND: 'give: stone,10; tell: &7Zakupiłeś/aś &a10 kamienia &7za &a€30'
  NAME: '&7&lKamień'
  LORE:
  - '&aCena: €30'
  ID: stone
  AMOUNT: 10
  PRICE: 30
  POSITION-X: 2
  POSITION-Y: 2  
  KEEP-OPEN: true  
2-3:
  COMMAND: 'give: stone,64; tell: &7Zakupiłeś/aś &a64 kamienia &7za &a€192'
  NAME: '&7&lKamień'
  LORE:
  - '&aCena: €192'
  ID: stone
  AMOUNT: 64
  PRICE: 192
  POSITION-X: 3
  POSITION-Y: 2 
  KEEP-OPEN: true   
3-1:
  COMMAND: 'give: stone_brick; tell: &7Zakupiłeś/aś &a1 kamienną cegłę &7za &a€9'
  NAME: '&7&lKamienna cegła'
  LORE:
  - '&aCena: €9'
  ID: stone_brick
  AMOUNT: 1
  PRICE: 192
  POSITION-X: 1
  POSITION-Y: 3 
  KEEP-OPEN: true  
3-2:
  COMMAND: 'give: stone_brick,10; tell: &7Zakupiłeś/aś &a10 kamiennych cegieł &7za &a€90'
  NAME: '&7&lKamienna cegła'
  LORE:
  - '&aCena: €90'
  ID: stone_brick
  AMOUNT: 10
  PRICE: 192
  POSITION-X: 2
  POSITION-Y: 3  
  KEEP-OPEN: true  
3-3:
  COMMAND: 'give: stone_brick,64; tell: &7Zakupiłeś/aś &a64 kamiennych cegieł &7za &a€576'
  NAME: '&7&lKamienna cegła'
  LORE:
  - '&aCena: €576'
  ID: stone_brick
  AMOUNT: 64
  PRICE: 192
  POSITION-X: 3
  POSITION-Y: 3 
  KEEP-OPEN: true  
4-1:
  COMMAND: 'give: stone:5,1; tell: &7Zakupiłeś/aś &a1 andezyt &7za &a€4'
  NAME: '&7&lAndezyt'
  LORE:
  - '&aCena: €4'
  ID: stone:5
  AMOUNT: 1
  PRICE: 4
  POSITION-X: 1
  POSITION-Y: 4 
  KEEP-OPEN: true  
4-2:
  COMMAND: 'give: stone:5,10; tell: &7Zakupiłeś/aś &a10 andezytu &7za &a€40'
  NAME: '&7&lAndezyt'
  LORE:
  - '&aCena: €40'
  ID: stone:5
  AMOUNT: 10
  PRICE: 40
  POSITION-X: 2
  POSITION-Y: 4  
  KEEP-OPEN: true  
4-3:
  COMMAND: 'give: stone:5,64; tell: &7Zakupiłeś/aś &a64 andezytu &7za &a€256'
  NAME: '&7&lAndezyt'
  LORE:
  - '&aCena: €256'
  ID: stone:5
  AMOUNT: 64
  PRICE: 256
  POSITION-X: 3
  POSITION-Y: 4 
  KEEP-OPEN: true  
5-1:
  COMMAND: 'give: stone:3,1; tell: &7Zakupiłeś/aś &a1 dioryt &7za &a€4'
  NAME: '&7&lDioryt'
  LORE:
  - '&aCena: €4'
  ID: stone:3
  AMOUNT: 1
  PRICE: 4
  POSITION-X: 5
  POSITION-Y: 1 
  KEEP-OPEN: true  
5-2:
  COMMAND: 'give: stone:3,10; tell: &7Zakupiłeś/aś &a10 diorytu &7za &a€40'
  NAME: '&7&lDioryt'
  LORE:
  - '&aCena: €40'
  ID: stone:3
  AMOUNT: 10
  PRICE: 40
  POSITION-X: 6
  POSITION-Y: 1  
  KEEP-OPEN: true  
5-3:
  COMMAND: 'give: stone:3,64; tell: &7Zakupiłeś/aś &a64 diorytu &7za &a€256'
  NAME: '&7&lDioryt'
  LORE:
  - '&aCena: €256'
  ID: stone:3
  AMOUNT: 64
  PRICE: 256
  POSITION-X: 7
  POSITION-Y: 1
  KEEP-OPEN: true  
6-1:
  COMMAND: 'give: stone:1,1; tell: &7Zakupiłeś/aś &a1 granit &7za &a€4'
  NAME: '&7&lGranit'
  LORE:
  - '&aCena: €4'
  ID: stone:1
  AMOUNT: 1
  PRICE: 4
  POSITION-X: 5
  POSITION-Y: 2 
  KEEP-OPEN: true  
6-2:
  COMMAND: 'give: stone:1,10; tell: &7Zakupiłeś/aś &a10 granitu &7za &a€40'
  NAME: '&7&lGranit'
  LORE:
  - '&aCena: €40'
  ID: stone:1
  AMOUNT: 10
  PRICE: 40
  POSITION-X: 6
  POSITION-Y: 2  
  KEEP-OPEN: true  
6-3:
  COMMAND: 'give: stone:1,64; tell: &7Zakupiłeś/aś &a64 granitu &7za &a€256'
  NAME: '&7&lGranit'
  LORE:
  - '&aCena: €256'
  ID: stone:1
  AMOUNT: 64
  PRICE: 256
  POSITION-X: 7
  POSITION-Y: 2
  KEEP-OPEN: true  
7-1:
  COMMAND: 'give: 45,1; tell: &7Zakupiłeś/aś &a1 blok cegły &7za &a€15'
  NAME: '&7&lBlok cegły'
  LORE:
  - '&aCena: €15'
  ID: 45
  AMOUNT: 1
  PRICE: 15
  POSITION-X: 5
  POSITION-Y: 3 
  KEEP-OPEN: true  
7-2:
  COMMAND: 'give: 45,10; tell: &7Zakupiłeś/aś &a10 bloków cegły &7za &a€150'
  NAME: '&7&lBlok cegły'
  LORE:
  - '&aCena: €150'
  ID: 45
  AMOUNT: 10
  PRICE: 150
  POSITION-X: 6
  POSITION-Y: 3  
  KEEP-OPEN: true  
7-3:
  COMMAND: 'give: 45,64; tell: &7Zakupiłeś/aś &a64 bloków cegły &7za &a€960'
  NAME: '&7&lBlok cegły'
  LORE:
  - '&aCena: €960'
  ID: 45
  AMOUNT: 64
  PRICE: 960
  POSITION-X: 7
  POSITION-Y: 3  
  KEEP-OPEN: true  
8-1:
  COMMAND: 'give: obsidian,1; tell: &7Zakupiłeś/aś &a1 obsydian &7za &a€90'
  NAME: '&7&lObsydian'
  LORE:
  - '&aCena: €90'
  ID: obsidian
  AMOUNT: 1
  PRICE: 90
  POSITION-X: 5
  POSITION-Y: 4 
  KEEP-OPEN: true  
8-2:
  COMMAND: 'give: obsidian,10; tell: &7Zakupiłeś/aś &a10 obsydianu &7za &a€900'
  NAME: '&7&lObsydian'
  LORE:
  - '&aCena: €900'
  ID: obsidian
  AMOUNT: 10
  PRICE: 900
  POSITION-X: 6
  POSITION-Y: 4  
  KEEP-OPEN: true  
8-3:
  COMMAND: 'give: obsidian,64; tell: &7Zakupiłeś/aś &a64 obsydianu &7za &a€5760'
  NAME: '&7&lObsydian'
  LORE:
  - '&aCena: €5760'
  ID: obsidian
  AMOUNT: 64
  PRICE: 5760
  POSITION-X: 7
  POSITION-Y: 4
  KEEP-OPEN: true  

W niektórych miejscach jest inaczej niż w innych czyli

give: cobblestone; tell...

give: cobblestone,10; tell...

,10 oznacza ilość, którą gracz ma otrzymać

 

Teraz pokażę jak zrobić następną stronę i poprzednią (na 1 stronie, poprzednia strona przełącza do ostatniej)

(u mnie kategorie nazywają się np. sklepbudo2.yml (2- strona)

next-page: #nazwa w configu
  COMMAND: 'open:nazwa-kategori-i-jej-strony.yml' #komenda ta przekazuję cię na kolejną stronę
  NAME: '&a&lNastępna Strona' #nazwa przedmiotu
  LORE: #lore czyli napis pod nazwą przedmiotu, w tym wypadku numer strony, na która cię przerzuci
  - '&7Strona &a2/14'
  ID: map #id przedmiotu, w tym wypadku mapa najlepiej pasuje
  AMOUNT: 1 #ilość przedmiotu, w tym wypadku numer aktualnej strony
  POSITION-X: 9 #pozycja w poziomie
  POSITION-Y: 2 #pozycja w pionie
  
#Poprzednia strona
back-page:
  COMMAND: 'open:sklepbudo14.yml'
  NAME: '&c&lPoprzednia Strona'
  LORE:
  - '&7Strona &a14/14'
  ID: map
  AMOUNT: 2
  POSITION-X: 9
  POSITION-Y: 3     

To na tyle

Skończyliśmy

Jeszcze taka informacja co do następnych stron

W kolejnych stronach czyli plikach .yml, wklejamy tylko kategorię bez żadnych edycji. Resztę wklejamy i edytujemy

Webp.net-gifmaker.gif

 

@VaeNN

@Ewald

@Mr Janek

@L I S E K K

@G3Rout

@FLAX

Losowe osoby

 

Edytowane przez MasterNW
Odnośnik do komentarza
https://skript.pl/temat/21994-jak-zrobi%C4%87-2-sklep-w-gui/
Udostępnij na innych stronach

  • Nieaktywny zablokował(a) ten temat
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ę...