Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zrobienie zadań do skryptu - pojawianie się.


kacpicygan123

Rekomendowane odpowiedzi

Opublikowano

Witam. Niedawno stworzyłem skrypt na zadania. Polega on na tym, że po wpisaniu komendy wyświetlają się zadania w GUI, które trzeba wykonać. I tutaj mam pewien problem z tym skryptem:

 

 

 

variables:
    {1misja.%player%} = false
    {2misja.%player%} = false
    {3misja.%player%} = false
    {4misja.%player%} = false

command /questy:
    trigger:
        wait 2 ticks
        open chest with 1 row named "&6Zadania:" to player
        if {1misja.%player%} is false:
            if {2misja.%player%} is false:
                wait 2 ticks
                format slot 0 of player with 1 of bread named "&eUprawy Rolne" with lore "&b======================================||||&6&lZdobadz 15 bochenkow chleba!||&a&lNagroda: 2 sztabki zelaza|| ||&b======================================" to close then run [execute player command "/zakonczenie"]
                wait 2 ticks
                format slot 1 of player with 1 of paper named "&eZagubiony Zwoj" with lore "&b======================================||||&6&lZdobadz Zwoj Innifusa!||&a&lNagroda: 1 diament|| ||&7Zwoj Innifusa mozesz zdobyc poprzez||&7znalezienie go lub zdobycie zabijajac potwory.||&7Najczesciej spotykany jest u zombie.||&b======================================" to close then run [execute player command "/zakonczenie2"]
            else:
                wait 2 ticks
                format slot 1 of player with 1 of paper of infinity 1 named "&eZagubiony Zwoj" with lore "&4&lWYKONANE" to close then run [execute player command "/zakonczenie2"]
                wait 2 ticks
        else:
            wait 2 ticks
            format slot 0 of player with 1 of bread of infinity 1 named "&eUprawy Rolne" with lore "&4&lWYKONANE" to close then run [execute player command "/zakonczenie"]
            wait 2 ticks
command /zakonczenie:
    trigger:
        if {1misja.%player%} is false:
            if player has 15 bread:
                send "&aWykonales poprawnie zadanie! Twoja nagroda to: 2 sztabki zelaza" to player
                set {1misja.%player%} to true
                give 2 iron ingot to player
                remove 15 bread from player

            else:
                send "&cAby wykonac misje, potrzebujesz 15 bochenkow chleba! Kliknij tu, kiedy je zdobedziesz!" to player
        else:
            send "&cWykonales to zadanie! Podejmij się następnego!" to player
            
command /resetacja:
    trigger:
        set {1misja.%player%} to false
        set {2misja.%player%} to false
command /zakonczenie2:
    trigger:
        if {2misja.%player%} is false:
            if player has paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda":
                send "&aWykonales poprawnie zadanie! Twoja nagroda to: 1 diament" to player
                set {2misja.%player%} to true
                give 1 diamond to player
                remove 1 paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda" from player
            else:
                send "&cZdobadz Zwoj Innifusa aby wykonac zadanie!" to player
        else:
            send "&cTo zadanie zostalo wykonane!" to player

command /zwoj:
    trigger:

        give 1 paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda" to player

 

 

Co jest problemem? Otóż jeśli wykonam misję, to w gui otwiera mi się albo enchantowana kartka albo enchantowany chleb, a jak mam np. wykonaną pierwszą misję, a drugą nie, to wyświetla mi się enchant z pierwszej misji a druga w ogóle. O co chodzi? Jak to zrobić? Jeśli nie wiesz, o co mi chodzi to spójrz:

 

1 misja: niewykonana

2 misja: niewykonana

 

SLOT 1 W GUI: Chleb

SLOT 2 2 GUI: Kartka

 

1 misja: wykonana

2 misja: niewykonana

 

SLOT 1 W GUI: Enchantowany Chleb

SLOT 2 W GUI: NIC

 

Żeby w drugim slocie coś się pojawiało

Opublikowano

Wiem o co chodzi. Kod i wyjaśnienie podam Ci w edicie.

 

// Edit

 

Już wszystko jasne :D Jest to mały błąd w komendzie /questy, a dokładnie przy "if {1misja.%player%} is false" i przy "if {2misja.%player%} is false". Po prostu, jeżeli 1 zadanie jest wykonane, czytnik kodu skripta przejdzie do "else" równoległego to tej kondycji, a dalszy kod główny nie będzie go interesował. Czyli poprawny kod:
 

 

