knugi 794 Opublikowano 18 czerwca 2017 Udostępnij Opublikowano 18 czerwca 2017 (edytowane) 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ę: Spoiler set {_biom} to "river" parsed as biome set {_tak} to "true" parsed as boolean set {_red} to "red" parsed as color set {_from} to "attack" parsed as damage cause set {_direction} to "north" parsed as direction set {_ench} to "efficiency" parsed as enchantment set {_ench5} to "protection 5" parsed as enchantment type set {_entity} to "item frame" parsed as entity set {_exp} to "%random integer between 1 and 5% experience" parsed as experience set {_adv} to "adventure" parsed as gamemode set {_item} to "%random integer between 1 and 64% torch" parsed as item #lub material set {_num} to "%random number between 0.1 and 0.9%" parsed as number #nie znalazłem zapotrzebowania, chyba że chodzi o dzielenie :P set {_player} to "knugi" parsed as offlineplayer set {_gracz} to "knugi" parsed as player #Zalecam używanie offlineplayer set {_potion} to "slowness %{rpg::%player%.resisSlowLv}%" parsed as potion type set {_proj} to "fireball" parsed as projectile set {_eff} to "ender signal" parsed as particle effect set {_pogoda} to "clear" parsed as weather Podałem większość z samego Skripta. Myślę, że jak jakiś dodatek dodaje jakiś typ, to na niego też można użyć parsedu. Życzę udanych skryptów i pozytywnych opinii ! Pozdrawiam #Knugi Edytowane 20 czerwca 2017 przez knugi Literówki i dogodnienia użytkowników Wakal, Norbi, PoweredDragon i 7 innych 7 3 Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/ Udostępnij na innych stronach Więcej opcji udostępniania...
Kraftowy 41 Opublikowano 18 czerwca 2017 Udostępnij Opublikowano 18 czerwca 2017 Poradnik przydatny, mógłbyś do niego jeszcze dorobić listę "parsed" Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-130708 Udostępnij na innych stronach Więcej opcji udostępniania...
knugi 794 Opublikowano 18 czerwca 2017 Autor Udostępnij Opublikowano 18 czerwca 2017 @Kraftowy co masz na myśli? Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-130711 Udostępnij na innych stronach Więcej opcji udostępniania...
KrejzolekPRO 600 Opublikowano 18 czerwca 2017 Udostępnij Opublikowano 18 czerwca 2017 (edytowane) Ja miałem dosyć podobny problem męczyłem się chyba z miesiąc, a [CIACH] leciały co pare sekund "czemu to nie działa?????!!" Błąd właśnie leżał w tym, że zapisywałem liczbe jako text i nie mogłem jej dodać do zmiennej i dopiero parsed as integer pomogło Edytowane 6 lipca 2017 przez PoweredDragon Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-130719 Udostępnij na innych stronach Więcej opcji udostępniania...
Kraftowy 41 Opublikowano 19 czerwca 2017 Udostępnij Opublikowano 19 czerwca 2017 @knugi Chodzi mi o coś takiego mniej więcej, taką listę. Parsed as text - siłą na hama na text xD Parsed as item - na item I tak dalej Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-130793 Udostępnij na innych stronach Więcej opcji udostępniania...
KrejzolekPRO 600 Opublikowano 19 czerwca 2017 Udostępnij Opublikowano 19 czerwca 2017 5 godzin temu, Kraftowy napisał: @knugi Chodzi mi o coś takiego mniej więcej, taką listę. Parsed as text - siłą na hama na text xD Parsed as item - na item I tak dalej W sensie, że masz wypisać wszystkie parsedy. Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-130818 Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Usunięty#3468 Opublikowano 2 lipca 2017 Udostępnij Opublikowano 2 lipca 2017 Przydatny tutek, juz wiem dlaczego nie dzialaly mi petle Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-133372 Udostępnij na innych stronach Więcej opcji udostępniania...
Rejszpat 378 Opublikowano 9 czerwca 2018 Udostępnij Opublikowano 9 czerwca 2018 @knugi set {_num} to "%random number between 0.1 and 0.9%" parsed as number #nie znalazłem zapotrzebowania, chyba że chodzi o dzielenie :P to ma zastosowanie. Bo jak chcesz konkretnie przy załadowaniu czegoś z pliku YML załóżmy że {s1} i {s2} załadowane z YML set {_min} to "%{s1}%" set {_max} to "%{s2}%" set {_x} to random integer between {_min} and {_max} to nie zadziała. Musi być set {_min} to "%{s1}%" parsed as number set {_max} to "%{s2}%" parsed as number set {_x} to random integer between {_min} and {_max} ShroN i knugi 2 Odnośnik do komentarza https://skript.pl/temat/19197-parsed-czy-takie-wa%C5%BCne/#findComment-182538 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi