Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 11/14/22 uwzględniając wszystkie działy

  1. Helios1993

    Tworzenie GUI w Skript - Poradnik

    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!
    1 punkt
  2. Helios1993

    Wersja skript na 1.12.2

    Po co ci tak stary silnik? Jedyne do czego nadaje się ta wersja to techniczne paczki modów. Skquery też jest przestarzałym pluginem, większość jego funkcji jest już w samym skripcie, a resztę dodaje skbee.
    1 punkt
  3. WujcioCreeper

    Cobblex [NIE DZIALA DROP]

    Powiem tyle, używanie 'chance of x%' jest słabym sposobem. Bo masz wtedy X%, że cokolwiek się stanie. Jaki ma sens, postawienie CobbleX, jeżeli potem zniknie bez informacji, hę? Użyj lokalnej zmiennej, nie globalnej. Jeżeli w danym momencie, użyje np. 10 osób, to skrypt nie będzie wiedział co zrobić z życiem. set {_cobblex} to a random integer between 0 and 3 /////////////// {_cobblex} is 1: drop 1 7 named "&9Paczka Obsa" send "&6&lOtwierasz CobbleX! &c&lTwoj drop:" to the player send "&6- &71 Puszka Obsa" to the player stop {_cobblex} is 2: drop 32 133 and 8 368 send "&6&lOtwierasz CobbleX! &c&lTwoj drop:" to the player send "&6- &7ble ble" to the player stop {_cobblex} is 3: send "&4Masz pecha..." stop To taki przykład. Jeżeli serwer będzie wielki i nie zależy ci na dobrej optymalizacji skryptu, zrób to na 100 liczb, wtedy masz np. 35% na coś, to ustaw to od 1 do 35. Lekcja na przyszłość do programowania: Zawsze sam stopuj program. (dodawaj na końcu zdarzenia po prostu stop)
    1 punkt
  4. piratjsk

    Funkcje

    Funkcje Możliwość tworzenia własnych funkcji w skryptach do tej pory oferowały tylko dodatki (WS i skQ). Od momentu wydania developerskiej wersji Skript 2.2 można z nich korzystać bez żadnych dodatkowych pluginów. Skąd wziąć Skript w wersji 2.2? Najnowszą wersję Skript można pobrać stąd, warto też rozważyć skorzystanie z wersji zawierającej poprawki autorstwa Mirreducki'ego. Składnia Istnieją dwa podstawowe typy funkcji: taka, która coś zwraca, jakąś wartość, oraz taka, która tylko wykonuje kod i nie zwraca żadnej wartości. # Funkcja, która zwraca wartość function nazwa_funkcji(nazwa_argumentu: %typ_argumentu%, ...) :: %typ_zwracanej_wartości%: # kod_funkcji return %coś% # Funkcja, która tylko wykonuje swój kod i nie zwraca żadnej wartości function nazwa_funkcji(nazwa_argumentu: %typ_argumentu%, ...): # kod_funkcji Argumenty są opcjonalne, można ich użyć ale nie trzeba. Definiowanie obydwu rodzaji funkcji zaczynamy od słowa kluczowego function, następnie po spacji podajemy nazwę, z której bedziemy później korzystać aby wywołać naszą funkcję. Po tym w nawiasach podajemy argumenty, jeśli nasza funkcja nie będzie z nich korzystać należy wstawić tylko nawiasy (). Argumenty podajemy według wzoru: nazwa: %typ%, np. gracz: player albo p: player, w: world. W przypadku funkcji zwracającej jakąś wartość trzeba w tym momencie podać typ tej wartości (np. number, text, player, location). Na końcu linijki definniującej funkcję należy umieścić dwukropek, a następne linijki (kod funkcji) wciąć o jedną jednostkę. Podając liczbę mnogą typu argumentu (np. players, entities, worlds) umożliwimy sobie podawanie wielu wartości (o podanmy typie). Tak samo sprawa ma się w przypadku typu zwracanej wartości, gdy podamy jego liczbę mnogą będziemy mogli zwracać listy wartości. Np. function podpal(g: players): function ktoWygral(mecz: text) :: players:. Argumenty Wiesz już jak zdefiniować argumenty, teraz czas nauczyć się z nich korzystac. Jest to naprawdę proste. W kodzie naszej funkcji odwołujemy się poprostu do zmiennych lokalnych (zaczynających się od znaku _) o takich nazwach jak podane argumenty. # np. function dajDiamenta(gracz: player): give 1 diamond to {_gracz} Korzystanie z funkcji Gdy już zdefiniowaliśmy naszą funkcję przyszedł czas aby ją wykorzystać. # np. command /daj: trigger: dajDiamenta(player) send "Oto twój diament :)" Jeśli nasza funkcja zwraca jakąś wartość to możemy ją np. zapisać do zmiennej. command /punkty: trigger: set {_punkty} to ileMaPunktow(player) send "&eMasz &6%{_punkty}% &epunktow." Definicja funkcji nie musi być w pliku, w którym z niej korzystamy. Funkcje zdefiniowane w jednym skrypcie będziemy mogli używać w każdym innym. Jak znajdę chwilę czasu to dodam tu jeszcze kilka przykładowych funkcji. function dodajWarpa(nazwa: text, lokacja: location) :: boolean: if {warpy::%{_nazwa}%} is set: return false else: set {warpy::%{_nazwa}%} to {_lokacja} return true
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Quexsu
    Quexsu
    6 postów
    Grabsky
    Grabsky
    1 post
    Nicku
    Nicku
    1 post
    mervi_X
    mervi_X
    1 post
    Fendi
    Fendi
    1 post
    kinimod5021
    kinimod5021
    1 post
    bug128
    bug128
    1 post
  • Najwięcej tematów w tygodniu

    Quexsu
    Quexsu
    1 temat
    mervi_X
    mervi_X
    1 temat
    bug128
    bug128
    1 temat
  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

×
×
  • Dodaj nową pozycję...