piratjsk 700 Opublikowano 15 listopada 2014 Udostępnij Opublikowano 15 listopada 2014 W tym poradniku...dowiesz się co to są lambdy, jak się dzielą i dlaczego są takie użyteczne. PrzedstawienieCzym są te tajemnicze Lambdy? Lambdy to nowe elementy wspaniałego dodatku jakim jest skQuery. Pozwalają zawrzeć więcej kodu w jednej linii i tworzyć bardziej skomplikowane skrypty.Dokładniej lambdy to dwa nowe typy, które pozwalają wsadzić więcej kodu w twój kod :):- lambdy (lambdas), które zawierają efekty- predykaty (predicates), które zawierają warunki (conditions)Można łączyć wiele lambd lub predykatów ze sobą ale między sobą.(lambda z lambdą: tak, predykat z predykatem: tak, lambda z predykatem: nie)Lambdy[%efekt%][%efekt%]->[%efekt%]// np.[send "lambdy!" to player][send "lambdy!" to player]->[send "sa fajne!"][send "lambdy!" to player]->[send "sa fajne!"]->[give diamond named "lambda" to player]Predykaty[%warunek%][%warunek%]->[%warunek%]// np.[player has diamond named "lambda"][player has diamond named "lambda"]->[player is op][player has diamond named "lambda"]->[player is op]->[name of player is "pirat"] UżycieZ przedstawionych wyżej elementów można aktualnie skorzystać na cztery sposoby.Autorzy dodatków do Skript mogą z nich skorzystać i umożliwić korzystanie w tworzonych przez nich elementach z naszych kochanych lambd i predykatów.BezpośrednioPierwszym sposobem wykorzystania lambd jest użycie ich bezpośrednio za pomocą efektu do i wyrażenia check.// efekt "do" dla lambddo %lambda/y%// np.do [send "lambdy!" to player]->[send "sa fajne!"]->[give diamond named "lambda" to player]// zadziala tak samo jak:send "lambdy!" to playersend "sa fajne!"give diamond named "lambda" to player// wyrazenie "check" dla predykatow check[ed] %predykat/y%// np.check [player has diamond named "lambda"]->[player is op]->[name of player is "pirat"]: # kod// zadziala tak samo jak:if player has diamond named "lambda": if player is op: if name of player is "pirat": # kodWyrażenie "where"Następną możliwością użycia predykatów jest wyrażenie where, dzięki któremu możemy zapętlić tylko obiekty spełniające dane warunki zamiast zapętlać wszystkie obiekty i dopiero w zapętleni sprawdzać ich cechy.%obiekty% where %predykat/y%// zeby w predykacie odwolac sie do obiektu trzeba skorzystac z wyrazenia:%type% input// np.loop all players where [player input has permission "jestem.fajny"]->[player input has diamond named "lambda"]: # kod// zadziala tak samo jak:loop all players: loop-player has permission "jestem.fajny" loop-player has diamond named "lambda" # kodPodczas formatowania ekwipunkuGdy formatujemy slot ekwipunku tak aby po kliknięciu wykonać jakąś akcję, teraz zamiast komendy możemy użyć też lambdy co w połączeniu z funkcjami daje nam naprawdę potężne możliwości.format slot %number% of %players% with %item stack% to close then run %lambda%format slot %number% of %players% with %item stack% to run %lambda%// np.format slot 1 of player with cookie named "Ciastko" with lore "kliknij mnie!" to run [broadcast "%player% kliknal w ciastko!"]format slot 1 of player with cookie named "Ciastko" with lore "kliknij mnie!" to run [access "funkcja"]Taki krótki poradnik, może się komuś przyda.Pirat ToNy, xFreku, Norbi i 8 innych 10 1 Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/ Udostępnij na innych stronach Więcej opcji udostępniania...
tropereks 780 Opublikowano 15 listopada 2014 Udostępnij Opublikowano 15 listopada 2014 Woah, chyba pierwszy polski poradnik o tym ;) Szczerze to nie wiedziałem o wszystkim. Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36362 Udostępnij na innych stronach Więcej opcji udostępniania...
Norbi 1337 Opublikowano 15 listopada 2014 Udostępnij Opublikowano 15 listopada 2014 ja też. A czy można tu używać wyrażeń z innych dodatków do skriptA? np. WS czy twojego (PirateSK)? Mini błędzik: cookie named "Ciastko" with lore "klinij mnie!"(lore) Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36363 Udostępnij na innych stronach Więcej opcji udostępniania...
piratjsk 700 Opublikowano 15 listopada 2014 Autor Udostępnij Opublikowano 15 listopada 2014 A czy można tu używać wyrażeń z innych dodatków do skriptA? np. WS czy twojego (PirateSK)?Tak. Można używać elementów z każdego dodatku do Skript. Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36364 Udostępnij na innych stronach Więcej opcji udostępniania...
Norbi 1337 Opublikowano 15 listopada 2014 Udostępnij Opublikowano 15 listopada 2014 Możesz mi podać przykład taki?: Masz w wirtualnym inv. emerald. gdy na niego klikniesz sprawdza czy masz 1 emerald, jak masz to zabiera ci go i daje diament. Przy użyciu tego access mi chodzi Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36365 Udostępnij na innych stronach Więcej opcji udostępniania...
piratjsk 700 Opublikowano 15 listopada 2014 Autor Udostępnij Opublikowano 15 listopada 2014 Możesz mi podać przykład taki?: Masz w wirtualnym inv. emerald. gdy na niego klikniesz sprawdza czy masz 1 emerald, jak masz to zabiera ci go i daje diament. Przy użyciu tego access mi chodzi// formatujesz slot ekwipunku:format slot 1 of player with emerald to run [access "emerlad" from player]// i definiujesz funkcje:function "emerlad": set {_p} to parameter-1 {_p} has 1 emerald: remove 1 emerald from {_p} if {_p} can hold 1 diamond: give 1 diamond to {_p} else: drop 1 diamond at {_p} return send "Masz za malo szmaragdow." return Norbi 1 Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36367 Udostępnij na innych stronach Więcej opcji udostępniania...
herhor67 916 Opublikowano 16 listopada 2014 Udostępnij Opublikowano 16 listopada 2014 Fajny poradnik, dość jasno opisany :) Przyda się szczególnie @up xD Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36372 Udostępnij na innych stronach Więcej opcji udostępniania...
Juraso 78 Opublikowano 16 listopada 2014 Udostępnij Opublikowano 16 listopada 2014 Poradnik jak najbardziej przydatny :) Ale mogl bys jeszcze zrobic poradnik o funkcjach tez by sie przydal :) Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36400 Udostępnij na innych stronach Więcej opcji udostępniania...
PanNiedzwiadek 173 Opublikowano 16 listopada 2014 Udostępnij Opublikowano 16 listopada 2014 Fauny poradnik, pozwala skrócić kod. Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-36460 Udostępnij na innych stronach Więcej opcji udostępniania...
Damianek 0 Opublikowano 20 listopada 2014 Udostępnij Opublikowano 20 listopada 2014 Nie ogarniam tych lambd :( Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-37018 Udostępnij na innych stronach Więcej opcji udostępniania...
piter909 4 Opublikowano 24 marca 2015 Udostępnij Opublikowano 24 marca 2015 (edytowane) Da się do tych lambd przypisać coś w stylu "Else" lub "else if"? Bez tego, jeśli nie ma, są troszkę bezużyteczne (poza momentami, gdzie są same warunki bez else) ;/ Edytowane 24 marca 2015 przez piter909 SkepsonTV 1 Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-56062 Udostępnij na innych stronach Więcej opcji udostępniania...
ThisFuckingFanatically 12 Opublikowano 9 maja 2015 Udostępnij Opublikowano 9 maja 2015 Poradnik bardzo przudatny, przyda sie w pisaniu mojego nastepnego skryptu hihi ; ))) ! Wysłane z tapatalka . Odnośnik do komentarza https://skript.pl/temat/4317-skquery-lambdy-lambdy-i-predykaty/#findComment-60770 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi