Skocz do zawartości


Zdjęcie

[CB]Sklep ze skrzynek


  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 Hasanoes

Hasanoes

    Nowy

  • Użytkownik
  • 4 postów
  • Hasanoes_022
  • PolandBOX

Napisano 07 March 2018 - 13:34

Cześć!
Mam pytanie.

Jak zrobić sklep w skrzynkach jak u Szymka na HeadWars:




craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 MsMaciek

MsMaciek

    Nowy

  • Użytkownik
  • 7 postów
  • MsMaciek

Napisano 12 March 2018 - 18:30

To jest skomplikowane. Najpierw musisz się nauczyć jak w sprawdzać (testfor). Jaką walutę chcesz zastosować? Punkty niewidzialne czy szmaragdy lub inne przedmioty?

PS: Pisze z telefonu więc ci teraz nie pomogę.

PSS: Musisz zrozumieć działanie command blocków. Bo jak będziesz nie rozumiał to później nie zedytujesz tego.

#3 Pufferfish

Pufferfish

    Nowy

  • Użytkownik
  • 9 postów

Napisano 20 May 2018 - 14:38

Najprościej:

Sprawdzasz czy gracz ma item ze sklepu (skrzynki) w ekwipunku np. hopper Następnie sprawdzasz czy ma odpowiednią ilość np. złota Jeśli nie ma to usuwasz item z ekwipunku (czyli hopper). Jeśli ma to też zabierasz ten hopper ale dajesz mu item który kupił (np. chleb) i zabierasz złoto. Skrzynkę ciągle resetujesz aby itemy w niej zawsze był.


image.png

Też możesz mieć taki licznik: http://visitorsflags.com/


#4 iZer0

iZer0

    Nowy

  • Użytkownik
  • 52 postów
  • iZer05

Napisano 27 June 2018 - 07:14

Na 1.12 nie chce mi się tego pisać, więc napisze to na 1.13 i ewentualnie z tego mechanizmu przerobisz sobie na wersje 1.12.

Wszystkie komendy wpisujesz do funkcji, lub do rządku commandblocków (pierwszy repeat, always active i reszta chain, always active) + zmień kordynaty.

Stawiasz skrzynie z itemami, które mają customtag typu "Click1", "Click2" czy "Click3":



Sprawdzasz czy gracz ma item w invetory i jeśli tak, to dajesz mu tag:


Jeśli ma dany tag to wykonujesz komende:


Czyścisz item z ekwipunku:


Usuwasz graczowi tag:


Na wypadek zabijasz itemy (gdyby, ktoś kliknął Q, czytaj notkę niżej):
[spoiler]
kill @e[type=item,nbt={Item:{tag:{Click:1}}}]
kill @e[type=item,nbt={Item:{tag:{Click:2}}}]
kill @e[type=item,nbt={Item:{tag:{Click:3}}}]

A i ważne: ten system jest na sprawdzanie czy gracz kliknął na item, a nie czy go wyrzucił za pomocą nasunięcia na niego i kliknięcia "Q". Jak chcesz, na wyrzucenie to musisz sprawdzać czy itemu w skrzyni nie ma, zamiast tego czy gracz ma item w EQ, ale wtedy trudniej określić gracza, który wyrzucił ten item, ze skrzyni.
Mechanizm może zawierać błędy, bo pisałem to na telefonie bez sprawdzania, jadąc samochodem, dlatego lepiej przejrzeć, zamiast robić copy-paste :shrug:


Użytkownik iZer0 edytował ten post 30 June 2018 - 11:28


#5 Katniss

Katniss

    Twórca "Mrocznej klątwy"

  • Senior Moderator
  • 2947 postów
  • Katniss#2260
  • Katniss

Napisano 27 June 2018 - 15:33

A i ważne: ten system jest na sprawdzanie czy gracz kliknął na item, a nie czy go wyrzucił za pomocą nasunięcia na niego i kliknięcia "Q". Jak chcesz, na wyrzucenie to musisz sprawdzać czy itemu w skrzyni nie ma, zamiast tego czy gracz ma item w EQ, ale wtedy trudniej określić gracza, który wyrzucił ten item, ze skrzyni.

Od siebie dodam, że ponieważ wyrzucone przedmioty zawsze lecą z "brzucha" danego gracza, można zrobić /execute as @e[type=item,nbt={Item:{Click1}}] run say @p w repeating cmdblocku aby wykryć najbliżej którego gracza jest dany item.

Wada jest taka, że gdy jest dużo graczy "w sobie", to wtedy może nie wyłapać który wyrzucił. Lub jeśli serwer ma laga, też może nie wyłapać.

 

@Edit

 

No i masz błąd w zabijaniu itemów, wyłapie Ci gdy dany entity-item ma na sobie tag Click:1, a tag nadałeś wewnątrz przedmiotu, "noszonego" przez dany entity-item. FIX: /kill @e[type=item,nbt={Item:{Click1}}]


Użytkownik Katniss edytował ten post 27 June 2018 - 15:35

Mapa Adventure mojego autorstwa - "Mroczna klątwa" v2.1 (Na wersję MC 1.13.2)
Questy, NPC, niestandardowe przedmioty, bossy, amulety, modele 3D, mana i wiele więcej! BEZ MODÓW!
 

Siege Settlements - coś lepszego niż typowy RTS - https://www.reddit.c...egeSettlements/


#6 iZer0

iZer0

    Nowy

  • Użytkownik
  • 52 postów
  • iZer05

Napisano 27 June 2018 - 19:42

Jasne, dzięki za poprawienie. :)
Do tego sprawdzania najbliższego gracza, zawsze można dołączyć scoreboard liczący wyrzucenie danego przedmiotu.