Skocz do zawartości

piratjsk

Użytkownik
  • Ilość zawartości

    600
  • Rejestracja

  • Wygrane w rankingu

    5

Treść opublikowana przez piratjsk

  1. piratjsk

    Płaska mapa

    Na prośbę autora zamykam i przenoszę do archiwum.
  2. Na prośbę autora zamykam i przenoszę do archiwum.
  3. Ukryłem niepotrzebną "dyskusję" między Parrotem a SzymnYo ~ KoYGeR. @topic Pomysł nawet fajny, może być.
  4. Czy lepszy nie wiem. Podobno wydajniejszy ale ja z niego nie korzystam więc nie wiem. Ogólnie Spigot to zmodyfikowany CraftBukkit więc wszystkie pluginy korzystające z api Bukkit bedą działać.
  5. Wymaga skQuery: set {_links::*} to groups 1 of message matched to "((https?://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?)"loop {_links::*}: replace loop-value in message to "<cos tam>"Teoretycznie (bo nie testowałem) ten kod powinien najpierw zapisać wszystkie linki z wiadomości do listy {_links: :*}, a później zamienić je na "<cos tam>".
  6. piratjsk

    Skrypt na Drop? o.O

    Korzystając z skQuery można to zrobić za pomocą 2 itemów, jeden dodaje np. 0.1, a drugi tyle odejmuje + ewentualnie jeszcze 3 item, na który jak najedziemy wyświetli się nam aktualna wartość.
  7. piratjsk

    Skrypt na Drop? o.O

    Hmm.. te wszystkie skrypty na drop z kamienia zaczęły powstawać po tym jak się okazało, że sporo "adminów"* serwerów nie potrafi sobie poradzić z cziterami ani nawet z konfiguracją pluginu OtherDrops. * - żadni z nich admini skoro nie potrafią sobie z tym poradzić Z tego co się orientuję to taki drop z kamienia ma miejsce tylko na polskich serwerach, na zagranicznych jeszcze się z czymś takim nie spotkałem. Ogólnie moim zdaniem fakt, że jakiś serwer korzysta z takiego sytemu jest równoznaczny z tym, że jego administrator nie potrafi normalnymi sposobami (nie wpływającymi na rozgrywkę) poradzić sobie z cziterami albo po prostu olewa graczy i serwer - dąży do tego aby administracja nie musiała nic robić. (w zasadzie powód może być jeszcze jeden: chęć przypodobania się graczom, bo gra z takim dropem jest dużo łatwiejsza więc wielu graczom-dzieciakom się takie coś podoba) Wiele serwerów jednak z tego korzysta więc pewnie znajdzie się trochę osób, którym skrypt się spodoba i będą z niego korzystali.
  8. Po co? Jest napisane przecież wyraźnie, że można tworzyć tylko efekty i wyrażenia, i że trzeba w tym celu zdeklarować je w pliku z rozszerzeniem .skq. Zakładam, że użytkownicy tego forum nie są totalnymi idiotami i wystarczy o danej rzeczy napisać jeden raz. //Czas pokaże ~Tropereks
  9. Bo w innym przypadku nie będzie to działać. Nie. Można tworzyć tylko nowe wyrażenia i efekty, nie zdarzenia (eventy).
  10. piratjsk

    BGiant

    Już od dłuższego czasu ważne jest tylko aby w danym fragmencie była taka sama jednostka wcięcia. Nie jest ważne czy są to 3 spacje, 4 taby, 1 spacja czy nawet 200 tabów.
  11. nie. powinno być tak: -- plik .skq: declare effect "zabij wszystkich": # plik .sk: custom effect logic for "zabij wszystkich": kill all players # plik .sk: command /zabij: trigger: zabij wszystkich
  12. Dodałem w pierwszym poście, na dole, w spojlerze, mam nadzieję, że bardziej zrozumiałą dla Was wersję poradnika. Moim zdanie jest napisane jasno i przejrzyście, a na pewno nie chaotycznie. Ale cóż najwyraźniej myślę i odbieram niektóre rzeczy inaczej niż część użytkowników tego forum. Nom.
  13. Przecież jest tu wszystko ładnie, po polsku opisane, są nawet podane przykłady. Więc jeśli ktoś wykaże się choć niewielką inteligencją to powinien bez problemu, chociażby na zasadzie edytowania przykładu zrozumieć jak się tego używa. Tak. Można tworzyć własne efekty i wyrażenia, np.: -- plik .skq declare effect "nowy efekt dla %player%" # plik .sk custom effect logic for "nowy efekt dla %player%": give 1 apple to player expression 1 kick player expression 1 due to "dostales jablko dzieki nowej funkcji skQuery" # i w skrypcie np.: command /test: trigger: nowy efekt dla player Edit: Hmm.. ok. Skoro macie problemy, żeby to zrozumieć to napiszę później taką bardziej syntetyczną, myślę, że łatwiejszą do zrozumienia wersję tego poradnika.
  14. Tworzenie dodatku dla Skript w Skript? Wielu skrypterów używało zmiennych i niestandardowych komend aby tworzyć skomplikowane i łatwo rozszerzalne skrypty. Niestety, dla wielu korzystanie z komend jest niewygodne i uciążliwe. Autorzy kilku dodatków (w tym skQuery, WildSkript, a nawet samego Skript) próbowali (i w większości im się to nie udało) wprowadzić system, który mógłby zastąpić korzystanie z komend zachowując piękno składni Skript. Dzięki wprowadzeniu niestandardowych wyrażeń i efektów możesz stworzyć swój mini-dodatek do Skript bez jakiejkolwiek wiedzy na temat Javy. Krok 1: Tworzenie pliku .skq Pierwszy krok na drodze do stworzenie nowych efektów i wyrażeń polega na stworzeniu w folderze /scripts/ pliku z rozszerzeniem .skq. Jeśli nazwę pliku zaczniesz od - nie zostanie on, tak jak w przypadku zwykłego skryptu, załadowany. Dodaj jedną lub więcej poniższych linii kodu do utworzonego pliku: Efekty Wszystkie elementy są formatowane tak jak to można odczytać z oficjalnej dokumentacji, co oznacza, że możesz użyć %<typ>% wewnątrz składni aby skorzystać z parametrów. declare effect "<składnia Twojego efektu>" Wyrażenia declare expression "<składnia Twojego wyrażenia>" as "<typ wartości, którą zwraca Twoje wyrażenie>" declare loopable expression "<sładnia>" as "<typ>" declare property "<składnia>" as "<typ>" for "<typ obiektu, dla którego jest ta właściwość>" Komentarze Każda linia zaczynająca się -- będzie odczytana jako komentarz i zignorowana. Plik example.sqk, do którego będę się niżej odwoływał zawiera następujący kod: -- Test 1.0 declare effect "my custom effect" declare expression "answer to life" as "number" declare loopable expression "cool people" as "text" declare property "%number% decrementation" as "number" for "number" Należy także zwrócić uwgaę, że gdy uruchomisz swój serwer, plik .skq zostanie deaktywwany (w nazwie zostanie dodany -) i w folderze /scripts/ znajdzejsz nowy plik .skqc. Jeśli nie udostępniasz źródła, NIGDY NIE UDOSTĘPNIAJ PLIKU .SQK. Jeśli chcesz zmienić zawartość pliku .skq musisz usunąć - z początku jego nazwy. Krok 2: Dodawanie logiki Teraz w pliku .sk musisz dodać logikę (kod) do Twojego nowego efektu/wyrażenia. Zakładając, że doszedłeś już tak daleko, zakładam, że rozumiesz, że będę tu tworzył implementację pliku exapmle.skq. Obowiązują tu zwykłe zasady Skript, niestandardowe elementy mogą być stosowane w tworzonej logice. custom effect logic for "my custom effect": give 1 diamond to all players wait 10 seconds ban all players custom expression logic for "answer to life": set expression value to 42 custom expression logic for "cool people": set expression value to "w00tmast3r", "MostFunGuy", "Nfell2009", "Njolbrim" custom property logic for "%number% decrementation" of "number": set expression value to number origin expression - number expression 1 Podstawowe wyrażenia: lekka dokumentacja # Dotyczy wszystkich przypadków gdy chcemy uzyskać wartość wyrażenia zdefiniowanego w składni tworząc logikę elementu # Loopable (zapętlanie) dotyczy tylko wyrażeń, które zwracają wiele wartości (teksty, gracze, bloki, itp.) # Type (typ) dotyczy typu, który oczekujesz, że zwróci wyrażenie (liczba, przedmiot, gracz, mob, itd.) %type% [loopable] expression( |-)%number% # Dotyczy tylko wyrażeń i własności (properties), określa to czym chcesz, żeby była wartość wyrażenia [custom] expression ([return] value|output) # Dotyczy tylko własnośći (properties), to samo co wyrażenie ale odnosi się do właściciela własności (np. player's sack, cheese of {_var}) %type% origin expression Dokładniej opisująca i tłumacząca zagadnienie wersja poradnika: declare property "<składnia>" as "<typ>" for "<typ obiektu, dla którego jest ta właściwość>" -- to wyrażenie odwoływać będzie się do jakiegoś konkretnego typu -- np.: declare property "miejsce w rankingu" as "integer" for "player" Parametry: Podczas definiowania efektów i wyrażeń można użyć wyrażeń w samej składni, mianowicie np.: declare effect "daj jablko dla %player%" declare expression "%player% ma super zbroje" as "boolean" i później w implementacji możemy pobrać wartość, która została wprowadzona w miejsce %player%. Oczywiście zamiast player może być każdy inny typ (np. world, number, item, entity, itd.). Komentarze: Komentarze tworzymy zaczynając linię od dwóch myślników, np.: -- to jest komentarz i ta linijka nie ma żadnego wpływu na działanie naszego mini-dodatku Ważne: Gdy uruchomimy serwer plik .skq zostanie "skomentowany" (na początku jego nazwy zostanie dodany myślnik) i w folderze /scripts/ zostanie automatycznie stworzony plik z rozszerzeniem .skqc. Jeśli chcesz edytować plik .skq to musisz z jego nazwy usunąć myślnik, edytować plik i ponownie uruchomić serwer lub ewentualnie wykonać jego reload. Implementacja stworzonych elementów Żeby nasze efekty i wyrażenia coś robiły/zwracały musimy w zwykłym pliku .sk np. "miniaddon.sk" wpisać następujący kod: W logice efektów i wyrażeń możemy używać następujących wyrażeń odwołujących się do zdefiniowanych parametrów: # w efektach, wyrażeniach i własnościach (property) # loopable tylko dla parametrów zwracających wiele wartości (teksty, gracze, itemy, liczby itp.) # type to typ wyrażenia, do którego się odwołujesz (np. player, block, item, world itd.) %type% [loopable] expression( |-)%number% # tylko w wyrażeniach i własnościach (property) # zapisujemy do tego wyrażenia to co ma zwracać nasze nowe wyrażenie/własność [custom] expression ([return] value|output) # tylko w własnościach (property) # zwraca obiekt, do którego tworzymy naszą własność # type to typ tego obiektu %type% origin expression Dla zdefiniowanych (w pliku .skq) efektów: # efekt bez parametrów: custom effect logic for "zabij adminów": loop all players: loop-player is op kill loop-player broadcast "Wszyscy admini online zostali zabici." # efekt z jednym parametrem: custom effect logic for "daj jablko dla %player%": set {_p} to player expression 1 if {_p} is op: give {_p} 5 gold apples send "dostales 5 zlotych jablek" to {_p} else: give {_p} 5 apples send "dostales 5 jablek" to {_p} Dla zdefiniowanych wyrażeń: custom expression logic for "moje wyrazenie": set expression value to true # loopable expression: custom expression logic for "pobliskie krowy": loop cows in radius 5 around player: add loop-cow to {_krowy:: *} set expression value to {_krowy:: *} custom property logic for "miejsce w rankingu" of "player": set {_p} to player origin expression # kod na obliczanie miejsca w rankingu set expression value to {_miejsce} custom expression logic for "%player% ma super zbroje": set {_p} to player expression 1 set {_v} to 0 if chestplate of {_p} is diamond chestplate named "super klata": add 1 to {_v} if boots of {_p} is diamond boots named "super kapcie": add 1 to {_v} if leggings of {_p} is diamond leggings named "super gatki": add 1 to {_v} if helmet of {_p} is diamond helmet named "super beret": add 1 to {_v} if {_v} is 4: set expression value to true else: set expression value to false Powyższy poradnik opisuje funkcje dodane w najnowszej wersji dev skQuery, możliwej do pobrania z oficjalnej strony dodatku http://skquery.net. Źródło: http://dev.bukkit.org/bukkit-plugins/skript/forum/tutorials/72019
  15. Linki przestały działać. Autor nie zamierza już zajmować się tym skryptem. Zamykam i przenoszę do archiwum.
  16. piratjsk

    Lambda, menu

    Prawdopodobnie w menu można wywołać tylko pojedynczą lambdę. Żeby wykonać więcej akcji musiałbyś użyć funkcji: command /efekty: trigger: open chest with 4 rows named "&aMenu efektow:" to player wait 1 tick if {ParticlesManager::%player%::firework} is false: format slot 10 of player with 1 of firework named "&9Fajerwerki &7(OFF)" with lore "&7Kliknij, aby wlaczyc." to run [access "on" from player] else: format slot 10 of player with 1 of firework named "&9Fajerwerki &7(ON)" with lore "&7Kliknij, aby wylaczyc." to run [access "off" from player]function "on": set {_p} to parametr 1 set {ParticlesManager::%{_p}%::firework} to true send "&e[ParticlesManager] &7Efekt: &efajerwerki &7zostal: &awlaczony&7." to {_p} returnfunction "off": set {_p} to parametr 1 set {ParticlesManager::%{_p}%::firework} to false send "&e[ParticlesManager] &7Efekt: &efajerwerki &7zostal: &cwylaczony&7." to {_p} returnKod nietestowany, pisany na sucho. //Już nie potrzebuję tego, zamykam. ~Norbi
  17. Mała aktualizacja. Dodałem efekty: save [world] %world% save [all] worlds Zacząłem dodawać wsparcie dla PlotMe: codn: %player% is on [a] plot expr: plot at %location% Od teraz PirateSK korzysta z (i wymaga do poprawnego działania) WE i WG wersji 6.0.0-SNAPSHOT. Dodanych elementów nie testowałem. Udostępniam więc na ten moment tylko wersję dev: klik Dzisiaj to sprawdzę i (jeśli wina jest po stronie mojego dodatku) poprawię.
  18. skQuery posiada takie wyrażenie: (doc) player from [uuid] %text%
  19. Pierwszy sposób trochę bez sensu, mapa nie jest nigdzie wczytywana więc zakładam, że chcesz jej użyć jako domyślnej, a w takim wypadku lepiej skonfigurować sobie serwer w pliku server.properties żeby generował płaską mapę zamiast tworzyć ją na singlu i kopiować na serwer.
  20. Autor tematu został zbanowany, a poradnik zawiera błędy. Zamykam i przenoszę do archiwum.
  21. Jak w końcu się wezmę za ten dodatek to dodam. Podobno się da. W doc jest jasno napisane: nazwa schematu musi być tekstem i nie może zawierać rozszerzenia pliku, czyli twój kod powinien wyglądać tak: command /wklejto: trigger: paste schematic "arena1" at {arena1.schem.paste}Zmienna {arena1.schem.paste} musi przechowywać lokację.
  22. Zwycięzcą poprzedniego konkursu na skrypt miesiąca (październik) jest użytkownik Anemonex (Nature Runes). 2 miejsce: Norbi (PlayerManager) 3 miejsce: febbe (JustWaves) 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 [listOPAD] Skrypt miesiąca #8 można oddawać do 30 Listopada 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!
  23. Było: klik
  24. tak. szczur internetowy
×
×
  • Dodaj nową pozycję...