Skocz do zawartości

piratjsk

Użytkownik
  • Ilość zawartości

    600
  • Rejestracja

  • Wygrane w rankingu

    5

Treść opublikowana przez piratjsk

  1. Zwycięzcą poprzedniego konkursu na skrypt miesiąca (listopad) jest użytkownik Anemonex (Painter). 2 miejsce: boleknowak (Music Library) 3 miejsce: brak NAGRODY! 1 miejsce: ranga Skript Gold Member (nowa ranga) + 50 lajków (punkty reputacji) + reklamowanie skryptu na naszym forum (strona główna + dział "lista skryptów") 2 miejsce: ranga Zwycięzca + 30 lajków (punkty reputacji) 3 miejsce: 20 lajków (punkty reputacji) Skrypt miesiąca. Co to jest, na co to komu? Administracja forum wpadła na pomysł, aby wynagradzać osoby, które udostępniają swoje skrypty na forum. Co miesiąc będzie wybierany skrypt miesiąca, który będzie podpięty w dziale Lista skryptów na okres 30 dni oraz link do tematu będzie na stronie głównej. Dzięki temu autor tematu zyska o wiele więcej wyświetleń, pobrań oraz opinii oraz ... (nagrody wyżej!). Jak zgłosić swój skrypt do konkursu? [*]zaprezentuj swój skrypt w dziale Lista skryptów, [*]zanim napiszesz temat dodaj przedrostek [Konkurs] przed nazwą skryptu, [*]pod uwagę będą brane tylko te tematy, które zostały stworzone po ogłoszeniu konkursu na skrypt miesiąca, [*]napisz posta w tym temacie według wzoru, który znajduje się niżej. Co będzie oceniane? [*]funkcje skryptu, [*]zapotrzebowanie na skrypt, [*]przejrzystość kodu, [*]działanie skryptu, [*]optymalność kodu. Wzór zgłoszenia skryptu. Nazwa skryptu: Link do tematu: Przykład. Nazwa skryptu: Czerwone banany Link do tematu: http://skript.pl/ind...czerwone-banany Inne informacje. Prace na konkurs [GRUDZIEŃ] Skrypt miesiąca #8 można oddawać do 31 Grudnia godz 12:00. Kolejny konkurs na Skrypt miesiąca zostanie ogłoszony po wybraniu skryptu na obecny miesiąc. W tym temacie można oddawać jedynie prace na konkurs. Posty nie zawierające zgłoszenia do konkursu będą usuwane oraz użytkownik będzie nagradzany ostrzeżeniem w postaci 5%. Zgłoszenia, które nie są napisane według wzoru będą ignorowane. Maksymalnie można zgłosić 2 skrypty do konkursu!
  2. Da się (z tym, że będzie odczytywane jako ciąg znaków, a nie czas). Można też sobie odpowiednio ustawić w konfiguracji Skript wyrażenie %now% (a dzięki możliwości manipulacji plikami yaml można nawet zrobić skrypt, który automatycznie to ustawia i przeładowuje konfigurację Skript).
  3. A jaką masz wersję skQuery? Wymagana jest co najmniej 3.22.1. Najlepiej ściągnij sobie najnowszą wersję dev z oficjalnej strony skquery.net i sprawdź czy problem nadal występuje.
  4. Jest już dział Komputery przeznaczony właśnie do tego typu treści. Forum dotyczy Skript, a nie komputerów czy programowania. Na nie.
  5. Gdy pobierasz wartość z pliku yaml i chcesz, żeby była traktowana inaczej niż tekst to musisz ją sprasować. set {_cena} to single value "cena" get of "plugins/Skript/scripts/prace/%arg 1%/%arg 2%.yml" parsed as number
  6. piratjsk

    archiwum mc

    Dodałem trochę pluginów (i kilka innych rzeczy) oraz troszkę inaczej zacząłem porządkować to archiwum. Edit: (26.11) ha! znalazłem craftbukkita i bukkita dla mc b1.2_01 klik Edit: (28.11) Dodałem skompilowanego najnowszego (dzisiaj udostępnionego) spigota dla mc 1.8 klik (najlepiej oczywiście skompilować go sobie osobiście ale jakby ktoś miał z tym problemy to może użyć tego, który udostępniam)
  7. Na prośbę autora zamykam i przenoszę do archiwum.
  8. piratjsk

    archiwum mc

    archiwum mc Zacząłem robić porządki w folderze z "minecraftowymi rzeczami" i w efekcie zaczęło powstawać coś takiego: klik Później pewnie dorobię do tego jakąś ładną stronkę, żeby wygodniej się z tego korzystało. Na ten moment archiwum zawiera: - wszystkie albo prawie wszystkie wersje mc (vanilla) - trochę serwerów (vanilla) - kilka craftbukkitów (+ dla mc beta: trochę pluginów) - kilka modów (dla mc beta) Później pojawi się pewnie więcej modów, craftbukkitów (+ pewnie trochę pluginów) i serwerów (vanilla). Może się komuś przyda. https://piratjsk.net/mc/mca/
  9. command /coins [<text&gt] [<text&gt] [<number&gt]: trigger: arg-1 is "reload": if player does not have permission "coins.admin": exit 2 sections else: set {coins.reload.%player%} to true send "Na pewno chcesz zresetowac wszystkim coinsy?" send "/coins <tak/nie>" stop arg-1 is "tak": if player does not have permission "coins.admin": exit 2 sections else: {coins.reload.%player%} is not set: make player execute command "/coins reload" stop delete {coins::*} send "Zresetowales wszystkim coinsy." stop arg-1 is "nie": if player does not have permission "coins.admin": exit 2 sections else: {coins.reload.%player%} is not set: make player execute command "/coins reload" stop delete {coins.reload.%player%} send "Zrezygnowales z resetowania coinsow." stop arg-1 is "add": if player does not have permission "coins.admin": exit 2 sections else: arg-2 is set: {coins::%arg-2%} is not set: send "Nie znaleziono gracza %arg-2%." send "/coins add <nick> <ilosc>" stop arg-3 is set: add arg-3 to {coins::%arg-2%} send "Dodles %arg-3% coins graczowi %arg-2%." stop send "Ile coinsow chcesz dac?" send "/coins add %arg-2% <ilosc>" stop send "Musisz podac gracza, ktoremu chcesz dac coinsy." send "/coins add <nick> <ilosc>" stop arg-1 is set: if player does not have permission "coins.admin": exit 2 sections else: {coins::%arg-1%} is not set: send "Nie znaleziono gracza %arg-1%." stop send "Coinsy gracza %arg-1%: %{coins::%arg-1%}%" stop {coins::%player%} is not set: set {coins::%player%} to 0 send "Coins: %{coins::%player%}%"on join: {coins::%player%} is not set set {coins::%player%} to 0 on quit: {coins.reload.%player%} is set delete {coins.reload.%player%}
  10. Automatycznie wygenerowana wiadomość. Ten temat został przeniesiony z "Skript → Pytania i problemy" do "Minecraft → Tryb wieloosobowy → Zarządzanie serwerem".
  11. Nie będzie przypadkiem łatwiej, przejrzyściej i bardziej optymalnie jak zapętlisz tylko listę, na której znajdują się odpowiedni gracze zamiast zapętlać wszystkich graczy i sprawdzać czy są na tej liście. every 5 second: loop {na::pk::*}: // i tutaj odwolujesz sie do loop-valueJedynym warunkiem, któy musisz spełnić aby to działało to dodawać graczy do listy, nie ich nazwy. add player to {na::pk::*}add %player/s% to {na::pk::*}
  12. Jest podpięty w dziale Poradniki: klik
  13. WildSkript i skQuery to dodatki do Skript. Dodają nowe elementy (efekty, wyrażenia, warunki, zdarzenia, funkcje), z których możemy korzystać tworząc skrypty. Czyli jak piszesz skrypt to oprócz elementów wymienionych w doc Skript, możesz też skorzystać z elementów z dodatków np.: Eff: play midi %text% to %players% Cond: %location% is within %location% to %location% Expr: content of file %text% Evt: [on] any move
  14. Hmm.. to tak: - strona zawiera błędy merytoryczne, - podajesz dodatki od dawna już nie wspierane, a pomijasz aktualne (włączając w to chyba największy dodatek jakim jest skQuery), - formatowanie strony pozostawia wiele do życzenia, - to jak tekst jest napisany (tak jak napisał @up "po polskiemu") pozostawia naprawdę strasznie dużo do życzenia - strona sprawia wrażenie napisanej bardzo "na odwal się" lub przez totalnego dzieciaka Ogólnie moim zdaniem, w ogóle nie powinieneś się za to nigdy zabierać, a strona powinna zostać usunięta (i zapewne się tak stanie gdy ktoś uprawniony ją przejrzy Edit: i rzeczywiście - już ją usunęli).
  15. Bo nie możesz dodawać gracza do pojedynczej zmiennej. Musisz go dodawać do listy zmiennych: add player to {CastleWar.gracze::%arg 2%::*}// zeby pobrac ilosc graczy na danej arenie:set {_ilosc} to size of {CastleWar.gracze::%arg 2%::*}A jeśli dobrze rozumiem i %arg 2% identyfikuje arenę to lepiej byłoby chyba stworzyć zmienne w tym stylu: add player to {CastleWar::areny::%arg 2%::gracze::*}// czyli {%nazwa skryptu%::areny::%nazwa/id areny%::%wlasnosc areny%}// i tak samo z kazda inna zmienna z tego skryptu:// {%nazwa skryptu%::%zmienne skryptu%}
  16. Mi kod, który podałem w pełni działa. Jesteś pewien, że używasz odpowiednio nazwanej i enchantowanej złotej łopaty?
  17. // 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
  18. Tak. Można używać elementów z każdego dodatku do Skript.
  19. W tym poradniku... dowiesz się co to są lambdy, jak się dzielą i dlaczego są takie użyteczne. Przedstawienie Czym 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życie Z 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średnio Pierwszym 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 ekwipunku Gdy 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
  20. Zjadłeś słówko "named" przed podaniem nazwy itemu. format slot 17 of player with 1 of gold nugget named "&a&l&oZloty Zabek" with lore "&6Procent: &8{@GoldNuggetsGracz}||&6Kilof: &8Kazdy" to be unstealable
  21. variables: bedrock.%player% = 0on click on bedrock: player's tool is golden shovel of silk touch 1 named "Rozwalacz" if rounded down y coord of clicked block <= 2: set event-block to bedrock send "Nie wolno! Nu nu nu!" stop {bedrock.%player%} is 5: send "&6Usuwacz Bedrocka skonczyl sie" stop set targeted block to air add 1 to {bedrock.%player%} wait 5 seconds remove 1 from {bedrock.%player%}
  22. command /otworz: trigger: if target block is trapdoor: if data value of target block is 0: set data value of target block to 4 data value of target block is 1: set data value of target block to 5 data value of target block is 2: set data value of target block to 6 data value of target block is 3: set data value of target block to 7 data value of target block is 8: set data value of target block to 12 data value of target block is 9: set data value of target block to 13 data value of target block is 10: set data value of target block to 14 data value of target block is 11: set data value of target block to 15 else: send "Musisz patrzec na trapdoor zeby go otworzyc."command /zamknij: trigger: if target block is trapdoor: data value of target block is 4: set data value of target block to 0 data value of target block is 5: set data value of target block to 1 data value of target block is 6: set data value of target block to 2 data value of target block is 7: set data value of target block to 3 data value of target block is 12: set data value of target block to 8 data value of target block is 13: set data value of target block to 9 data value of target block is 14: set data value of target block to 10 data value of target block is 15: set data value of target block to 11 else: send "Musisz patrzec na trapdoor zeby go zamknac."Edit: Albo tak jak napisał @down: // zamykaclose <wskazanie na trapdoor>// otwieraopen <wskazanie na trapdoor>// jesli zamkniete to otwiera i odwrotnietoggle <wskazanie na trapdoor>// np. taki kod:on left click: event-block is trapdoor open event-block// gdy klikniemy lpm w zamkniety trapdoor to sie otworzy
  23. Wygląda na to, że w tym zdarzeniu dane są bardzo krótko przechowywane. I nie da się pobrać więcej niż dwóch wartości Taki kod: on walk on orange stained clay: set {_b} to block under event-block set {_l1} to line 1 of block under event-block set {_l2} to line 2 of block under event-block set {_l3} to line 3 of block under event-block set {_l4} to line 4 of block under event-block send "%{_b}%" loop 4 times: send "%{_l%loop-number%}%"Z tak przygotowanym miejscem: Wyświetla (po przejściu po bloku gliny) taki wynik:
  24. Automatycznie wygenerowana wiadomość. Ten temat został przeniesiony z "Minecraft → Ogólne → Pytania i problemy" do "Społeczność forum → Pogaduszki".
  25. piratjsk

    Survival+

    Na prośbę autora zamykam i przenoszę do archiwum.
×
×
  • Dodaj nową pozycję...