[spoiler]variables:
    {1misja.%player%} = false
    {2misja.%player%} = false
    {3misja.%player%} = false
    {4misja.%player%} = false

command /questy:
    trigger:
        wait 2 ticks
        open chest with 1 row named "&6Zadania:" to player
        if {1misja.%player%} is false:
            if {2misja.%player%} is false:
                wait 2 ticks
                format slot 0 of player with 1 of bread named "&eUprawy Rolne" with lore "&b======================================||||&6&lZdobadz 15 bochenkow chleba!||&a&lNagroda: 2 sztabki zelaza|| ||&b======================================" to close then run [execute player command "/zakonczenie"]
                wait 2 ticks
                format slot 1 of player with 1 of paper named "&eZagubiony Zwoj" with lore "&b======================================||||&6&lZdobadz Zwoj Innifusa!||&a&lNagroda: 1 diament|| ||&7Zwoj Innifusa mozesz zdobyc poprzez||&7znalezienie go lub zdobycie zabijajac potwory.||&7Najczesciej spotykany jest u zombie.||&b======================================" to close then run [execute player command "/zakonczenie2"]
            else:
                wait 2 ticks
                format slot 1 of player with 1 of paper of infinity 1 named "&eZagubiony Zwoj" with lore "&4&lWYKONANE" to close then run [execute player command "/zakonczenie2"]
                wait 2 ticks
        else:
            wait 2 ticks
            format slot 0 of player with 1 of bread of infinity 1 named "&eUprawy Rolne" with lore "&4&lWYKONANE" to close then run [execute player command "/zakonczenie"]
            wait 2 ticks
            if {2misja.%player%} is false:
                wait 2 ticks
                format slot 0 of player with 1 of bread named "&eUprawy Rolne" with lore "&b======================================||||&6&lZdobadz 15 bochenkow chleba!||&a&lNagroda: 2 sztabki zelaza|| ||&b======================================" to close then run [execute player command "/zakonczenie"]
                wait 2 ticks
                format slot 1 of player with 1 of paper named "&eZagubiony Zwoj" with lore "&b======================================||||&6&lZdobadz Zwoj Innifusa!||&a&lNagroda: 1 diament|| ||&7Zwoj Innifusa mozesz zdobyc poprzez||&7znalezienie go lub zdobycie zabijajac potwory.||&7Najczesciej spotykany jest u zombie.||&b======================================" to close then run [execute player command "/zakonczenie2"]
            else:
                wait 2 ticks
                format slot 1 of player with 1 of paper of infinity 1 named "&eZagubiony Zwoj" with lore "&4&lWYKONANE" to close then run [execute player command "/zakonczenie2"]
                wait 2 ticks

command /zakonczenie:
    trigger:
        if {1misja.%player%} is false:
            if player has 15 bread:
                send "&aWykonales poprawnie zadanie! Twoja nagroda to: 2 sztabki zelaza" to player
                set {1misja.%player%} to true
                give 2 iron ingot to player
                remove 15 bread from player

            else:
                send "&cAby wykonac misje, potrzebujesz 15 bochenkow chleba! Kliknij tu, kiedy je zdobedziesz!" to player
        else:
            send "&cWykonales to zadanie! Podejmij się następnego!" to player
            
command /resetacja:
    trigger:
        set {1misja.%player%} to false
        set {2misja.%player%} to false
command /zakonczenie2:
    trigger:
        if {2misja.%player%} is false:
            if player has paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda":
                send "&aWykonales poprawnie zadanie! Twoja nagroda to: 1 diament" to player
                set {2misja.%player%} to true
                give 1 diamond to player
                remove 1 paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda" from player
            else:
                send "&cZdobadz Zwoj Innifusa aby wykonac zadanie!" to player
        else:
            send "&cTo zadanie zostalo wykonane!" to player

command /zwoj:
    trigger:
        give 1 paper named "&eZwoj Innifusa" with lore "&7To stary zwoj. Nie potrafisz odczytac znakow,||&7jednak bibliotece sie przyda" to player[/spoiler]

Powinno być w porządku. Jeżeli nie, to odpisz, chętnie pomogę. W każdym razie, licze na like.

:D  Let's start with MPCForum :D

 

 

 

30/50/69/100/150/200/250...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...