Helios1993 333 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 (edytowane) GUI w Skript Czym jest GUI? Jest to skrzynia z wcześniej ustalonymi przedmiotami, z której nie możesz wyciągać przedmiotów, lecz możesz np. przenieść się na inny serwer klikając w odpowiedni przedmiot. Przykładowe GUI: Dlaczego nie powinieneś korzystać z SkQuery do tworzenia GUI? SkQuery posiada sporo błędów, jednym z nich jest ukryta możliwość wyciągania przedmiotów z GUI robionego za pomocą tego addonu. Jakie addony są potrzebne do zrobienia GUI? Nie potrzebujesz żadnych addonów, wystarczy sam Skript. Jak zrobić GUI w Skripcie? Jak w każdym skrypcie, na początku musi być jakiś event. W przykładzie użyję komendę: (Zapamiętaj, że przy dodawaniu komendy zawsze musi być 'trigger' w następnej linijce.) command /gui [<text>]: trigger: Gdy już masz komendę, musisz stworzyć swoje GUI. Robisz to w ten sposób: (3 to ilość linijek, "Nazwa" to nazwa twojego gui.) set {_gui} to chest inventory with 3 rows named "Nazwa" Teraz musisz ustawić slot. Pamiętaj, że są one liczone od 0. Żeby ustawić pierwszy slot w swoim GUI, zrób to: set slot 0 of {_gui} to diamond Twoje GUI jest już gotowe! Najwyższy czas je otworzyć dla gracza, który wykonał komendę: open {_gui} to player Cały kod powinien wyglądać tak: command /gui [<text>]: trigger: set {_gui} to chest inventory with 3 rows named "Nazwa" set slot 0 of {_gui} to diamond open {_gui} to player Aktualnie z twojego GUI można wyciągać przedmioty i nic się nie dzieje, jak to zmienić? Przyda ci się event 'on inventory click': on inventory click: Sprawdzaj czy naciśnięty slot nie jest ekwipunkiem gracza: event-inventory is not player's inventory Teraz musisz sprawdzić nazwę GUI: if name of event-inventory is "Nazwa": Jeśli chcesz zablokować wyciąganie przedmiotów, dodaj teraz 'cancel event': cancel event Sprawdź kliknięty slot: if clicked slot is 0: I wykonaj co chcesz wykonać: add diamond to player's inventory Cały kod powinien wyglądać tak: on inventory click: event-inventory is not player's inventory if name of event-inventory is "Nazwa": cancel event if clicked slot is 0: add diamond to player's inventory Teraz połącz te dwa kody i przeładuj skrypt. Gratulacje! Zrobiłeś swoje pierwsze GUI w Skripcie! Edytowane 22 stycznia 2021 przez Helios1993 CoFFeIN04, Kormic, maaatikplay i 14 innych 9 3 2 1 2 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/ Udostępnij na innych stronach Więcej opcji udostępniania...
CoFFeIN04 696 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 Początkującym na pewno się przyda, wszystko napisane jasno. Na pewno będzie linkowane :)) Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281601 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 20 minut temu, Helios1993 napisał: SkQuery posiada sporo błędów, jednym z nich jest ukryta możliwość wyciągania przedmiotów z GUI robionego za pomocą tego addonu. Należy tutaj jeszcze dorzucić o wiele mniejszą funkcjonalność niż inne formatowania GUI (nie licząc tego w WildSkript), gdyż ograniczasz się do używania lambd przy formatowaniu slotu i niemożliwym jest zastosowanie warunków. Niektórzy jeszcze robią to w tak śmieciowy sposób, że execute'ują komendę przez gracza, w której jest zawarte co ma robić dany slot. 22 minuty temu, Helios1993 napisał: Nie potrzebujesz żadnych addonów, wystarczy sam Skript. Warto dodać, że wymagana wersja to minimum 2.2-dev34, a najlepiej użyć 2.2 lub nowszej. 24 minuty temu, Helios1993 napisał: Gdy już masz komendę, musisz stworzyć swoje GUI. Robisz to w ten sposób: (3 to ilość linijek, "Nazwa" to nazwa twojego gui.) set {_gui} to chest inventory with 3 rows named "Nazwa" Można również otworzyć od razu graczowi GUI, a następnie odwoływać się do niego poprzez 'player's current inventory'. open chest inventory with 3 rows named "Nazwa" to player set slot 0 of player's current inventory to stone # I tak dalej... Twoje rozwiązanie stosuję jedynie w przypadku bardziej złożonych GUI, gdzie czas tworzenia go może być nieco dłuższy niż zwykle ma to miejsce. 28 minut temu, Helios1993 napisał: Aktualnie z twojego GUI można wyciągać przedmioty i nic się nie dzieje, jak to zmienić? Dobrze byłoby wspomnieć o tym, że można zablokować jedynie samo GUI bez blokowania ekwipunku. if clicked inventory is not player's inventory: Powyższy warunek należy wstawić tuż po sprawdzeniu nazwy GUI. Mimo wszystko dobry poradnik, trzeba ludziom wybić z łbów SkQuery i inne syfy. Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281604 Udostępnij na innych stronach Więcej opcji udostępniania...
V4T3 2 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 (edytowane) Zauważyłem pewną niespójność z tym związaną albo to ja robię coś źle. Nie ważne czy kliknę w przedmiot w sklepie czy w 1 slot w ekwipunku, zawsze dostaje ten komunikat. Zna ktoś może rozwiązanie? @Kormic, @CoFFeIN04, @Helios1993 Oczywiście robię to w ten sposób: on inventory click: if name of player's current inventory is "Sklep": cancel event if clicked slot is 0: Przepraszam za pisanie pod tematem, ale poniekąd odwołuje się do jednego problemu być może występującego po dodaniu kodu z tego poradnika. Edytowane 22 stycznia 2021 przez V4T3 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281633 Udostępnij na innych stronach Więcej opcji udostępniania...
Helios1993 333 Opublikowano 22 stycznia 2021 Autor Udostępnij Opublikowano 22 stycznia 2021 (edytowane) 12 minut temu, V4T3 napisał: Zauważyłem pewną niespójność z tym związaną albo to ja robię coś źle. Kormic napisał co zrobić, dodam to do poradnika. EDIT: Dodałem. Edytowane 22 stycznia 2021 przez Helios1993 V4T3 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281634 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 2 minuty temu, V4T3 napisał: Nie ważne czy kliknę w przedmiot w sklepie czy w 1 slot w ekwipunku, zawsze dostaje ten komunikat. Napisałem o tym w moim poście, dokładniej to na samym końcu. V4T3 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281635 Udostępnij na innych stronach Więcej opcji udostępniania...
V4T3 2 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 Rzeczywiście, ostatni warunek rozwiązał problem, przepraszam za "zamieszanie". Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281636 Udostępnij na innych stronach Więcej opcji udostępniania...
CoFFeIN04 696 Opublikowano 22 stycznia 2021 Udostępnij Opublikowano 22 stycznia 2021 (edytowane) Ja osobiście dodaję jeszcze 2 warunki: clicked slot is set w celu sprawdzenia czy ktoś nie kliknął poza GUI (dodałem ten warunek bo przechwytywało mi klikanie poza polem GUI (np. tam gdzie jest kursor na screenie niżej), nie wiem czy to błąd czy o co chodzi) Spoiler oraz: clicked slot is not air ale to tylko w przypadku gdy chcę pozwolić na klikanie tylko zajętych slotów jeśli ktoś sprawdza np. clicked slot is 1 to te warunki są w sumie zbędne, ale gdy ktoś nie sprawdza po kolei każdego numeru to warto dodać te warunki Edytowane 22 stycznia 2021 przez CoFFeIN04 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-281640 Udostępnij na innych stronach Więcej opcji udostępniania...
PanMaruda 624 Opublikowano 6 lutego 2021 Udostępnij Opublikowano 6 lutego 2021 a mi z kolei brakuje jeszcze informacji o inventory type inventory action cursor slot click type oraz tworzeniu gui w metadatach jako alternatywy dla zmiennych Misio12320 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-285936 Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1952 Opublikowano 6 lutego 2021 Udostępnij Opublikowano 6 lutego 2021 (edytowane) 22 minuty temu, PanMaruda napisał: a mi z kolei brakuje jeszcze informacji o inventory type inventory action cursor slot click type oraz tworzeniu gui w metadatach jako alternatywy dla zmiennych To już byłoby zdecydowanie prędzej w ramach drugiej części dla nieco bardziej zaawansowanych, a już nie wspominam o tym ostatnim. Chciałbyś zapisać metadatę w graczu, tak? Warto byłoby również wspomnieć o 'hotbar button' przydatne po sprawdzeniu czy 'click type' to 'number key'. Edytowane 6 lutego 2021 przez Kormic Misio12320 i Bartek200219 2 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-285951 Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Usunięty#34161 Opublikowano 13 lutego 2021 Udostępnij Opublikowano 13 lutego 2021 W tym temacie było zadane pytanie, jednak zostało ono wydzielone. Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-287777 Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek200219 3 Opublikowano 2 kwietnia 2021 Udostępnij Opublikowano 2 kwietnia 2021 Nie skquerry jest zbugowane tylko twój sposób, bo twoim sposobem można wyciągać itemy z gui używając shifta Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-298340 Udostępnij na innych stronach Więcej opcji udostępniania...
Helios1993 333 Opublikowano 2 kwietnia 2021 Autor Udostępnij Opublikowano 2 kwietnia 2021 10 minut temu, Bartek200219 napisał: Nie skquerry jest zbugowane tylko twój sposób, bo twoim sposobem można wyciągać itemy z gui używając shifta Nie są to prawdziwe przedmioty, nic z nimi nie zrobisz. Jedynie gdy masz jakieś tam uprawnienia to możesz je używać, zabierz sobie wszystkie uprawnienia i spróbuj ponownie. Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-298342 Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek200219 3 Opublikowano 2 kwietnia 2021 Udostępnij Opublikowano 2 kwietnia 2021 (edytowane) 2 godziny temu, Helios1993 napisał: Nie są to prawdziwe przedmioty, nic z nimi nie zrobisz. Jedynie gdy masz jakieś tam uprawnienia to możesz je używać, zabierz sobie wszystkie uprawnienia i spróbuj ponownie. Uprawnienia nic nie zmieniają, bug występuje gdy wykonuje komendę jako gracz i zamykam inventory czyli np.: on inventory click: event-inventory is not player's inventory if name of event-inventory is "Nazwa": cancel event if clicked slot is 0: close player's inventory execute player command "/pomoc" Film z pokazanym bugiem Edytowane 2 kwietnia 2021 przez Bartek200219 Dodanie filmu Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-298347 Udostępnij na innych stronach Więcej opcji udostępniania...
FraZ 15 Opublikowano 2 kwietnia 2021 Udostępnij Opublikowano 2 kwietnia 2021 Bynajmniej nie format slot Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-298396 Udostępnij na innych stronach Więcej opcji udostępniania...
CoFFeIN04 696 Opublikowano 5 kwietnia 2021 Udostępnij Opublikowano 5 kwietnia 2021 W dniu 2.04.2021 o 19:35, Bartek200219 napisał: event-inventory is not player's inventory zamiast tego spróbuj: if clicked inventory is not player's inventory: W dniu 2.04.2021 o 19:35, Bartek200219 napisał: if name of event-inventory is tu też spróbuj: name of player's current inventory Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-298786 Udostępnij na innych stronach Więcej opcji udostępniania...
Norbiros 20 Opublikowano 10 kwietnia 2021 Udostępnij Opublikowano 10 kwietnia 2021 Przepraszam, ta druga część dla zaawansowanych jest już gotowa? @Helios1993 Jeśli nie to odeślesz to bardziej zaawansowanego poradnika nie używając wild skript, ani skquery? Glicz 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-299765 Udostępnij na innych stronach Więcej opcji udostępniania...
Helios1993 333 Opublikowano 10 kwietnia 2021 Autor Udostępnij Opublikowano 10 kwietnia 2021 10 minut temu, Norbiros napisał: Przepraszam, ta druga część dla zaawansowanych jest już gotowa? Nie Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-299769 Udostępnij na innych stronach Więcej opcji udostępniania...
Norbiros 20 Opublikowano 10 kwietnia 2021 Udostępnij Opublikowano 10 kwietnia 2021 A znasz jakiś? Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-299770 Udostępnij na innych stronach Więcej opcji udostępniania...
Helios1993 333 Opublikowano 10 kwietnia 2021 Autor Udostępnij Opublikowano 10 kwietnia 2021 16 minut temu, Norbiros napisał: A znasz jakiś? Możesz na zagranicznych forach poszukać. Norbiros 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/44829-tworzenie-gui-w-skript-poradnik/#findComment-299771 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.