Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 08/22/20 uwzględniając wszystkie działy

  1. @xAxee da się z użyciem skript-reflect (fork skript-mirrora) import: org.bukkit.inventory.AnvilInventory on inventory click: event.getInventory() is an instance of AnvilInventory set {_rawSlot} to event.getRawSlot() {_rawSlot} is event.getView().convertSlot({_rawSlot}) {_rawSlot} is 2 set {_item} to event.getCurrentItem() {_item}'s name contains "&" cancel event send "&cNie można dopisywać znaku &a'&' &cdo przedmiotów" to event.getWhoClicked() wystarczy skopiować mój kod (testowane na paper-385) Wymagane pluginy to - Skript oczywiście - skript-reflect https://github.com/TPGamesNL/skript-reflect/releases/tag/v2.1.0
    2 punkty
  2. TabCraft

    Bardzo pomocna i bezinteresowna osoba

    Bardzo pomocna i bezinteresowna osoba
    2 punkty
  3. PanMaruda

    Komendy w Skript

    Chyba nadszedł czas na odświeżenie i dopieszczenie tego tematu... zatem: Jak zdefiniować komendę: każdą komendę musimy rozpocząć od początku nowej linijki pierwszym słowem w owej linijce zawsze jest 'command', po nim występuje opcjonalnie ukośnik a za nim nazwa naszej komendy na końcu danej linijki stawiamy dwukropek - jako rozpoczęcie nowej sekcji (w tym przypadku komendy) poniżej dwa przykłady tworzące komendę '/poradnik' command poradnik: command /poradnik: jak wiadomo - po każdym dwukropku następna linia musi być poprzedzona o jedno wcięcie więcej 'wcięcie' ustalamy zawsze w drugiej linijce każdego wydarzenia, funkcji czy tak jak w tym przypadku - komendy. Wcięcie składa się z dowolnej liczby spacji lub tabulatorów (przy czym najczęściej wykorzystywanym i najbardziej przejrzystym jest jeden tabulator (klawisz TAB). Wcięć nie wolno mieszać w pojedynczej sekcji skryptu - jeżeli w drugiej linijce użyliśmy jednego taba, tak we wszystkich kolejnych musi to być jeden tab (a nie powiedzmy 4 spacje) Każda komenda posiada konfigurację (ale o tym będzie później) - zakończeniem konfiguracji jest słowo 'trigger' (poprzedzone dwukropkiem) - oznacza ono część właściwą komendy - czyli wykonywany kod (+przykład użycia wcięcia - jednego taba) command /poradnik: [wcięcie] trigger: command /poradnik: trigger: po słowie trigger, możemy rozpocząć pisanie kodu, poniżej pokażę przykład z wysyłaniem wiadomości do gracza (lub konsoli), który wykonał komendę. Skorzystam z efektu 'send "wiadomość"' command /poradnik: [wcięcie] trigger: [wcięcie] [wcięcie] send "Pierwsza komenda" command /poradnik: trigger: send "Pierwsza komenda" Argumenty komendy - rodzaje, definiowanie: jak wiadomo - w większości komend możemy korzystać z argumentów - każdy argument (poza ostatnim) oddzielony jest od siebie (i nazwy komendy) spacjami aby do komendy dodać argument musimy w pierwszej linijce, zaraz po nazwie wpisać typ argumentu w nawiasach ostrych '<typ argumentu>' (przy korzystaniu z argumentów należy pamiętać o tym, że dwukropek wędruje na koniec linijki - za wszystkie argumenty) 'typy argumentów' - czyli wartości które przyjmuje argument rozpisane są w każdej dokumentacji w zakładce 'types'. Wymuszają one na graczu wprowadzenie odpowiedniej wartości - np. tekstu, liczby, nicku gracza lub koloru. Zazwyczaj korzystamy z czterech typów: string (lub text) - tekst number - liczba integer (lub int) - liczba całkowita player / offline player - nick gracza online lub offline w przykładzie poniżej podam komendę z jednym argumentem o typie 'string': command /poradnik <string>: powyżej nasz pierwszy argument jest jednocześnie ostatnim, zatem będzie zwracał wszystko co w nim wpiszemy dodawanie kolejnych argumentów jest proste - wystarczy postawić spację i wpisać kolejny typ: command /poradnik <string> <integer> <string>: powyżej mamy trzy argumenty - tekst, liczbę całkowitą oraz drugi tekst - należy pamiętać, że pierwszy tekst zwróci nam tylko jedno słowo, liczba tylko jedną liczbę, a ostatni argument wszystko pozostałe w powyższych przykładach stworzone argumenty są obowiązkowe do podania - gdy tego nie zrobimy - komenda zwróci błąd istnieje opcja tworzenia argumentów opcjonalnych - tj. takich, gdzie podanie argumentu nie jest potrzebne - wystarczy typ argumentu wpisać dodatkowo w nawiasy kwadratowe '[<typ argumentu>]' opcjonalne argumenty używamy z reguły na końcu - na początku wstawiamy te wymagane command /poradnik <string> <integer> [<string>] [<number>]: dla każdego argumentu możemy ustawić 'domyślną wartość' - należy jednak pamiętać by była ona zgodna z podanym typem po zdefiniowanym typie argumentu wstawiamy znak równości, a za nim naszą domyślną wartość '<typ argumentu=wartość>'- będzie ona używana w momencie gdy gracz wykona komendę nie podając danego argumentu, przykładowo: command /poradnik <integer=10>: liczbę całkowitą (oraz zwykłe liczby) zapisujemy bezpośrednio po znaku równości - zgodnie ze składnią skripta command /poradnik <string="domyślny tekst">: tekst w argumencie zapisujemy dodatkowo w cudzysłowach - zgodnie ze składnią skripta Argumenty komendy - użycie: myślę że warto zacząć od wyjaśnienia iż 'argument komendy' jest wyrażaniem ('expression') i można z niego korzystać tak jak ze wszystkich innych wyrażeń - tj. pobierać jego wartość, wykonywać na nim działania matematyczne itp. odwołujemy się do niego wpisując słowo 'argument' (w skrócie: arg) o ile argument jest jeden lub 'argument-numer' (w skrócie: arg-numer) gdy trzeba odnieść się do konkretnego argumentu stwórzmy zatem komendę z opcjonalnym argumentem tekstowym i wyślijmy jego treść do gracza po wpisaniu komendy command /poradnik [<string>]: trigger: send "%argument%" słowo 'argument' zostało umieszczone w procentach - co powoduje wyświetlenie wartości owego argumentu (wyrażenia) w tekście, który wysyłamy do gracza jeżeli w argumencie podamy wiadomość - zostanie ona do nas wysłana jeżeli jednak jej nie podamy - naszym oczom ukaże się błąd '<none>' '<none>' (czyli skriptowa wersja słowa 'null') oznacza iż nasz argument (nasze wyrażenie) jest puste - nie zawiera żadnej wartości (w tym przypadku - wysłaliśmy pustą komendę bez argumentu) można temu zapobiec ustawiając domyślną wartość argumentu: command /poradnik [<string="nie podałeś argumentu">]: trigger: send "%argument%" lub robiąc to ręcznie w kodzie używając warunku sprawdzającego czy wyrażenie (argument) ma wartość - 'argument is set' lub 'argument is not set': command /poradnik [<string>]: trigger: if argument is set: send "%argument%" else: send "nie podałeś argumentu" oczywiście jak już wyżej napisałem - na argumentach można dowolnie operować zróbmy więc komendę, która sprawdzi czy podany argument jest zgodny z daną wartością i wyślijmy odpowiednią wiadomość: niech komenda sprawdza kolor z pierwszego argumentu, i w tym kolorze wysyła liczbę z drugiego argumentu, jeżeli kolor nie będzie zgodny z dwoma wybranymi (powiedzmy zielony i czerwony) to wyślijmy poprawne użycie komendy: command /kolor [<string>] [<integer=10000>]: trigger: #sprawdzamy czy argument pierwszy został wpisany, jeżeli nie - wysyłamy wiadomość z odpowiednim użyciem if argument-1 is not set: send "poprawne użycie to /kolor <czerwony/zielony> <liczba>" else: #sprawdzamy czy argument pierwszy to "czerwony" if argument-1 is "czerwony": #wysyłamy liczbę z argumentu drugiego w kolorze czerownym send "&c %argument-2%" #sprawdzamy czy argument pierwszy to "zielony" else if argument-1 is "zielony": #wysyłamy zieloną liczbę send "&a %argument-2%" #jeżeli argument nie jest ani "czerwony" ani "zielony" to wysyłamy ponownie poprawne użycie else: send "poprawne użycie to /kolor <czerwony/zielony> <liczba>" Konfiguracja komendy: w każdej komendzie jak już wyżej wspomniałem możemy dodać konfigurację - czyli kilka opcji mieszczących się między 'pierwszą linijką komendy' a słowem 'trigger' każda opcja konfiguracyjna kończy się dwukropkiem a zaraz za nim wpisywana jest jej wartość poniżej wypiszę i objaśnię wszystkie opcje: 'aliases' - aliasy komend, czyli opcja dla tych, którzy chcą by jedna komenda mogła mieć kilka nazw, wypisujemy je po dwukropku oddzielając przecinkiem aliases: poradnik, poradniczek, help, pomoc 'permission' - permisja wymagana do użycia komendy - zaleca się, aby permisja była w formacie 'nazwa komendy.nazwa permisji' permission: poradnik.uzycie permission: poradnik.* 'permission message' - czyli wiadomość wysyłana do gracza, gdy komenda zostanie odrzucona z powodu braku powyższej permisji permission message: Potrzebujesz permisji 'poradnik.uzycie' aby skorzystać z tej komendy 'executable by' - opcja która narzuca kto może korzystać z komendy - tylko gracze; tylko konsola; gracze i konsola, dostępne wartości: 'players', 'players and console', 'console' executable by: players executable by: console executable by: players and console 'description' - opis komendy (wyświetlany m.in w domyślnym /help) description: Ta komenda wyświetla poradnik o pisaniu komend 'usage' - poprawne użycie komendy usage: /kolor <czerwony|zielony> [liczba] 'cooldown' - opóźnienie pomiędzy użyciami komendy (wymagane jest podanie typu timespan, np. '10 minutes' lub '1 day') cooldown: 10 minutes 'cooldown bypass' - permisja, która pozwala pominąć opóźnienie cooldown bypass: poradnik.cooldown.bypass 'cooldown message' - wiadomość jaką otrzyma gracz, gdy nie odczeka czasu ustawionego wyżej można korzystać z wyrażeń: 'remaining time' - pozostały czas do następnego użycia cooldown message: Kolejny raz komendy możesz użyć za %remaining time% 'elapsed time' - czas, który upłynął od ostatniego użycia cooldown message: Od ostatniego użycia minęło dopiero %elapsed time% 'last usage date' - data ostatniego użycia cooldown message: Ostatni raz użyłeś tej komendy %the last usage date% 'cooldown time' - czyli ustawiony wyżej czas pomiędzy użyciami cooldown message: Pomiędzy użyciami tej komendy musisz odczekać %cooldown time% 'bypass permission' - ustawiona wyżej permisja, która pozwala pominąć opóźnienie cooldown message: Nie posiadasz permisji %bypass permission%, musisz odczekać aż upłynie czas 'cooldown storage' - zmienna, w której przechowywana będzie data zakończenia cooldownu. Gdy ją ustawimy cooldown nie zresetuje się po wyłączeniu serwera. cooldown storage: {cooldown::poradnik::%name of player%} zbiorowe użycie w komendzie, przykładowo: command /poradnik <string="domyślna wiadomość">: executable by: players permission: poradnik.użycie permission message: Musisz posiadać permisję poradnik.użycie aby wykonać tą komendę cooldown: 15 seconds cooldown message: &cMusisz odczekać %cooldown time% pomiędzy użyciami tej komendy, pozostało jeszcze %remaining time% trigger: send argument Nasłuchiwanie komend: tworzenie własnych komend to nie wszystko, mamy przecież też masę innych dodawanych przez różne pluginy, skrypty czy silniki, poniżej znajduje się krótkie wyjaśnienie jak nasłuchiwać ich użycia, jak się do nich odwoływać i jak je blokować: zacznijmy zatem od najważniejszego - event (wydarzenie) 'on command' wykonuje się ono z momencie wysłania przez gracza (lub konsolę) komendy aby go użyć zaczynamy od początku nowej linii wpisujemy jego nazwę i stawiamy dwukropek otwierając nową sekcję on command: możemy z tego wydarzenia pobrać trzy wyrażenia: 'sender' - czyli gracz lub konsola, który wykonał komendę 'command' - czyli nazwę komendy która została wykonana (!jeżeli komenda została użyta poprzez alias, to wyrażenie zwróci nam alias, a nie główną komendę) 'arguments' - czyli wpisane argumenty komendy lub '<none>' gdy ich nie będzie 'full command' - czyli cała wpisana wartość (komenda + argumenty) można przerwać wykonywanie komendy (tj. anulując wydarzenie) wpisując 'cancel event' przykładowe użycie - blokujemy używanie komendy /poradnik wszystkim graczom on command: #sprawdzamy czy komenda to "poradnik" if command is "poradnik": #sprawdzamy czy wysyłający komendę to gracz - jeżeli tak - blokujemy komendę if sender is a player: #blokujemy komendę cancel event and may the Skript be with You...
    1 punkt
  4. vMCShop.pro to projekt powstający od 2016 roku. Jego głownym założeniem jest dostarczenie wysokiej jakości sklepów internetowych dla gry Minecraft. Z biegiem czasu wyłonione zostały 3 wersje sklepów, różniące się od siebie poziomem zaawansowania oraz możliwościami konfiguracji. Z tego też powodu, każda osoba może wybrać sklep vMCShop, który najbardziej odpowiada jej zapotrzebowaniom.
    1 punkt
  5. Kormic

    Prosty skrypt na adminchat

    To dobrze, bo wpisywanie za każdym razem /adminchat przyprawiłoby większość osób o ból głowy.
    1 punkt
  6. To jest Kwadratowa Masakra, też nie wiedziałem i musiałem wyszukać frazę "minecraft plugin na nokaut", wyskoczyła od razu Kwadratowa Masakra i już wiedziałem o co biega xd.
    1 punkt
  7. Tak, tutaj wystarczy Citizens. Podam przykład: on right click on entity: if display name of entity is "&c&lPVP": execute player command "polacz pvp"
    1 punkt
  8. Kormic

    skrypt na dodawanie serduszek

    To dobrze Cieszę się, że pomogłem
    1 punkt
  9. Kormic

    Szał bitewny

    Widzisz pętlę 'loop 40 times:'? Dzielisz liczbę (w tym przypadku jest to 40) w tej pętli przez 20 (ponieważ w pętli jest 'wait 0.05 seconds' czyli 1/20 sekundy) i wychodzi ci liczba sekund. Czyli teraz jeśli chcesz przez 5 sekund, to dajesz 'loop 100 times:'. Proste, nie?
    1 punkt
  10. Kormic

    Zmienne mnożenie

    Nie powinno być tam procentów. Procenty są tylko w tekście i wewnątrz nazw zmiennych. Mimo wszystko dla czytelności lepiej zrobić tak: on mine of stone: set {_chance} to {d::sz::%player%} * {svip::sz} chance of {_chance}%: drop 1 diamond
    1 punkt
  11. Kormic

    Zmienne mnożenie

    %{d::sz::%player%} * {svip::sz}% Proszę. EDIT: Ewentualnie przed ustawianiem slotu utwórz lokalną zmienną, której wartością będą te dwie zmienne pomnożone przez siebie i wstaw tę lokalną zmienną w tekst.
    1 punkt
  12. Kormic

    Szał bitewny

    @3meraldK Faktycznie, niedopatrzenie z mojej strony. Co do inline conditionali, wolę stosować standardowe conditionale ze względu na to, iż zawierają dwukropek i się poniekąd wyróżniają (co z kolei w mojej ocenie wpływa na przejrzystość kodu).
    1 punkt
  13. Kormic

    Szał bitewny

    on load: clear {gracze::szal::*} on death of player: if attacker is not a player: stop add attacker to {gracze::szal::*} loop 40 times: play flame above attacker wait 0.05 seconds remove attacker from {gracze::szal::*} on damage of player: if projectile is set: stop if attacker is not a player: stop if {gracze::szal::*} contains attacker: increase damage by (damage / 2) Przy reloadzie zapewne wyskoczy ci warn, ale nie przejmuj się nim.
    1 punkt
  14. 3meraldK

    Komendy tylko przy portalu

    on command: loop all blocks in radius 5 around the player: loop-block is end portal stop cancel event nie żeby coś
    1 punkt
  15. PanMaruda

    Wykopanie 3 blokow

    on break: if tool of player is diamond pickaxe: if velocity of player = vector(0, 0, 0): set block behind event-block to air set block behind block behind event-block to air drop 2 of redstone at event-block
    1 punkt
  16. Kormic

    Magiczny Item

    options: nazwa: &aHealer permisja: twoja.permisja command /magicznyitem: trigger: if player doesn't have permission "{@permisja}": send "&cNie posiadasz dostepu do tej komendy!" to player stop give player 1 blaze rod named "{@nazwa}" on left click: if player's held item is not blaze rod named "{@nazwa}": stop if {magicznyitem::cooldown::lc::%player%} is not set: set {magicznyitem::cooldown::lc::%player%} to now subtract 1 minute from {magicznyitem::cooldown::lc::%player%} if difference between {magicznyitem::cooldown::lc::%player%} and now is less than 1 minute: send "&cMusisz odczekac minute po kazdym leczeniu rozdzka!" to player stop cancel event set {magicznyitem::cooldown::lc::%player%} to now loop all players in radius 30 around the player: apply potion of regeneration 2 to loop-player for 5 seconds apply potion of speed 2 to loop-player for 5 seconds broadcast "&6%player% &auzyl magii!" on right click: if player's held item is not blaze rod named "{@nazwa}": stop if {magicznyitem::cooldown::rc::%player%} is not set: set {magicznyitem::cooldown::rc::%player%} to now subtract 1 minute from {magicznyitem::cooldown::rc::%player%} if difference between {magicznyitem::cooldown::rc::%player%} and now is less than 1 minute: send "&cMusisz odczekac minute po kazdym uzyciu rozdzki!" to player stop cancel event set {magicznyitem::cooldown::rc::%player%} to now shoot a fireball from player Proszę. Komendą /magicznyitem przywołujesz różdżkę (wymagana jest do tego permisja w configu na samej górze skryptu!).
    1 punkt
  17. Kormic

    Komenda na kit co godzine

    Wersję masz 2.1.2, tak? Jeśli tak, to szkoda, bo to, co ci powoduje błędy to składnia z wersji 2.2-dev31 Co do tego twojego PS, nigdy nie śmiałbym za coś takiego brać kasy Tutaj na tym forum w zwyczaju jest sobie raczej pomagać, a nie na sobie zarabiać. EDIT: Mam jeszcze jeden pomysł. Jeśli da radę, to się niedługo odezwę. EDIT: @TabCraft Udało mi się znaleźć rozwiązanie, powinno również u ciebie poprawnie działać Poprawiłem skrypt w tym samym linku co wcześniej.
    1 punkt
  18. Kormic

    LOGBLOCK

    on place: log "%now% - %player% postawil %event-block% (%event-block's location%)" to "blocks/place.log" on break: log "%now% - %player% zniszczyl %event-block% (%event-block's location%)" to "blocks/break.log" Coś takiego?
    1 punkt
  19. ShardIt

    On rightclick on entity

    zabierz sobie permissje i sprawdz jeszcze raz, bo czasem jest tak ze np admin jak uzywa czegos to wyskakuje 2 razy wiadomosc, ale gracz widzi normalnie. sprawdz i napisz jeszcze raz XD
    1 punkt
  20. bLife jest zaawansowanym, a jednocześnie innowacyjnym systemem żyć. Skrypt zawiera urozmaicony config, który pozwala dowolnie edytować kod. bLife wprowadza do gry system żyć, który za zginięcie zabiera jedno wirtualne życie. Podczas gdy gracz zginie z jednym życiem, zostaje ukarany karą ustawioną w configu. Życia można zdobywać kupując je w sklepie pod komendą /zycie. Dla Administracji jest komenda /dodajzycie <gracz> <ilosc>, która nadaje życia podanemu graczowi. Wymagania: Skript min 2.2, Skript-mirror, SkQuery (nie jestem pewien, ale raczej wymagany jest SkQuery lime), Vault, Tuske, Coś obsługującego ekonomię - może być to Essentials czy Saneeconomy. Kod: https://code.skript.pl/PwxSZe9a Jest to wersja beta, w której mogą być błędy - jeśli napotkacie na takowe, to prosiłbym o jak najszybsze ich zgłoszenie Skrypt powstał z uwagi na to, iż wiele osób tworzyło zlecenia dotyczące właśnie takiego skryptu.
    1 punkt
  21. herhor67

    Spolszczenie Skripta

    Well, @RaiZeN @sopher @Nawo To nie jest spolszczenie kodu skryptów, jak, wydaje mi się, myślicie, tylko wiadomości które Skript wysyła przy jakiejkolwiek interakcji.
    1 punkt
  22. PanMaruda

    GUI

    nie pisz tego posta jeszcze raz w jaki sposób to ma zaważyć nad wyborem dodatku do gui skoro to nie ma z gui nic wspólnego? moim zdaniem prosty kod to raczej przejrzysty kod pod tym względem to gui w skripcie jest proste a formatowanie ze skquery i tuske skomplikowane i paskudne, bo wpychamy pierdyliard rzeczy w jednej linijce zwiększając szerokość kodu (czego robić się nie powinno) wytłumacz jakie znaczenie dla mnie (lub innych) ma mieć kilkuletnia wersja Proponuję aby wszyscy skończyli przyrównywać do czegokolwiek tuske i skquery bo obydwa są siebie warte, a zaczęli nawracać się na czystego Skripta oraz ten świeży dodatek: https://github.com/APickledWalrus/skript-gui/releases Amen
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Quexsu
    Quexsu
    6 postów
    Nicku
    Nicku
    1 post
    mervi_X
    mervi_X
    1 post
    Fendi
    Fendi
    1 post
    kinimod5021
    kinimod5021
    1 post
    bug128
    bug128
    1 post
  • Najwięcej tematów w tygodniu

    Quexsu
    Quexsu
    1 temat
    mervi_X
    mervi_X
    1 temat
    bug128
    bug128
    1 temat
  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

×
×
  • Dodaj nową pozycję...