Skocz do zawartości

knugi

Użytkownik
  • Ilość zawartości

    1686
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    106

Treść opublikowana przez knugi

  1. @Kraftowy co masz na myśli?
  2. Hejka! Miło mi, że czytasz mój pierwszy poradnik dotyczący pięknego pluginu Skript. Zatem usiądź wygodnie i miłego czytania. Co to "parsed"? Słowo parsed według mojego rozumowania to jest użycie siły brutalnej w skrypcie by tekst zaimplementować np na liczbę. To jest tylko mały przykład. Kiedy używamy? Używamy tego, gdy musimy przekonwertować zmienną (tekst) do jakiegoś typu. Przykład? Mamy listę graczy w GUI, którą otwieramy komendą /gracze. command /gracze: trigger: open chest with 6 rows named "Gracze Online" to players wait 2 tick set {_i} to 0 loop all players: if {_i} is smaller than 53: set player's current inventory's slot {_i} to paper named "%player%" add 1 to {_i} else: exit stop Załóżmy, że chcemy danego gracza wyrzucić z serwera, jeżeli mamy do tego uprawnienia. on inventory click: if "%inventory name of player's current inventory%" is "Gracze Online": if slot is smaller than 0: stop cancel event if player's current inventory's slot slot is paper: if player has permission "wyrzuc.gracza": set {_player} to name of player's current inventory's slot slot kick {_player} due to "&6Zostales wyrzucony z serwera" send "&6Wyrzuciles gracza %{_player}% z serwera." stop stop Kod jak kod. Lecz danego gracza nie wyrzuci z serwera, bo w dokumentacji skript jest coś takiego: kick %players% [(by reason of|because [of]|on account of|due to) %text%] mamy "kick PLAYER" a nasza zmienna {_player} jest aktualnie text'em. więc musimy nasz tekst przekonwertować na playera. A jak to zrobić? Prosta sprawdza zmieniamy daną linijkę na taką: set {_player} to name of player's current inventory's slot slot parsed as player I nasz kod zaczął działać. Kolejny przykład? Nie ma sprawy! Chcemy zenchantować nasz item w ręce na wydajność z losową liczbą. Pewnie większość z was by tak zrobiła: command /test: trigger: enchant player's tool with efficiency random integer between 1 and 5 I reload wywala błąd. I teraz główkowanie co zrobiłem źle? Otóż w skript jest takie coś: enchant %~item stack% with %enchantment types% podaliśmy item stack jako player's tool lecz skript nie uznał naszego enchantment types i dlatego musimy jakoś przekonwertować dany kod. Kolejna prosta sprawa która wygląda mniej więcej tak: command /test: trigger: set {_ench} to "efficiency %random integer between 1 and 5%" parsed as enchantment type enchant player's tool with {_ench} Zrobiliśmy zmienną tymczasową która posiada w sobie tekst, który jest następnie konwertowany na enchantment type, który już effect enchant przyjmie jako prawidłowy Lista parsedów: W dokumentacji skryptu jasno jest napisane: text% parsed as (%*type%|"<.*>") Czyli text możemy zaimplementować na dowolny typ. Wszystkie typy można znaleźć również w dokumentacji, ale jak już o to prosicie to proszę: Życzę udanych skryptów i pozytywnych opinii ! Pozdrawiam #Knugi
  3. knugi

    Ban za...

    Za brak 18 lat
  4. To sprawdź czy warunek dobrze przechodzi. Przed add 500 to player's balance daj send "Wyslano" i wtedy napisz czy dziala. Jak nie to masz zły name itemu.
  5. Masz vault i jakiś essentials ?
  6. Tylko po co execute jak jest effect od tego? on rightclick with paper: if name of player's tool is "&eBon_na_&a500$": add 500 to player's balance
  7. knugi

    Promienie

    Ouhhh kolega dobrze myślał, tylko że znów jest [ciach] błąd skriptu i nie usuwa tego efektu Ale spokojnie knugi sobie z tym poradził Łapaj póki ciepłe on place of stone:#endercrystal: if name of player's tool is "OslonaCzynna": loop players in radius 15 around event-block: set {_w} to "wither" parsed as potion effect remove {_w} from loop-player
  8. @Refresh
  9. knugi

    Losowe kordy

    @DeLajt command /diament: trigger: loop 5 times: set {_x} to random integer between (x-location of player + 10) and (x-location of player - 10) set {_z} to random integer between (z-location of player + 10) and (z-location of player - 10) set {_loc} to location at {_x}, y-location of player + 2, {_z} in world world of player drop 5 diamond at {_loc} send "Wydropilo na: %{_loc}%" Proszę poprawione
  10. knugi

    Losowe kordy

    command /diament: trigger: loop 5 times: set {_x} to random integer between (x-location of player - 10) set {_z] to random integer between (z-location of player - 10) set {_loc} to {_x}, y-location of player, {_z} in world world of player drop diamond at {_loc} coś takiego, ja nie działa to napisz a poprawię
  11. Nie ma, to ma być najzwyklejszy handel z graczami. Ban lista tutaj nie jest potrzebna, bo po co. Jeżeli gracz coś posiada to może również i tym handlować Mogę jeszcze dorobić takie małe co nie co do tego skryptu. Zapisywanie w logach kto z kim co wymieniał. Co o tym sądzisz?
  12. @SQK chyba coś Ci się pomyliło z tematami To jest skrypt na handel z graczami a nie banowanie
  13. No to masz ode mnie challange accept Dodaj do tego skryptu jeszcze jedną komendę, która w GUI wyświetli topkę graczy wykopanego kamienia i obsidianu
  14. Wchodzisz na tę stronę. Wciskasz CTRL+A później CTRL+C przechodzisz do notepad++ lub sublime Wciskasz CTRL+V Zapisujesz jako skrypt I gotowe
  15. Odsyłam Cię tutaj: https://www.youtube.com/watch?v=3FpmfKMPp5Y
  16. knugi

    Stack Size

    Tak trochę łopatologicznie to zrobiłem ale działa. Jeszcze się pobawię, bo wiem, że kiedyś coś zrobiłem tylko nie pamiętam expressiona, bo były chyba 3 złączone w jeden A chwilowo musisz się zadowolić tym: command /t: trigger: set {_item} to "%player's tool%" set {_item} to "%first 1 character of {_item}%" parsed as integer if {_item} is integer: send "&7Blad. Musisz miec jeden przedmiot w rece!" stop send "&7Jest OK!"
  17. knugi

    Stack Size

    @xN0MANDx chcesz pobrać ilość przedmiotu z ręki ? Dobrze zrozumiałem?
  18. Oj tego nie wziąłem pod uwagę, przepraszam. Za chwilkę coś obczaję Dobra teraz to obczaiłem na 100% Mam takowy kod: command /spr: trigger: set {_boot} to player's boot give {_boot} to player i nie ważne czy z name czy z lore czy z enchantem, daje mi takie buty jakie mam na sobie czyli możesz na spokojnie używać samo player's boot (meta data się zapisuje w zmiennych) Fakt faktem, gdy dasz send "%{_boot}%" to wyświetli Ci się samo "diamond boots" lecz te enchanty lore i name będą zachowane.
  19. Jedyne co mi przychodzi do głowy to coś takiego: set {_boot} to player's boot named name of player's boot with lore lore of player's boot I analogicznie do pozostałych Tylko jest jeden mały problem. Gdy przedmiot nie ma lore, to da jedną linijkę pustą lore, więc też takie nie precyzyjne rozwiązanie, lecz już lepsze takie niż żadne
  20. @OliPlayGames oczywiście że autorski Skrypt pisałem krótko. Bodajże ze dwa dni (dziennie około 5 godzin). Wraz z systematycznym sprawdzaniem czy działa i poszukiwaniu na bieżąco błędów Niedługo znów dodam aktualizację, bo znów znalazłem błąd kopiowania itemów i nie za bardzo mi się to podoba. Znalazłem już rozwiązanie owego błędu
  21. Sorki, że wtrącę swoje 3 grosze, lecz chyba muszę Otóż da się, "Wszystko się da", wystarczy tylko chcieć. Potrzebny tutaj jest dodatek PirateSK (kojarzy ktoś? On ma taką funkcję) Po prostu robisz lokację w zmiennej i czas teraźniejszy, później na every robisz sprawdzanie czy minęło te 2 godziny i według danej funkcji wklejasz schemat. Bez zbędnych execute player command czy jakiś innych ** (wstaw dowolne słowo). Przepraszam, że nie dam kodu, lecz nie znam w 100% piratesk, a dokumentacja skunity nie działa (strona jest tymczasowo nieaktualna, nie mogę się połączyć), a na internecie jej nie znalazłem. Nie chodzi tutaj o jakieś on join. bo wtedy i tak budowla wybuduje się gdy gracz dopiero wejdzie na serwer, wybuduje się np jak gracz wbije za 3 dni. Tutaj chodzi o samą sprawność skryptu że musi się wybudować za 2 godziny i koniec kropka. Wyjątkiem jest wyłączenie serwera, ale jak się go z powrotem włączy np za te 2 godziny to automatycznie tę budowlę wybuduje. Gdy tylko skUnity znów zacznie działać (tak samo jak "naprawiłeś mechanik w WOT" lub coś w podobie ) postaram się obczaić to i podesłać gotowy skrypcik
  22. knugi

    SKRYPT NA VILLAGERA

    Chyba coś takiego, nie testowałem on rightclick on villager: if name of entity is "Darmowa wypłata": if {villager.%player%} is not set: set {villager.%player%} to now remove 3 hour from {villager.%player%} if difference between {villager.%player%} and now is larger than 2 hours: set {villager.%player%} to now give 2 322:2 to player add 300 to player's balance send "Prosze twoja wyplata." stop set {_time} to {villager.%player%} add 2 hour to {_time} send "&6Przyjdz: &3%{_time}%" stop command /villager: trigger: if player has permission "postaw.villager": spawn villager at player set name of last spawned villager to "Darmowa wypłata" send "Postawiles villagera z wyplata." stop
  23. knugi

    piec

    A nie lepiej zablokować piec na czas przepalania i dopóki nie wyciągnie tego złota? Można by było jeszcze dorobić takich 'sojuszników' by móc dodawać znajomych by mogli ten piec otworzyć
  24. Musisz to przekonwertować na timespan by działało w effectie wait, czyli coś takiego: set {_time} to "%1/{RWojDex.%player%}% second" parsed as timespan wait {_time} czyli twój kod będzie wyglądał tak: on rightclick holding a wooden sword: if name of player's tool is "&7Szeroki Miecz &6T1": if {RM.%player%} is true: shoot a arrow from player with speed 0.5 set {RM.%player%} to false set {_time} to "%1/{RWojDex.%player%}% second" parsed as timespan wait {_time} set {RM.%player%} to true stop Ale musisz mieć ZAWSZE swoją zmienną jako liczbe, jeżeli ona będzie np Stringiem to na 'wait {_time}' kod się zatrzyma i nic dalej nie wykona. Także musisz przestragać by ta zmienna cały czas była liczbą lub zrobić dla pewności if'a if {RWojDex.%player%} is number: wait {_time} #kod stop send "Blad."
  25. Zaktualizowano skrypt do wersji minecrafta 1.11 tym samym usunięto błąd: Dziękuję dla @xMrJoint za zgłoszenie owego błędu.
×
×
  • Dodaj nową pozycję...