Skocz do zawartości


Zdjęcie

Generator Diamentów


Najlepsza odpowiedź Katniss , 06 April 2019 - 12:12

Nie używaj komparatorów, kropka.

 

Tylko funkcji. https://minecraft.ga..._(Java_Edition) oraz /execute if ... run ...

 

Timer lepszy 20-tickowy zrobić na function tagu 'tick' (wtedy każda sekunda to 20 ticków, i zamiast w sprawdzeniu score'a wpisywać 1/2/3/etc. to wpisujesz 20/40/60/etc.)

 

Lepiej będzie nazwę dać na data merge - /execute as @e[type=armor_stand,tag=SD] if score @s SD matches 1 run data merge @s {CustomName:"..."}

Zamiast respić całkowicie nowego armorstanda, po prostu mu nazwę zmieni.

 

A respienie itemka to analogicznie -  /execute as @e[type=armor_stand,tag=SD] if score @s SD matches 0.. run summon item ~ ~ ~ {Item:{...}}

Przejdź do postu


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

#1 ZjemCieBezSera

ZjemCieBezSera

    Nowy

  • Użytkownik
  • 69 postów

Napisano 06 April 2019 - 11:35

Zrobiłem generator diamentów na komendach, tak że diament respi się co 6 ale chce zrobić że nad generatorem wyświetli się za ile diament się zrespi (diament zrespi się za: 5.. 4.. 3.. 2.. 1.. 0.. PYK nagle jest diament) zrobiłem nawet scoreboarda odliczającego do 6. Miałem pomysł że jeśli scoreboard "SD" (Sekundy Diamenty) wyniesie 1 to nad generatorem zrespi się niewidzalny armor stand o nazwie 5s 

, jeżeli scoreboard SD wyniesie 2 to poprzedni armor stand sie usunie to zrespi się nowy tylko że z nazwą 4s itd.

ale jak zrobiłem komende: "execute unless entity @e[name=SD,scores={SD=1}]" i obok postawiłem komparator to nawet jeśli scoreboard był równy 5 to ten commandblock uznawał że jest równy 1...

chce zrobić coś takiego co jest na hypixelu pomorzecie? może zamiast tej komenyd: "execute unless entity @e[name=SD,scores={SD=1}]" dać inną? jak tak to jaką? z góry thx i sory za błędy w pisowni ale przyzwyczajam się do klawiatury a jak pisze to nie patrzę na klawisze... xd



craftportal

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

#2 Katniss

Katniss

    Twórca "Mrocznej klątwy"

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

Napisano 06 April 2019 - 12:12   Najlepsza odpowiedź

Nie używaj komparatorów, kropka.

 

Tylko funkcji. 

By zobaczyć linki musisz się zalogować lub zarejestrować

 oraz /execute if ... run ...

 

Timer lepszy 20-tickowy zrobić na function tagu 'tick' (wtedy każda sekunda to 20 ticków, i zamiast w sprawdzeniu score'a wpisywać 1/2/3/etc. to wpisujesz 20/40/60/etc.)

 

Lepiej będzie nazwę dać na data merge - /execute as @e[type=armor_stand,tag=SD] if score @s SD matches 1 run data merge @s {CustomName:"..."}

Zamiast respić całkowicie nowego armorstanda, po prostu mu nazwę zmieni.

 

A respienie itemka to analogicznie -  /execute as @e[type=armor_stand,tag=SD] if score @s SD matches 0.. run summon item ~ ~ ~ {Item:{...}}


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/


#3 ZjemCieBezSera

ZjemCieBezSera

    Nowy

  • Użytkownik
  • 69 postów

Napisano 06 April 2019 - 23:46

Użyłem twojej pomocy i spróbowałem z twoimi komendami pozmieniałem je troche ale itak nie działa...

Udało mi się to zrobić i działa tak jak miało! Doszedłem do wniosku że jak dam command blocka z komendą: "execute unless entity @e[name=SD,scores={SD=1}]" a obok niego dam komparator to komparator zaświeci się wtedy gdy armor stand o nazwie "SD" ma swój scoreboard inny niż 1, więc pomyślałem że po prostu zastosuję nagecje, więc postawiłem obok komparatora blok a na nim czerwonąpochodnie i wtedy gdy scoreboard tego armor standa wyniósł 1 to komparator zgasł a pochodnia się włączyła i akrywowała kolejno dwie komendy tj: 1:"kill @e[type=minecraft:armor_stand,name="0s"]" zabija armor standa który znalazł się tam wcześniej... 2: "/summon armor_stand -9 7 10 {Invisible:1b,Invulnerable:1b,NoGravity:1b,Marker:1b,CustomName:"{\"text\":\"5s\",\"color\":\"green\",\"bold\":\"true\"}",CustomNameVisible:1b}"stawia nowego armor standa z nazwą "5s" dzięki za pomoc!

Nie pierwszy raz :)



#4 Katniss

Katniss

    Twórca "Mrocznej klątwy"

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

Napisano 07 April 2019 - 05:50

Użyłem twojej pomocy i spróbowałem z twoimi komendami pozmieniałem je troche ale itak nie działa...

Udało mi się to zrobić i działa tak jak miało! Doszedłem do wniosku że jak dam command blocka z komendą: "execute unless entity @e[name=SD,scores={SD=1}]" a obok niego dam komparator to komparator zaświeci się wtedy gdy armor stand o nazwie "SD" ma swój scoreboard inny niż 1, więc pomyślałem że po prostu zastosuję nagecje, więc postawiłem obok komparatora blok a na nim czerwonąpochodnie i wtedy gdy scoreboard tego armor standa wyniósł 1 to komparator zgasł a pochodnia się włączyła i akrywowała kolejno dwie komendy tj: 1:"kill @e[type=minecraft:armor_stand,name="0s"]" zabija armor standa który znalazł się tam wcześniej... 2: "/summon armor_stand -9 7 10 {Invisible:1b,Invulnerable:1b,NoGravity:1b,Marker:1b,CustomName:"{\"text\":\"5s\",\"color\":\"green\",\"bold\":\"true\"}",CustomNameVisible:1b}"stawia nowego armor standa z nazwą "5s" dzięki za pomoc!

Nie pierwszy raz :)

Na przyszłość radzę jednak korzystać z conditional cmdblocków lub funkcji i execute if ... run ..., zamiast komparatorów. Kompary się psują często i nie są 0-tick mechanizmem.


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/