luk4sMC
Użytkownik-
Ilość zawartości
51 -
Rejestracja
-
Ostatnia wizyta
Treść opublikowana przez luk4sMC
-
on right click on concrete: if event-block is white concrete: send "Kliknąłeś w biały blok" send "Tu jest problem -> %location of event-block%" set {block} to "%location of event-block%" replace all "x: " with "" in {block} replace all "y: " with "" in {block} replace all "z: " with "" in {block} send "%{block}%" Może da się lepiej... if "%location of event-block%" is "x: 521.5, y: 66.5, z: 161.5": send "Jupi xD"
-
to co Ci podał Kormic, zwróci Ci kordy i musisz je porównać czy się nie pomyliles o kratke np.... on left click nazwa bloku: if event-block is nazwa: send "tak, zgadza się" if jego rzeczywista lokacja = "ta którą podajesz": send "tak zgadz się" else: send "cos jest nie tak"
-
a ty po world wpisujesz nazwę swojego świata?
-
Skoro jest cudzysłów, to czy w tym miejscu można podstawić world of player? W teleportacji się nie da, więc pytam przy okazji... teleport player to location({x}, {y}, {z}, world "world", {yaw}, {pitch})
-
W moim artykule o wyrażeniach regularnych też ten znak się pojawia, więc polecam poczytać...
-
Ten znak nie znalazł się tam przypadkowo, ponieważ przyjęło się, że reprezentuje on wszystko co w informatyce uznawane jest za dane. Przykładowo *.jpeg, odnosi się do wszystkich plików JPEG w katalogu, w którym się znajdujesz. W innych jeżykach np. w BASH'u zmienna $* reprezentuje parametry wywołania skryptu, które w Skript rozumiane są jako argumenty arg-1, arg-2 itd... Zasada działania podobna
-
Myślę, że w wielu sytuacjach użycie tylko negacji jest jedynym i właściwym sposobem. Idealny przykład to sprawdzenie czy plik nie istnieje - nie odwrotnie czyli: czy plik istnieje. Wiem, że o tym napisałeś, ale w wielu sytuacjach ten stop będzie zbędny. #pesudo kod if plik istnieje stop else tworze plik if plik nie istnieje tworze plik Coś jak operatory logiczne && i ||, które to z javy pochodzą Brakuje mi czegoś na kształt instrukcji case case {zmienna} in jakis_string) wywołaj funkcje ;; lokalizacja_gracza) auto tłumaczenie skryptu. esac
-
1. SkQuery-4.1.4 2. Juz o tym pisałem w jednym temacie. teleport player to location({x}, {y}, {z}, world "world", 270, 0) oczekuje tak jakby 3 argumentów, a ja z pliku czytam całą współrzędną. 3. Coś mi się zbagowało o czym pisałem wyżej, więc zacząłem szukać przyczyny. Po kilku godzinach okazało się, że skQuery przestał czytać z pliku. Spróbuje ten drugi dodatek. 4. Zad pawiana! Jest dla wersji 1.15. skQuery jest dla 1.16... Z jednej linii zrobił się nam taki mały potworek, ale możemy za to dodatkowo ustawić yaw i pitch. Pytanie czemu nie można podstawić world of player??? Po kilku optymalizacjach
-
Witam. #Też jeszcze się uczą, pracuje nad wieloma projektami, więc wrzucam tutaj. Jest to winda, którą obsługuje się tylko jedną tabliczką -inaczej bym się za to nie zabrał. Kod obecnie wygląda jak wygląda, ponieważ Skript i sQuery zbagowały mi się tak bardzo, że ten pierwszy zamieniał wszystkie tabliczki na mapie, a drugi tak zwyczajnie przestał czytać pliki *.yml... stąd import zmiennych (w innych językach zmienne można exportować i importować ;)) Jak tego używać: koordynaty importowane, wczytywane są z pliku level.yml nazwa na tabliczce np. poziom, piętro, level nie jest stała i możemy ustawić w pliku ilość poziomów ustalamy w pliku level.yml każdemu poziomowi odpowiadają odpowiednie współrzędne. Film z mojego kanału (nie jest to promocja -mam go w celach edukacyjnych) Skrypt Plik level.yml Oczywiście sugestie odnośnie optymalizacji, poprawek i całej reszty mile widziane.
-
Chyba jakoś tak... set {_time} to 5 loop {_time} time: send "%{_time}% sek." to player #arg-1, arg-2, attacker set {_time} to {_time} -1 wait 1 seconds send "GO!" to player #arg-1, arg-2 #lub set {_time} to 5 loop {_time} time: send subtitle "%{_time}% sek." to player #arg-1, arg-2 set {_time} to {_time} -1 wait 1 seconds send subtitle "GO!" to player #arg-1, arg-2
-
Fajnie i bardzo praktyczne. Chodzisz po mapie i sprawdzasz wszystkie flagi. /lp user user|group permission set worldguard.region.flag.flags.entry false #? /lp user St4sPro permission set worldguard.region.flag.flags.pvp false #? Pytanie czemu może?
-
Pytanie co chcesz osiągnąć? każda działka może mieć inny tryb a przełączanie będzie się odbywało automatycznie. Możesz zrobić tryb mieszany tj. domyślnie survival, na działce gracza creative... PS Dasz creative...gracz szybko się znudzi i tyle będziesz go widział...
-
Problem z 'teleport player to {test}
luk4sMC odpowiedział(a) na xXx_Skrypter_xXx pytanie w Pytania i problemy
Można tak set {x.%player%} to player's x-coordinate set {y.%player%} to player's y-coordinate set {z.%player%} to player's z-coordinate +1 teleport player to location({x.%player%}, {y.%player%}, {z.%player%}, world "world", 90, 0) Tak się nie da Wiec można i tak #jeżeli kordy wpisujemy ręcznie lub korzystamych ze zmiennych teleport player to location({x}, {y}, {z}, world "world", 133, 0) teleport player to location(598, 34, 123, world "world", 133, 0) #jeżeli czytamy całe kordy z pliku set {xyz} to yaml value "korczy_spawna_np" from file "plugins/Skript/scripts/spawn_xyz.yml" execute console command "minecraft:tp %player% %{xyz}% facing ~-133 ~0 ~-90" -
Zastanów się czy jest Ci to potrzebne tj. jakiekolwiek ostrzeżenie? Jeżeli zbudujesz mocny słownik, a jedynym celem gracza będzie obejście go, to zwyczajnie banuj go zwiększając za każdym razem czas. Polecam swój poradnik i sposób działania pluginu NoCheatPlus...
-
Sam wczoraj gryzłem ten temat i postawiłem na SkQuery4. Obecnie dostępny jest na wersję: 1.16, tworzenie struktury plików i katalogów odbywa się automatycznie. oskarus2011 command /skquery4 [<integer=128>]: aliases: /sk4 trigger: #Struktura plików i katalogów utworzy się automatycznie add arg-1 to yaml list "liczby[integer]" from file "plugins/Skript/skrypty/plik.yml" #Drukowanie na czacie listy send "liczby[integer]:" to player loop yaml list "liczby[integer]" from file "plugins/Skript/skrypty/plik.yml": send " -%loop-value%" wait 0.2 second
-
Właśnie dokładnie tak miało to wyglądać! Był powód, ale mniejsza o to Obecnie się męczę z: RegEx[mcformat]: #Wzorzec znaków: &c, &6, §4 #- '[a-fk-o0-9]' #problem ze znakiem § Koniecznie wymagany jest znak §, który po zamknięciu programu zamienia się w losowe znaki od kwadratów po losowe napisy np. LAT itd. if message partially matches "(§%loop-value%)": Czary mary, problem zniknął, ale wcześniej też więc on chat: loop yaml list "RegEx[mcformat]" from file "plugins/Skript/scripts/regexlist.yml": if message partially matches "(§%loop-value%)": cancel event
-
Ja kudłaty, durnowaty, nie wiedziałem... jak czytać z pliku!!! Ale, że się naumiałem, to wprowadziłem kilka zmian! Update: 3.02.2021: słowa powszechnie uznawana za wulgarne można dodawać w pliku nazwy domen, serwerów można dodawać w pliku. Skrypt on chat: loop yaml list "RegEx[curses]" from file "plugins/Skript/scripts/regexlist.yml": set {_curses::*} to "%loop-value%" if message partially matches "%{_curses::*}%": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player loop yaml list "RegEx[spam]" from file "plugins/Skript/scripts/regexlist.yml": set {_spam::*} to "%loop-value%" if message partially matches "%{_spam::*}%": cancel event kick player due to "Powód: REKLAMA!%nl% Od: Administracja" ban player due to "REKLAMA!" for 5 seconds Plik *.yml Download #dla leniwych.
-
on chat: if message partially matches "(§\w)": #(§[a-fk-o0-9]) # formatowanie: &[abcdef], &[klmno], &[0-9] cancel event #& wyswietli sie #& c wyswietli sie #&c ni huhu nie wyświetli się ;) Sprawdź
-
Jak to było z tym magicznym "wyłączaniem serwerów, itp."?
luk4sMC odpowiedział(a) na V4T3 pytanie w Pytania i problemy
Nie zamykaj tylko sprawdź kilka rzeczy i podziel się nimi. Jeżeli masz VPS'a, to zabierz prawo do zapisu w pliku ops.* i próbuj do niego coś zapisać...jakkolwiek. Możesz też napisać prosty Bash'owy skrypt, który będzie Ciebie co 1 sek informował czy plik uległ jakiejkolwiek zmianie... Nie mam VPS wiec nie pomogę, ale mogę zrobić to lokalnie i napisać Ci taki skrypt... -
Jak to było z tym magicznym "wyłączaniem serwerów, itp."?
luk4sMC odpowiedział(a) na V4T3 pytanie w Pytania i problemy
Wiesz... ja zawsze powtarzam, że kij ma dwa końce. Mam takich misiaczków na serwerze, którzy od początku mobilizują mnie to ciężkiej pracy Wystarczyło u Ciebie postawić serwer tylko z WG i czekać. Pominę to, że dziś w WG da się wyłączyć dawanie i zabieranie op dla operatora. Możliwe ze zabranie uprawnień do zapisu w pliku ops.* też dałoby Ci jakieś wskazówki. Tak ja mówię, małymi kroczkami, a znalazłbyś przyczynę... Warto też przejść z Windowsa na Linuksa i narzędziami takimi jak np. grep (+wyrażenia regularne) czytać logi... -
Dobrze, że jakiś konsensus miedzy nami jest Zrobię tak, ze dodam poniżej poradnik dla kogoś kto chciałby zgłębić temat bardziej. Ważne, że jest działający program, który zwróci to co ma zwrócić, a osoba zainteresowana będzie miał bazę do dalszej pracy...
-
Kormic, nie wydaje mi się, że tworzenie koła na nowo ma jakikolwiek sens! Na wikipedii jest wystarczająco obszerny materiał, ale nie tylko tam znajdziesz ciekawe informacje. Wpisanie słów "wyrażenia regularne java" zwraca tak obszerny materiał, że każdemu wystarczy. Wzorce mogą się różnic nieznacznie a ja nie tylko w Skript siedzę, więc stąd m.in ten poradnik. Zrobiłem to przede wszystkim dlatego, że przyzwyczajony do uniksowych programów: sed, grep itd, inaczej korzystałem ze wzorców co mnie zgubiło i zmarnowałem dużo godzin. W zasadzie to ja nie lubiłem tych potworków, a wolałem przetwarzanie danych na niskim poziomie Zrobiłem to bo szukałem w google pod hasłem regex skript i nieniewiele tego jest, a to co jest czyt. u mnie nie działa. W rzeczywistości nie zależny mi na jakichkolwiek pochwałach czy statusie tutaj Napisałem to na kolanie i nie uważam, żebym się napracował. Zrobiłem to bo się nudziłem Zrobiłem to, ponieważ kogoś to zainteresuje i zbudujemy razem słownik. Zanim to napisałem przeszukałem w google czy taki temat pojawił się na tym forum. Nie pojawił sie! Za to pojawiły sie kolejne skrypty pod którymi ktoś pisał "a zrób tak, żeby blokowało k u r * Aa Przecież to jest u standaryzowane, więc co ja mogę więcej? Uruchomienie skryptu i wpisanie przekleństw bliskoznacznych ze słowem kurwa wyjaśni każdemu wszystko. Powyższy wzorzec może oznaczać: <- Przecież to jest wyjaśnienie! słowo *UJ pisane na wiele sposobów uwzględniając wielkość liter, ich wielokrotne powtórzenia i spacje. [Hh] jedno wystąpienie litery H lub h \s* dowolna liczba spacji lub wcale [U\s*u]+ wielokrotne wystąpienie litery U lub u oddzielone spacją lub wcale [Jj] jedno wystąpienie litery J lub j A co się takiego złego stanie? Wyrzuci w linuksowym terminalu lub webowej konsoli błąd. W grze admin nawet tego nie zauważy. Nawet skrypt nie wyrzuci błędu...
-
[1] [trochę teorii] Jeżeli zainteresowałeś się tym tematem i to czytasz, to odpowiem stanowczo tak!!! Możesz w ten sposób zablokować reklamę serwera, słowa uznane za wulgarne lub to co według Ciebie uznane jest za niewłaściwe. Czym są wyrażenia regularne? Za przykład niech posłużą przekleństwa, wulgaryzmy, ponieważ są jednym z powodów powstania tego poradnika. Wyrażenie Regularne to "grupa", [zbi(ór|ory) znak(Óó)w] (pasując(y|e)) dosłownie do porównywanego słowa. Słowa, wyrazy, liczby czy nawet emotikony są ciągiem, łańcuchem znaków (ang. string). W tych właśnie łańcuchach widoczne są znaki, które my sami (nasz mózg) potrafimy rozpoznać i zinterpretować jako słowa zakazane. Przykładowo pół słowo: kurw czy spier będzie miało dla nas konkretne znaczenie. Nie trzeba go kończyć czy odmieniać, żeby zrozumieć co dana osoba miała na myśli, chciała nam przekazać. Ciąg znaków, w którym występuje znak [.] a po którym występują znaki pl, com to nic innego jak adres strony internetowej, serwera. Przykładowe wzorce: [A-Za-z] - małe i wielkie litery bez polskich znaków diakrytycznych. [A-Za-zĄą] - małe i wielki litery uwzględniając znak Ą i ą. [0-9] - cyfry od 0 do 9. \s - biały znak czyli znak spacji. * - 0 lub więcej wystąpień. \s* - 0 lub więcej wystąpień białego znaku. + - 1 lub więcej wystąpień. [A]+ - 1 lub więcej wystąpień znaku A. [Aa] - 1 wystąpienie znaku: A lub a. (e|o) - 1 wystąpienie znaku e lub o (e|o)+ - 1 lub więcej wystąpień znaków e lub o występujących przed kwantyfikatorem + (Ee|Oo)+ - 1 lub więcej wystąpień znaków E,e lub O,o występujących przed kwantyfikatorem + \&\w - całkowita blokada formatowania tekstu na czacie [2] [trochę praktyki] Jeżeli chcesz dowiedzieć się czegoś więcej lub zacząć pracować już teraz, polecam skorzystać z rad poniżej: Obszerniejszy materiał czym są wyrażenia regularne znajdziesz m.in na wikipedia.org lub w google wpisując odpowiednie hasła. Jak ich używać i gdzie znajdę przykłady? Polecam szukać w google pod hasłem "wyrażenia regularne java" i ustawić język na polski... Jak je budować? Polecam stronę: https://regex101.com Wszystko odbywa się w czasie rzeczywistym, więc mamy na bieżąco podgląd tego co próbujemy uzyskać. Poniżej przykładowy wzorzec i ciągi znaków, które do tego wzorca pasują. #REGULAR EXPRESSION j(e|o)b TEST STRING ale z ciebie zjeb!, ty zajobie, jebnięty jestes?, zajebię ci!!!, zajebany cziter... [3] [właściwa część tematu] Teraz kilka prostych, ale zadziwiająco skutecznych przykładów wykorzystanych w Skript. ([Hh]\s*[U\s*u]+\s*[Jj]) Powyższy wzorzec może oznaczać: słowo HUJ pisane na wiele sposobów uwzględniając: wielkość liter, ich wielokrotne powtórzenia i spacje. początek wzorca: [Hh] jedno wystąpienie litery H lub h. początek środka wzorca: \s* dowolna liczba spacji lub wcale. koniec środka wzorca: [U\s*u]+ wielokrotne wystąpienie litery U lub u oddzielone spacją lub wcale. koniec wzorca: [Jj] jedno wystąpienie litery J lub j. Efekt: Hh h Uu jJ ([Jj]\s*([E\s*e]+|[O\s*o]+)\s*[Bb]) Powyższy wzorzec może oznaczać: słowo ZJEB lub ZAJOB pisane na wiele sposobów uwzględniając: wielkość liter, ich wielokrotne powtórzenia i spacje. początek wzorca: [Jj] jedno wystąpienie litery J lub j początek środka wzorca: \s* dowolna liczba spacji lub wcale koniec środka wzorca: ([E\s*e]+|[O\s*o]+) wielokrotne wystąpienie litery E lub e oddzielone spacją lub wcale albo wielokrotne wystąpienie litery O lub o oddzielone spacją lub wcale koniec wzorca: [Bb] jedno wystąpienie litery B lub b (aternos|[Ss])\s*(\.|kropka|)\s*[Mm]\s*[Ee] Powyższy wzorzec może oznaczać: aternos.me pisane na wiele sposobów tj: aternos.me, nazwaserwera aternos ME, aternos kropka Me itd. początek wzorca: (aternos|[Ss])\s* ciąg, łańcuch znaków (string) czyli aternos po którym występuje znak spacji lub wcale lub znak S,s po którym występuje znak spacji lub wcale środek wzorca: (\.|kropka|) znak (.) lub ciąg, łańcuch znaków "kropka" koniec wzorca: \s*[Mm]\s*[Ee] znak spacji lub wcale po którym występuje litera M lub m, znak spacji lub wcale i litera E lub e Efekt: aternosme.me, aternos kropka me, aternos. mE czy MojSerwer s.me Skrypt on chat: if message partially matches "([Jj]\s*([E\s*e]+|[O\s*o]+)\s*[Bb])": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "([Kk]\s*[U\s*u]+\s*[R\s*r]+\s*[Ww])": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "([Hh]\s*[U\s*u]+\s*[Jj])": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "(aternos|[Ss])\s*(\.|kropka|)\s*[Mm]\s*[Ee]": cancel event kick player due to "Powód: REKLAMA!%nl% Od: Administracja" ban player due to "REKLAMA!" for 60 seconds #minutes Możemy w ten sposób zablokować każdy...dosłownie każdy wzorzec. Niestety czym bardziej jest on skomplikowany tym większe obciążenie dla silnika wzorców a co za tym idzie, obciążenie serwera. Ale to już pozostawiam każdemu do samodzielnego testowania Ddwnload
-
Nie mam wielkiego doświadczenia, ale sam ostatnio pisałem o priorytetach i demonizowaniu skryptów. No i w ruch poszła optymalizacja silników. Jeżeli na serwerze jest wiele światów i są one nieograniczone, to coś to wszystko co robi gracz musi liczyć! Ja, pomimo, że chyba jestem jedynym, który napisał skrypt do instalacji serwera na VPS, sam go nie posiadam (ponoć różnica ogromna) Ale jak to mawiają "Szewc w dziurawych..." PS Na polskiej stronie spigota masz wiele fajnych i aktualnych poradników. Nie wiem czy mogę wklejać tutaj linki?
-
([Jj]+\s*([Ee]+|[Oo]+)\s*[Bb]+)" Powyższy wzorzec może oznaczać: .* dowolna liczba wszystkich znaków lub wcale poprzedzająca [przekleństwo] [Jj]+ jedno lub wielokrotne wystąpienie litery J lub j \s* dowolna liczba spacji lub wcale ([Ee]+|[Oo]+) jedno lub wielokrotne wystąpienie liter E,e lub O,o Co w efekcie pasuje do !!!zjeb!!! >>zajob<< Z a JeBię Cię czy nawet zZZZZ Aa jeb IĘ Zdanie: doIebie Ci na Arenie!!! wyświetli się dojebie ci na Arenie!!! nie wyświetli się "([Kk]+\s*[Uu]+\s*[Rr]+\s*[Ww]+)" Powyższy wzorzec może oznaczać: .* dowolna liczba wszystkich znaków lub wcale poprzedzająca [przekleństwo] słowo KURWA pisane w dowolny sposób tj kU rWa, Kur WA!!!, kurwiszon ale nie obejmuje słowa KURA. on chat: if message partially matches "([Dd]+\s*[Ee]+\s*[Bb]+\s*[Ii]+)": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "([Jj]+\s*([Ee]+|[Oo]+)\s*[Bb]+)": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "([Kk]+\s*[Uu]+\s*[Rr]+\s*[Ww]+)": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player if message partially matches "([Hh]+\s*[Uu]+\s*[Jj]+)": cancel event set {_message} to message send "" to player send " &cSPAM: &f%{_message}%" to player send "" to player #jezeli message = [ciąg znaków] po którym występuje znak [.] lub [kropka] po którym występuje me, ME. mE, M e itd if message partially matches "((\.|krop.*)\s*[Mm]+\s*[Ee]+)": cancel event kick player due to "Powód: REKLAMA!%nl% Od: Administracja" Wysyła tylko do gracza, więc nie spami czatu. Myślę, że dałoby się zabezpieczyć przed jednym lub wielokrotnym wystąpieniem spacji tj. Z jE b
