Skocz do zawartości

Ranking

Popularna zawartość

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

  1. ProX3Q

    PQSejfy - Skrypt na sejfy z łomami

    PQSEJFY Sytem sejfów na twój serwer Minecraft Witam, dawno mnie tu nie było ale 2 dni temu zajrzałem, i spostrzegłem że dużo osób prosi o skrypt na sejfy jak na jednym z popularnych serwerów MediumHC. Więc postanowiłem napisać owy skrypt. Myślę że mechanika jest dość prosta i zrozumiała dla normalnego użytkownika tego skryptu, jego dokładne działanie możecie zobaczyć na GIF'ie poniżej. ZALETY SKRYPTU • Posiada niecałe 120 linijek. • Sejfy są oznaczane po ID. • System Łomów dzięki którym możemy przywłaszczyć sobie cudzy sejf (Jeśli go zdobędziemy) • Każdy gracz dostaje sejf na start! • Każdy gracz może mieć tyle sejfów ile tylko zapragnie! DZIAŁANIE SKRYPTU KOMENDY SKRYPTU • /asejf - Spis komend skryptu (sejf.help) • /asejf give <nick> - Daje danemu graczowi sejf. (sejf.give) • /asejf givekey <nick> <ilosc> - Daje graczowi daną ilość łomów (sejf.givekey) • /asejf open <id> - Otwiera sejf o danym ID (sejf.open) • /asejf clear <id> - Czyści dany sejf! (sejf.clear) • /asejf reload - Przeładowywuje skrypt (sejf.reload) WYMAGANE DODATKI - Skript (Link) - SkQuery-Lime (Link) POBIERANIE SKRYPTU • Wersja 1.0 (27.07.2019) - • Wersja 1.1 (28.07.2019) - Zmiany: - Dodano więcej opcji konfiguracji. - Zablokowano możliwość przypadkowego położenia sejfu. - Zablokowano możliwość włożenia sejfu do sejfu • Wersja 1.2 (28.07.2019) - Zmiany: - Dodano pełną konfiguracje YAML, wystarczy wrzucić a folder z Config.yml stworzy się sam. - Przepisano kod na obsługę funkcji, dzięki czemu stworzyło się takie małe API - Zoptymalizowano kod • Wersja 1.3 (28.07.2019) - Zmiany: - Naprawiono wiele błędów. - Dodano komendę /asejf open <id> - Dodano wiadomość przy poprawnym użyciu łomu! PODOBA CI SIĘ SKRYPT? NIE ZAPOMNIJ DAĆ + ORAZ LIKE! POZDRAWIAM PROXEQ
    1 punkt
  2. Z dedykacją dla wszystkich tych, którzy wmawiają sobie i innym, że do wysłania na chat klikalnego tekstu lub podpowiedzi po najechaniu potrzebują skryptu json.sk albo jakichś magicznych efektów ze starożytnego dodatku. Ten poradnik pokazuje i tłumaczy w jaki sposób osiągnąć takie efekty jedynie przy pomocy czystego pluginu Skript (od bodajże wersji 2.0). Interaktywny chat: zaznaczam, iż wszystkie poniższe akcje odnoszą się jedynie do efektów które wysyłają wiadomość do gracza (broadcast oraz message); wszystkich akcji jakich możemy użyć jest cztery i dzielą się one na dwie grupy, zapisujemy je dość prosto według poniższego formatu: '<nazwa: treść akcji>tekst do którego będzie się ona odnosić' [GRUPA PIERWSZA] akcje aktywowane po najechaniu na tekst: tooltip - wyświetla dodatkowy tekst (tzw. podpowiedź) w ramce nad wybraną wiadomością, przykładowo: '<tooltip:Wiadomość po najechaniu>Najedź na tą wiadomość' [GRUPA DRUGA] akcje aktywowane po kliknięciu na tekst: url - przenosi gracza do domyślnej przeglądarki i otwiera mu stronę z podanego linku (w większości przypadków wymaga to dodatkowego potwierdzenia przez użytkownika - w celach bezpieczeństwa - czy na pewno chce otworzyć daną stronę, przykładowo: '<url:https://www.youtube.com/watch?v=JnHPN1WsjBo>Kliknij tutaj aby posłuchać' command - wykonuje komendę jako gracz: jeżeli treść akcji zaczyna się od ukośnika - wtedy jest ona traktowana jako komendą wykonywana przez gracza, przykładowo: '<command:/help>Kliknij mnie aby otrzymać pomoc' jeżeli treść nie zaczyna się od ukośnika - wtedy jest ona traktowana jako zwykła wiadomość wysyłana przez gracza na chat, przykładowo: '<command:Dzień dobry>Kliknij tutaj aby się przywitać' suggest command - wpisuje graczowi podaną treść w jego pole tekstowe pod chatem, przykładowo: '<suggest command:Jestem twoją wklejoną wiadomością>Kliknij tutaj, aby wkleić wiadomość do swojego pola tekstowego' Formatowanie i kolorowanie tekstu: myślę że każdy, kto teraz czyta to zdanie doskonale wie jak korzystać z kolorów w minecraft przy użyciu paragrafu (§) lub spójnika (&) - więc nie będę ich tutaj przytaczał, skupię się na osobnej Skriptowej wersji kolorowania i formatowania wiadomości; tak jak powyżej, poszczególne kolory \ efekty dodajemy zapisując je w nawiasach ostrych: '<efekt\kolor>' kolory - wiem, że z tej opcji nikt nigdy nie skorzysta skoro możemy to robić dużo szybciej i krócej przy użyciu spójnika, ale i tak warto o tym wspomnieć, przykładowo: '<red>Ta wiadomość będzie czerwona' lista wszystkich głównych kolorów wraz z ich aliasami: [ 0 ] black - czarny [ 1 ] blue (dark blue) - niebieski [ 2 ] green (dark green) - zielony [ 3 ] cyan (cyanaqua, dark cyan, dark aqua, dark turquoise, dark turquois) - turkusowy [ 4 ] red (dark red) - czerwony [ 5 ] purple (dark purple) - fioletowy [ 6 ] orange (orange, gold, dark yellow) - pomarańczowy [ 7 ] grey (light grey, gray, light gray, silver) - szary [ 8 ] dark grey (dark gray) - ciemny szary [ 9 ] light blue (indigo) - jasny niebieski [ a ] light green (lime, lime green) - jasny zielony [ b ] light cyan (light aqua, turquoise, turquois, light blue) - błękitny [ c ] light red (pink) - jasny czerwony [ d ] light purple (magenta) - jasny fioletowy [ e ] yellow (light yellow) - żółty [ f ] white - biały formatowanie - tak, tak - to też niepotrzebnie piszę, ale co tam, przykładowo: '<bold>Ta wiadomość będzie pogrubiona' lista wszystkich opcji formatowania: [ k ] magic (obfuscated) - mrugające znaki (zwykle zwane - matrixem) [ l ] bold (b) - pogrubienie [ m ] strikethrough (strike, s) - przekreślenie [ n ] underlined (underline, u) - podkreślenie [ o ] italic (italics, i) - pochylenie kolory RGB (hexadecymalne) - nowością w minecraft (dostępną od wersji 1.16) jest wsparcie dla kolorów RGB w formacie hexadecymalnym, jak z nich korzystać i skąd je brać: swoje własne kolory możemy wybierać z np. generatorów online (https://htmlcolorcodes.com/color-picker/) - nas interesuje zawsze wartość z kratką (hashtag), wpisujemy ją identycznie jak wszystkie powyższe kolory - w nawiasy ostre. (kratka również musi być podana), przykładowo: '<#00FF00>Ta wiadomość będzie zielona' Warto wiedzieć: we wszystkich powyższych przykładach, efekt (kolor lub formatowanie) będzie odnosiło się do całej wiadomości; jeżeli jednak będziemy chcieli się go pozbyć, możemy to zrobić na dwa sposoby: korzystając z opcji resetowania tekstu '<reset>', '<r>' lub '&r', przykładowo: '<red>Ta wiadomość będzie czerwona <reset>Ale ta będzie już w domyślnym kolorze białym' wstawiając za tekstem kolejne formatowanie, przykładowo: '<bold>Ta wiadomość będzie biała i pogrubiona <red>Ale ta będzie czerwona i niepogrubiona' jeżeli efekty (kolory lub formatowanie) następują po sobie to się na siebie nakładają, przykładowo: '<tooltip:Wiadomość><red><bold>Ta wiadomość będzie czerwona, pogrubiona i pokaże tekst po najechaniu na nią' tooltip - czyli podpowiedzi opisane na początku poradnika - mogą składać się z wielu linijek. Jeżeli chcemy taki efekt uzyskać musimy każdą nową linijkę oddzielić wyrażeniem nowej linii '%new line%' lub w skrócie '%nl%', przykładowo: '<tooltip: 1 linijka %nl% 2 linijka %nl% 3 linijka %nl% i tak dalej>Mamy tutaj długą podpowiedź' wewnątrz efektów (np. w podpowiedziach) możemy również używać kolorów i formatowania, przykładowo: '<tooltip: <yellow><bold>Żółta podpowiedź>&4&lNajedź tutaj kursorem, aby zobaczyć żółtą podpowiedź' jeżeli wewnątrz naszego efektu (koloru lub formatowania) chcemy umieścić wyrażenie lub zmienną - to jak najbardziej możemy to zrobić, ale: skript podczas wysyłania wiadomości najpierw stara się ją formatować (tj. ustawia kolory, efekty i wszystko co powyżej opisałem), a dopiero po nich wstawia do naszego tekstu zmienne, co skutkuje niepokolorowaną wiadomością wysłaną na chat, przykładowo: set {_pogrubienie} to "bold" send "<%{_pogrubienie}%>nasza wiadomość" niestety, na chacie naszym oczom ukaże się: <bold>Nasza wiadomość z pomocą przychodzi nam wyrażenie '[un] formatted %text%' - sprawia ono, że plugin ponownie (po wczytaniu zmiennych) sprawdza wiadomość w poszukiwaniu formatowania tekstu - dzięki temu możliwe jest umieszczanie zmiennych w tekście (np. z nickami graczy, kolorami rgb lub kolorami pobranymi przez skripta), przykładowo: set {_hex} to "##00FF00" send formatted "<%{_hex}%Ta wiadomość zawiera działającą zmienną z kolorem zielonym" Tylko gdzie pizza zapytacie - a ja na to: *pstryk* średnia hawajska dla wszystkich.
    1 punkt
  3. Kormic

    Pomoc z skryptem HLife

    Ehh... na przyszłość pamiętaj, aby w zleceniu zawierać wszystko to, co ma zawierać skrypt. Wymagany Vault oraz plugin wspierający ekonomię na serwerze (np. Essentials). command /kupzycie: executable by: players trigger: if player's balance is less than 25: send "&cNie posiadasz &625$&c!" to player stop remove 25 from player's balance add 1 to {life::%victim%} send "&aZakupiłeś jedno życie!" to player
    1 punkt
  4. kerpson

    enchant

    Dodatkowo warto sprawdzić event InventiryClickEvent, sprawdzić czy inventory to anvil oraz sprawdzać result(item finalny) i w nim również sprawdzić czy enchant nie jest np. sharpness 5
    1 punkt
  5. Kormic

    Staff Chat

    Proszę, skrypt nietestowany. Wymagany Skript 2.2-dev36+, Vault oraz wcześniej wspomniany przez ciebie PermissionsEx. command /stchat [<text>]: trigger: if player's groups doesn't contain "Helper" or "Moderator" or "Admin" or "Headadmin" or "wlasciciel": send "&4Nie posiadasz dostępu do tej komendy." to player stop send "&7[&cStaffChat&7] &6%player's group% &e%player% &7>> &f%arg-1%" to all players where [input's groups contains "Admin" or "Headadmin" or "wlasciciel"]
    1 punkt
  6. Kormic

    POPRAWA SKRIPTU NA KITY

    Na przyszłość prosiłbym, abyś zawierał w zleceniu wszystkie informacje dotyczące skryptu, abym nie musiał marnować czasu na zbędne dopisywanie kodu. Proszę, oto skrypt.
    1 punkt
  7. Kormic

    on break of ripe wheat plant:

    Spróbuj również z innymi aliasami. on break of ripe wheat plant: on break of fully grown wheat plant: on break of stage 8 wheat plant: on break of stage eight wheat plant: W przypadku gdy nie zadziała, sprawdź zniszczony blok: on break: send "%event-block%" to player Oczywiście upewnij się, że wartość zmiennej jest zwiększana. Jeżeli żaden z powyższych sposobów nie zadziała, podaj wersję Skripta, serwera oraz silnik serwera.
    1 punkt
  8. Kormic

    POPRAWA SKRIPTU NA KITY

    Uznaję to za zlecenie. 1. Zlecenia składamy w dziale "Zlecenia". Pamiętaj o tym na przyszłość. 2. Skrypty formatujemy za pomocą znacznika "Kod" wbudowanego w edytor tekstowy forum (znaczek "<>"). 3. Proszę, oto skrypt:
    1 punkt
  9. Kormic

    Pomoc z skryptem HLife

    Faktycznie, zapomniałem. Poprawiłem kod wyżej, wklejasz go we wcześniej wspomniane miejsce. Wymagany Skript 2.5. Jeżeli nie masz takiej możliwości, zbanuj gracza poprzez konsolę za pomocą jakiejś komendy z pluginu (np. Essentials). Czyli zamiast tego byłoby: add 1 to {life::%victim%} execute console command "tempban %victim% 30m Straciles wszystkie zycia!" W drugiej linijce wklejamy komendę (zwykle bez ukośnika, ale jeżeli nie zadziała, warto spróbować go dodać), gdzie %victim% reprezentuje gracza, który umarł.
    1 punkt
  10. Kormic

    Pomoc z skryptem HLife

    Wystarczy, że w linijce nr 73 dodasz taki kod: add 1 to {life::%victim%} ban victim due to "&cStraciłeś wszystkie życia!" for 30 minutes kick victim due to "&cStraciłeś wszystkie życia!"
    1 punkt
  11. Kormic

    MOTD w Skript problem

    @PanMaruda Sam słyszałeś Trzeba poprawić literówkę.
    1 punkt
  12. Kormic

    Jak Dodać do tego Lore?

    Proszę. Niestety nie da się w prosty sposób zmienić formatu czasu jedynie na godziny, zamiast tego będą godziny, minuty i sekundy. Wymagany Skript 2.5+. command /list [<text>]: trigger: set {_players} to a new chest inventory with 5 row with name "&5Player List" set {_t} to 0 loop all players: set slot {_t} of {_players} to loop-player's skull named "&e%loop-player%" with lore "&8>>&e Lvl: &a%level of loop-player%" and "&8>>&e Hours: &a%time played of loop-player%" if loop-player has permission "MVpp": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aMVIP++" else if loop-player has permission "MVp": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aMVIP+" else if loop-player has permission "MV": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aMVIP" else if loop-player has permission "Vpp": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aVIP++" else if loop-player has permission "Vp": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aVIP+" else if loop-player has permission "V": set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aVIP" else: set line 3 of lore of slot {_t} of {_players} to "&8>>&e Rank: &aGracz" add 1 to {_t} open {_players} to player on inventory click: if name of event-inventory is "&5Player List": cancel event
    1 punkt
  13. PoweredDragon

    Jak rozumieć błędy?

    Witam, Jako że większość "świeżych" skrypterów ma często problemy ze skryptami, wynikające z niezrozumienia błędów, postanowiłem napisać ten poradnik, aby łatwiej było wam zrozumieć jakie błędy popełniliście oraz jak łatwo je naprawić 1. Gdzie jest błąd? Często największym problemem w wykryciu błędu potrafi być sam fakt, że egzystuje, a zaraz po nim - miejsce, w którym się znajduje. Pomocna przy tym jest opcja przeładowania(/sk reload nazwa/all). Po jej użyciu wyświetli nam się informacja czy skrypt ma błędy czy nie. a) Zlokalizuj błąd Najważniejsza jest lokalizacja błędu, co zrobi za nas komenda /sk reload. Po przeładowaniu skryptu używając nazwy, musimy sprawdzić w której linijce znajduje się błąd. W tym celu czytamy nasz błąd aż do momentu line: <jakaś liczba> To właśnie linijka, w której znajduje się nasz błąd. Teraz w skrypcie musimy ją tylko znaleźć i zastosować się do poniższych punktów. To samo w wypadku komendy /sk reload all z tym, że musimy również przeczytać nazwę pliku - również mieści się w opisie błędu i zakończona jest .sk Nie będzie więc problemu z jej znalezieniem b) Upewnij się, że poprawnie wpisałeś polecenie Wiele błędów wynika z błędnego wpisania polecenia. Najczęściej jest to literówka, ale często też błędna interpretacja dokumentacji (z której notabene należy korzystać; jeśli jesteście prawie pewni składni, to wpiszcie jej fragment do wyszukiwarki, a na pewno znajdziecie poprawną wersję). Jedne z częstszych błędów: [on] (step|walk)[ing] (on|over) %*item types% Jak widzimy mamy wyraźnie zaznaczone rzeczy obowiązkowe i/lub opcjonalne. Rzecz obowiązkowa znajduje się w nawiasie okrągłym - "()", gdy można jej użyć na różne sposoby lub w ogóle nie nie jest objęta nawiasem. Rzecz opcjonalna to tekst w kwadratowym nawiasie(tu: [on], [ing], etc.). Warto również pamiętać, że znaku "%" używamy tylko w tekście. Nigdy nie używamy więc ich w poleceniach. Należy również wspomnieć o pewnej zależności - jeśli coś jest obowiązkowe, to pominięcie zawsze wyrzuci nam błąd. Nie ważne, że reszta polecenia jest poprawna... Powyższy wyciąg z dokumentacji możemy rozbić na kilka sposobów działających tak samo! on step over dirt: on step on dirt: on steping on dirt: on steping over dirt: step over dirt: step on dirt: steping over dirt: steping on dirt: on walk over dirt: on walk on dirt: on walking on dirt: on walking over dirt: walk over dirt: walk on dirt: walking over dirt: walking on dirt: błędne sposoby: on walking: on steping: on walking on %dirt%: on steping over %dirt%: c) Upewnij się, że nie jest to wina braku dodatku Ludzie często popełniają błędy używając poleceń znajdujących się w dodatkach do Skript takich jak WildSkript czy SkQuery. Musimy mieć 100% pewność, że owe dodatki są zainstalowane i w pełni działają. Pomocna jest tutaj komenda /plugins pokazująca nam pełną listę wtyczek. Gdy wtyczka jest wyłączona, jej nazwa wyświetla się na czerwono, dzięki czemu możemy stwierdzić, czy nasz dodatek "chodzi". Przydatne informacje: Do wyrażenia money potrzebny jest Vault. Bez niego pojawią się błędy! Wydarzenia on region enter/leave wymagają regionów np. z WorldGuard. Nie współpracują z regionami innymi niż te z listy pod owym wydarzeniem w dokumentacji! d) Jeśli nic nie pomaga, przeinstaluj pliki Częstym problemem jest niedziałający Skript lub jego dodatek, lub niezgodne wersje serwera z wtyczkami, które na nim są. Np. błędna wersja Skript/WildSkript/Vault/SkQuery/etc. Dla starszych wersji trzeba trochę szperać za zgodnymi wtyczkami (np. WS 1.7, Skript 2.1.2, Bukkit pod 1.7.10); nowsze są załatwione za nas - wystarczy sprawdzić na SkUnity pod jaki build Skripta utworzony został dodatek. 2. Odstępy Może wiecznie zastanawiasz się, czemu ludzie piszą ci "Tylko sobie wytabuj", "Musisz tylko wytabować" itd. Bardzo częstym błędem skryptów, spowodowanym niedopatrzeniem jest "błąd wcięć". W konsoli/po przeładowaniu skryptu pierwszymi słowami, które go opisują są Indentation error Jednym z błędów, który często wynika z błędnego 'wytabowania' jest również Empty configuration section Mamy również informacje o tym, czego Skript "oczekuje", a co napotkał: expected <ilość> <typ wcięcia> but found <ilość> <typ wcięcia> np. expected 1 tab but found 4 spaces Oznacza to, że 4 spacje powinniśmy zamienić na jeden tab. Warto pamiętać o tym, że wcięcia muszą się zgadzać tylko w danej sekcji, tj. pod jednym wydarzeniem wcięcia muszą być równe po każdym dwukropku. Nic nie stoi na przeszkodzie, aby pod różnymi wydarzeniami były inne odstępy Musimy też wiedzieć, że dwukropek rozpoczyna nową sekcję konfiguracyjną (ale nie pełną sekcję). Oznacza to, że po dwukropku odstępy są obowiązkowe. Jeżeli go nie użyjemy, to efekt wpisujemy linijkę pod nim, ale musimy pamiętać, że jeżeli go wstawimy, to bez dodatkowego odstępu się nie obejdzie. ---->Bledne wydarzenie: warunek: warunek: efekt ---->Prawidlowe wydarzenie: warunek: warunek efekt Należy nadmienić, że powyższy błędny kod nie jest błędny per se. Tak długo jak odstępy są identyczne, puste sekcje konfiguracyjne mogą istnieć i nie powodować większych problemów. Efekt będzie wywołany bezpośrednio po wydarzeniu, bez uprzedniego sprawdzenia warunków - to zaś mija się z celem generowania warunków. Warto o tym pamiętać. 3. Co dwa znaki to nie jeden! Ale liczy się też pole do popisu! W Skripcie istnieją trzy znaki specjalne, które są używane bardzo często i bardzo łatwo jest spowodować błąd, gdy je zapisujemy. Są to cudzysłów ("), klamry "{}" i procent "%", a także znak ":" przy tworzeniu list zmiennych. Owe znaki zawsze muszą mieć parę, ponadto muszą zostać użyte we właściwym miejscu. Błędy z cudzysłowem poprzedzone są Invalid use of quotes błędy z klamrą najczęściej są opisywane niemożliwością zrozumienia wyrażenia Can't understand expression Użycie "%" w wydarzeniu/efekcie spowoduje błąd Can't understand this condition/effect natomiast nieodpowiednie oprocentowanie w cudzysłowie wywali: The percent sign is used for expressions (e.g. %player%). To insert a '%' type it twice: %% Przykłady: send "%{maslo::*}% to player Błędne, bo brakuje cudzysłowa zamykającego 1 spację przed słowem "to" send "%{maslo::*%" to player Błędne, bo brakuje klamry zamykającej zmienną send "%{maslo::*}" to player Błędne, bo brakuje "%" potrzebnego do odczytania zmiennej send "%{maslo:*}% to player Błędne, bo w zmiennej występuje tylko jeden ":" send "%{maslo::*}%" to player 100% poprawny zapis 4. Co ja robię tu? Bardzo częstym błędem są braki danego wyrażenia/typu/obiektu w warunku/efekcie którego użyliśmy. jest to m. in. używanie player w wydarzeniach okresowych takich jak pętla every %timespan% [in %world%] gdzie najpierw graczy musimy zapętlić, loop all players [in %world%] a potem odwołać się do zapętlonego gracza loop-player lub w innych wydarzeniach, w których gracza nie ma (lub występuje pod inną postacią). Np. command /mleko: executable by: console trigger: send "maslo" to player on spawn of zombie: send "Obok ciebie zespawnowal sie zombie!" to player every 3 seconds: send "debug!" to player on damage: set {attacked::%player%} to true Oczywiście tyczy to również bloków jak i innych bytów (zarówno zombie jak i ramka muszą być zapętlone w wydarzeniu, w którym chcemy ich użyć, gdy same w nim nie występują). Jest to bardzo ważne. Charakterystyczne błędy powiedzą nam: There's no <tu wyrażenie, którego użyliśmy> in <typ wydarzenia> event[s] lub w rozszerzonej formie There's no <tu wyrażenie, którego użyliśmy> in <typ wydarzenia> event[s] if no <typ wyrażenia> is given in the event (e.g. like 'przykład wydarzenia z dodatkowym typem') np. There's no player in periodic events There's no world in periodic event if no world is given in the event (e.g. like 'every hour in "world"') oraz Use 'coś', 'coś', ..., and/or 'coś' in <typ wydarzenia> events np. use 'victim' and/or 'attacker' in damage events Szczególnym przypadkiem tego błędu, jest błąd występujący w pętlach: There's no loop that matches 'loop-<typ>' np. There's no loop-that matches 'loop-player' wystąpi on na przykład w tym kodzie: loop {zmienna::*}: loop-player is sneaking: ... Łatwo go naprawić; wystarczy pamiętać, jakie wartości są charakterystyczne dla pętli: loop {zmienna::*}: send "%{zmienna::%loop-index%}% to %loop-value%" send "%loop-index% to wartość porządkowa (najczęściej numer)" loop blocks in radius 5 of {_loc}: send "%loop-block% to zapętlony blok!" loop players in radius 5 of {_g}: send "%loop-player% to zapętlony gracz" loop zombies where [zombie input is named "Kappa"]: send "%loop-zombie% to %loop-entity%, a to z kolei jest zapętlony zombiak!" loop 5 times: send "%loop-number% to raz, który już wykonywana jest pętla; najpierw będzie 1, potem 2 i tak aż do numeru w definicji pętli" Prawie ostatnim już błędem (który ponadto mówi jak się rozwiązać) jest błąd: There are multiple loops that match 'loop-<typ>' np. There are multiple loops that match 'loop-player' Wystarczy to załatwić, poprzez numerowanie, zależnie od pętli, którą chcemy: loop all players: #PĘTLA NR 1 loop-player's helmet slot is leather cap named "&aCzapka niewidka": #Tu nie musimy numerować, bo narazie jest jedna pętla loop players in radius 10 of loop-player: #PĘTLA NR 2 loop-player-2 doesn't have permission "niewidka.zobacz": #Sprawdza graczy z pętli nr 2 hide loop-player-1 from loop-player-2 #Ukrywa gracza z pętli nr 1 przed graczami z pętli nr 2 Przedostatni już błąd na tej liście, to linijka wyjęta z kontekstu - nie występuje pod żadną sekcją ani wydarzeniem invalid line - all code has to be put into triggers "Last stander" punktu czwartego to 'else' has to be placed just after an 'if' or 'else if' section charakterystyczny, jeżeli, tak jak w treści, else wstawiamy po warunku, który nie jest ani "ifem", ani "else ifem"... 5. Konflikty występują nawet w tekstach, czyli sprzeczka pobratymców. Bardzo często dostajemy informację Possible name conflict of variables Później informacja jakie to zmienne. Skąd to się bierze? Technicznie nie jest to błąd, ale informacja ostrzegawcza, że gdzieś może coś się zepsuć (nie jest to błąd techniczny, ale może być błędem praktycznym). Załóżmy, że ktoś tworzy mini grę o nazwie BigBubblesAttack, zmienną zapisuje w ten sposób: on join: set {bigBubblesAttack::%player%} to true No i wszystko spoko. Do czasu, bo gdy ta sama osoba robi np. zmienną grupową dotyczącą rozpoczęcia gry i nazywa ją tak: command /start: trigger: set {bigBubblesAttack::rozpoczeto} to true to całość może się sypnąć przed wpisaniem komendy. Jak? Wystarczy, że zanim jakaś osoba wpisze /start, na serwer wejdzie gracz o nicku "rozpoczeto". Dlatego najprostszym sposobem są dodatkowe dopiski w komendach. Zamiast {bigBubblesAttack::%player%} użyj {bigBubblesAttack::lista::%player%} A zamiast {bigBubblesAttack::rozpoczeto} użyj {bigBubblesAttack::status::rozpoczeto} i konflikt zmiennych zażegnany! 6. Porównanie to ważny środek artystyczny Równie popularnym co poprzednicy błędem jest can't compare <typ> with <częśc kodu> czasem rozszerzone o powód can't compare <typ> with <częśc kodu> because the latter is not an object "Compare", to z angielskiego "porównywać"; skrypt nie widzi danego typu w zastosowanej składni, np. can't compare player with "Edward" Wynika to z różnicy w typach; w dokumentacji zauważamy, że warunki, wydarzenia i efekty mają ściśle określoną składnie (dodatkowy powód oznacza, że to czego użyliśmy nie pasuje do żadnej składni, którą kojarzą Skript lub dodatki). Nie możemy od tak sobie zamienić ich kolejnością. Tam, gdzie jest %player% musimy użyć gracza; tam gzie jest %world% użyć świata itd. Bardzo często wystarczy użyć parse'a na stringu: Poradnik o parse'owaniu tutaj 05.07.2017 Poradnik edytowany; poprawione błędy w stylu, dodana miniaturka poradnika wykonana przez @Norbi oraz dodano punkt 6. 29.12.2019 Poradnik edytowany; poprawione błędy w stylu, wprowadzone drobne poprawki merytoryczne, usunięto powtarzające się fragmenty
    1 punkt
  14. boleknowak

    Prośby o forumowe nagrody

    Dzień dobry! Przyszedłem po zasłużoną rangę Bywalec. Na forum zarejestrowałem się 17 maja 2014 roku czyli... Od tamtej daty byłem na forum przynajmniej raz dziennie (tak, na forum wchodzę codziennie od 2014 roku). Myślę, że zasługuje na nagrodę Bywalec. Pozdrawiam szanowną ekipę skript.pl
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Fendi
    Fendi
    2 posty
    Quexsu
    Quexsu
    1 post
    kinimod5021
    kinimod5021
    1 post
    bug128
    bug128
    1 post
    F3lip3za
    F3lip3za
    1 post
    Nieaktywny
    Nieaktywny
    1 post
    LusiaMC
    LusiaMC
    1 post
    Antychryst
    Antychryst
    1 post
    MICHALBEZSKINOW
    MICHALBEZSKINOW
    1 post
  • Najwięcej tematów w tygodniu

    bug128
    bug128
    1 temat
    Nieaktywny
    Nieaktywny
    1 temat
    LusiaMC
    LusiaMC
    1 temat
    Antychryst
    Antychryst
    1 temat
    MICHALBEZSKINOW
    MICHALBEZSKINOW
    1 temat
    artur9010
    artur9010
    1 temat
    0j_12
    0j_12
    1 temat
    xSebixx1
    xSebixx1
    1 temat
  • Aktywni użytkownicy

×
×
  • Dodaj nową pozycję...