Ranking
Popularna zawartość
Treść z najwyższą reputacją w 01/29/21 w Odpowiedzi
-
[Skript] - Warunki
alaneek_jestem i 2 innych przyznał(a) reputację xAxee za temat
Cześć Ten poradnik jest przeznaczony raczej dla początkujących osób w skipcie. Przedstawię tutaj większość dostępnych sposobów na tworzenie warunków. na jakie sposoby możemy robić warunki? [if] %condition%: %condition% %effect% if %condition% %objects-1% if %condition% [else|otherwise] %objects-2% Teraz je trochę omówimy Zacznijmy od pierwszego i najpopularniejszego [if] %condition%: po tym warunku wymagane jest użycie wcięcia. if przed warunkiem nie jest wymagane, ale dla wyglądu kodu powinno się je pisać. w tym sposobie możemy użyć else np: if player has diamond: #warunek send "&7Masz diaxa!" #dalszy kod z wcięciem else: #W przeciwnym razie send "&7Nie masz diaxa" #dalszy kod z wcięciem Następnym sposobem jest "płaski warunek" (inline conditionali) %condition% W przypadku gdy warunek zwróci false, dalszy kod nie wykona się (czyli zadziała jak stop) Często ten sposób nie jest pochwalany, ponieważ kod może się stać mniej przejrzysty (oczywiście zależy od sytuacji) w tym sposobie nie możemy użyć else #... player has emerald #warunek send "Masz emeralda!" #dalszy kod Następnym sposobem jest tzw. do if %effect% if %condition% Dzięki niemu możemy zaoszczędzić linijkę na warunek np: send "&7Masz wystarczajaco duzo zlota!" to player if player has gold ingot Jest jeszcze warunek trójargumentowy (ternary conditional) %objects-1% if %condition% (else|otherwise) %objects-2% Jeżeli warunek będzie spełniony zwróci obiekt-1 jeżeli będzie przeciwny zwróci obiekt-2 add (2 if player has permission "*" else 1) of diamond to player nie używając ternary ten kod byśmy zapisali tak: if player has permission "*": add 2 of diamond to player else: add 1 of diamond to player Często się słyszy żeby nie robić drzew z ifów dlatego jak najlepiej robić warunki? Najlepiej, dla przejrzystości kodu robić tzw. ify łamane, co to znaczy? To znaczy, że przeczymy warunkowi który chcemy uzyskać i wstawiamy tam stop np: if arg is not "tak": #Co ma sie wykonac jeżeli nie jest "tak" stop #to co ma sie wykonac jeżeli jest "tak" Filtry W skripcie od wersji 22-dev36 możemy korzystać z filtrów list %objects% (where|that match) [%condition%] Jak to działa? Działa to dosłownie jak filtr, wybiera wartości tylko te które zgadzają się z warunkiem np: set {_admins::*} to all players where [input has permission "*"] powyższy kod ustawi zmienną {_admins::*} na osoby które posiadają uprawnienie * Taki sam kod bez użycia filtru wyglądałby tak: loop all players: if player has permission "*": add player to {_admins::*} W jaki sposób możemy przeczyć w warunkach? is -> is not / isn't / aren't / are not can -> cannot / can not / can't has -> has not / not have / don't have / doesn't have Dzięki za poświęcony czas na przeczytanie tego poradnika. Wszelkie błędy / poprawki / propozycje proszę zgłaszać. Pozdrawiam Aksik3 punkty -
gAukcje - skrypt na aukcje sprzedażowe graczy w GUI Funkcje: dodawanie / usuwanie aukcji komendą przyjemne dla oka GUI z listą aukcji ze stronami tooltip'y na chacie (po najechaniu na #<id>) (aktualnie obok cen widnieje również symbol $, da się go zmienić w sekcji konfiguracyjnej) Konfiguracja: Skrypt przed użyciem wymaga konfiguracji w linijce "ekonomia", reszty sekcji konfiguracyjnej nie musisz zmieniać. Więcej szczegółów znajdziesz w konsoli po uruchomieniu skryptu sekcja konfiguracyjna: Download & changelog: v1.0 - pierwsza wersja skryptu, zawiera najważniejsze, podstawowe funkcje: download v1.1 - zmiany kosmetyczne w kodzie oraz w systemie usuwania itemów z aukcji, administrator przy użyciu komendy /aukcje usun <id> może usunąć dowolną aukcję; poprawiono drobne błędy: download v1.2 - dodanie symbolu obok cen, drobne poprawki, optymalizacja kodu, minimalna poprawa zabezpieczeń w przypadku możliwego kopiowania itemów z GUI: download v1.3 - naprawione zostało niepobieranie pieniędzy dla zmiennej - dodatkowo od teraz można ustawić własną zmienną do zarządzania ekonomią: download Wymagania: Vault oraz plugin do ekonomii: tylko w przypadku wybrania takowej opcji w sekcji konfiguracyjnej Skript: najnowsza stabilna wersja: Skript dla 1.13-1.XX (klik) NIE POLECAM*: Skript dla 1.8 (klik) * - nie polecam Skript dla 1.8 nie z powodu, że fork od Matocolotoe jest zły, tylko dlatego, że wersja 1.8 jest bardzo stara i posiada pełno bugów! Dobry silnik: najlepiej Purpur lub Tuinity, w przypadku bardzo starych wersji przynajmniej silnik Paper. Skrypt przetestowany na Purpur 1.16.5 oraz Tuinity 1.16.4, Skript 2.5.3. ToDo: czekam na propozycje Schemat zgłaszania błędów: podaj wersję silnika, pluginu Skript oraz listę dodatków podaj wszystkie błędy jakie wyskakują podczas przeładowania oraz błędy z konsoli (oraz opisz, co nie działa)1 punkt
-
Proszę. on right click: player's tool is paper named "test" repair player's helmet repair player's chestplate repair player's leggings repair player's boots set player's tool to (item amount of player's tool - 1) of player's tool1 punkt
-
Jak każdy? Z kim ty to testujesz? Pokaż jeszcze raz twój kod. EDIT: Nadal był źle wpisany koordynat. on place: player's name is "Kormic" name of player's tool is "&6blok" lore of player's tool is "&ccoś tam" set {safeHuntingArea} to event-block's location on damage: victim is not a monster victim is not a player attacker is a player {safeHuntingArea} is set attacker's name is not "test" set {_1} and {_2} to {safeHuntingArea} add 40 to (x-loc of {_1}) and (z-loc of {_1}) set y-loc of {_1} to 256 remove 40 from (x-loc of {_2}) and (z-loc of {_2}) set y-loc of {_2} to 0 victim's x-loc is not between x-loc of {_1} and x-loc of {_2}: stop victim's y-loc is not between y-loc of {_1} and y-loc of {_2}: stop victim's z-loc is not between z-loc of {_1} and z-loc of {_2}: stop cancel event1 punkt
-
Działa, dzięki wielkie oficjalny królu skripta1 punkt
-
Właśnie to napisałeś. Używamy 'uncoloured name of player's tool'.1 punkt
-
Tak, dokładnie. Ma być 'player's tool's name'.1 punkt
-
ktoś z tego jeszcze korzysta w 2021? Użyj Tuinity 1.16.5 a jak jeszcze1 punkt
-
Pierwsza sprawa tyczy się tzw. 'inline conditionali' (czy jak ty to powiedziałeś 'płaski warunek'). One nie zmniejszają czytelności kodu, w większości sytuacji są pomocne i pozwalają na uniknięcie zagnieżdżonych warunków. Już prędzej 'do if' oraz 'ternary operator' robią bałagan w kodzie. Druga rzecz to mały błąd w możliwościach przeczenia, a dokładniej to 'doesn't have', które jest poprawną formą w języku angielskim. Trzecia i ostatnia sprawa to to, że nie opisałeś operatora trójskładnikowego ('ternary operator'), a on również podchodzi pod warunki. Mimo wszystko poradnik przyda się osobom początkującym, trzymaj lajka1 punkt
-
Zobacz sobie skrypt na zmianę koloru nicku od JkodGamesa. Już pomijam fakt, że właściwie nic nie opisałeś i nie wiadomo czego od nas oczekujesz.1 punkt
-
if clicked slot is 2: set player's display Name to "&a%player%" itd1 punkt
-
Skrypt na szybsze łowienie ryb
masterekkkk przyznał(a) reputację Kormic za pytanie
Chodzi mi o to, że ustawianie czasu wędkowania nie ma sensu po sprawdzaniu czy "status wędkowania to "FISHING", gdyż taki status jest jedynie po złowieniu ryby. Tak więc usuń ten warunek, a dwie linijki ustawiające czas wędkowania mają jako jedyne pozostać w evencie.1 punkt -
Skrypt na szybsze łowienie ryb
masterekkkk przyznał(a) reputację Kormic za pytanie
A no tak... Powinieneś ustawiać czas wędkowania od razu po wywołaniu eventu, a ten warunek jest całkowicie niepotrzebny.1 punkt -
Skrypt na szybsze łowienie ryb
masterekkkk przyznał(a) reputację Kormic za pytanie
Napisałem, abyś usunął metodę name(). Jeżeli nadal nie zadziała, przed sprawdzaniem "statusu wędkowania" wyślij go na czacie.1 punkt -
Skrypt na szybsze łowienie ryb
masterekkkk przyznał(a) reputację Kormic za pytanie
Metoda setBiteChance() jest przestarzała (deprecated) i nie ma żadnego wpływu na łowienie w nowszych wersjach gry. Zastąp to metodą setMaxWaitTime(ilość ticków, np. 10) oraz przed ustawianiem maksymalnego czasu oczekiwania ustaw również minimalny czas oczekiwania za pomocą metody setMinWaitTime(ilość ticków) tak, aby minimalny czas oczekiwania był mniejszy niż maksymalny czas oczekiwania. Co do twojego kodu jeszcze, w dziwny sposób sprawdzasz enuma. Powinieneś usunąć metodę name() oraz powinieneś wstawić samo "FISHING". Dla pewności zamiast 'is' można tutaj zastosować 'contains'. Normalnie tutaj nie powinno się parse'ować tego na tekst, ale sam próbowałem i faktycznie to nie działało. Na koniec dodam, że nie ma takiego enuma jak 'PlayerFishEventState', jest 'PlayerFishEvent.State'. Ten import jest i tak w przypadku tekstu zbędny.1 punkt -
on break of any stained glass pane or any stained glass block or glass block or glass pane: cancel event on explode: remove all stained glass pane and all stained glass block and all glass block and all glass pane from exploded blocks1 punkt
-
http://tardisjenkins.duckdns.org:8080/job/TerrainControl/1 punkt
-
Autor na githubie poleca forka TerrainControl, który działa na 1.12: https://www.spigotmc.org/resources/open-terrain-generator-otg.51373/1 punkt
-
Jest to błąd pochodzący z SkQuery. Tutaj znajdziesz więcej informacji na ten temat.1 punkt
-
Zbroja
Nitrusiniski przyznał(a) reputację Kormic za pytanie
No to zamiast 'all diamond armor' daj sobie te złote buty czy co tam chcesz.1 punkt -
Oczywiście jest negatyw, bo za SMS więcej zapłacisz normalnie niż masz z tego pożytku. Za sms 30 zł dostaniesz o wiele mniej niżeli byś poszedł do sklepu i kupił psc za 30 zł.1 punkt
-
łatwiej takimi zmiennymi potem się zarządza, możesz od razu wszystkie wyczyścić jednym poleceniem, co w przypadku zmiennych z . jest powiedzmy niemożliwe set slot - poradnik: Nie wiem też w jakim celu korzystasz ze zmiennej z pieniędzmi, nie lepiej korzystać z tego, co Skript nam daje, czyli: remove 10 from player's balance add 10 to player's balance itp.1 punkt
-
Update v. 1.2.1! Nowości: - naprawa działania anulowania eventu przy założeniu zbroi poprzez dozownik (wersja dla 1.9.4 - 1.13.1), - skrócenie kodu (w przypadku wersji dla 1.9.4 - 1.13.1 jest to zmniejszenie ze 155 do 98 linijek, a w przypadku wersji dla 1.13.2+ jest to ze 114 do 75 linijek; nie licząc podpisu w skrypcie), - naprawa działania eventu przy zakładaniu zbroi (wersja dla 1.13.2+). Zachęcam do testowania skryptu oraz poszukiwania błędów. Miłego użytkowania!1 punkt
-
Wersja 1.2 dla serwerów 1.9.4 - 1.13.1! Tak więc nadeszła długo wyczekiwana finalna wersja SkArmorEvent dla wyżej podanych wersji! PS. Skrypt powinien działać bezproblemowo również na wersjach 1.8 - 1.8.9 wraz ze Skriptem 2.5+ od Matocolotoe. Wersja 1.2 jest finalną, dlatego też jeżeli w tej wersji nie będzie żadnych błędów, tak długo jak nie będzie wprowadzone do Minecrafta więcej metod zakładania/zdejmowania zbroi, nie będę rozwijał skryptu. Przepraszam również za dość długi czas wykonywania tej wersji, ale było kilka problemów: - warunek 'contains' przy sprawdzaniu lokalizacji nie działał dobrze i musiałem samemu sprawdzać koordynaty, - najwięcej czasu rzecz jasna zajęło tworzenie kodu do zakładania zbroi poprzez dozownik, tutaj wszystko trzeba było ręcznie sprawdzać, - problem był również z utworzeniem funkcji przyjmującej jako argument kilka lokalizacji. Mimo powyższych błędów koniec końców wszystkie zostały rozwiązane, a skrypt powinien działać jak marzenie. Rzecz jasna zachęcam do testowania skryptu oraz poszukiwania błędów. Miłego użytkowania!1 punkt
-
Update v. 1.2! Nowości: - naprawiono błąd z brakiem działania skryptu w przypadku zmiany zbroi za pomocą klawiszy numerycznych, - naprawiono błąd z wywoływaniem podczas gdy mając w ręce zbroję klikaliśmy prawym przyciskiem myszy na interaktywny blok (stół rzemieślniczy, piec itp.), - dodano wywoływanie eventu przy zakładaniu zbroi przez dozownik. Skrypt w wersji 1.2 obecnie jest dostępny jedynie dla serwerów na wersji 1.13.2+! Za niedługo planuję wypuścić wersję 1.2 dla serwerów w przedziale 1.9.4 - 1.13.1, więc zainteresowani niech czekają cierpliwie. Jak zwykle, zachęcam do testowania skryptu oraz poszukiwania błędów1 punkt
-
Update v. 1.1! Nowości: - skrócenie oraz uporządkowanie kodu - dodanie możliwości anulowania eventu (dziękuję @UnioNS) - zmiana składni na mniej konflitową (dziękuję @xAxee oraz @PanMaruda) Zachęcam do testowania skryptu oraz poszukiwania możliwych błędów1 punkt
-
Najwięcej postów w tygodniu
-
Najwięcej tematów w tygodniu
-
Aktywni użytkownicy
-
1
-
2
-
