Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 02/04/19 uwzględniając wszystkie działy

  1. Peridot

    [SZUKAM] TECHNIKA

    To już wiem że serwer będzie niewypałem 1. HC na 1.8.8 2. Autor jest tak skąpy że nie chce nawet zapłacić komuś za wykonaną pracę, nie mówiąc o pieniądzach na serwer... I zły dział...
    3 punkty
  2. kerpson

    [SZUKAM] TECHNIKA

    taka prawda. 250 zł - płacisz 30zł i masz core na serwer. Reklamy - 100zł + jakieś np. grafiki - 10zł = 140zł Zostało 110zł na maszynę. Crafthost ci wystarczy, chyba że chcesz lobby do tego na titanaxe polecam iść.
    2 punkty
  3. xAxee

    Pozwolenie na broń

    command /kupbron [<text>]: trigger: if {pozwolenie::%player%} is true: if player's balance >= 2500: remove 2500 from player's balance add potato named "&6Bron" to player else: send "&6Nie posiadasz kasy!" else: send "&6Nie masz pozwolenia! /pozwolenie" command /pozwolenie [<text>]: trigger: if {pozwolenie::%player%} is false: if player's balance >= 1000: remove 1000 from player's balance chance of 40%: send "&6Zdales otrzymales pozwolenie!" set {pozwolenie::%player%} to true else: send "&6OBLALES!" else: send "&6Nie posiadasz kasy!" else: send "&6Zdales juz kiedys!"
    2 punkty
  4. xAxee

    Pozwolenie na broń

    command /kupbron [<text>]: trigger: if {pozwolenie::%player%} is true: if player's balance >= 2500: remove 2500 from player's balance add potato named "&6Bron" to player else: send "&6Nie posiadasz kasy!" else: send "&6Nie masz pozwolenia! /pozwolenie" command /pozwolenie [<text>]: trigger: if player's balance >= 1000: remove 1000 from player's balance chance of 40%: send "&6Zdales otrzymales pozwolenie!" set {pozwolenie::%player%} to true else: send "&6OBLALES!"
    2 punkty
  5. jaku49

    [SZUKAM] TECHNIKA

    Wybierz jedno. Takich rzeczy nie robi się za darmo.
    2 punkty
  6. Robisz operacje na bazie danych w głównym wątku serwera, nie jest to dobry pomysł :V
    2 punkty
  7. 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
  8. Kiler512

    Pozwolenie na broń

    Siemka potrzebuje skryptu na broń i najlepiej zeby było też pozwolenie na nią które np. kupujesz u NPC za 2,5k, Jesli jest taki plugin to mozecie podac nazwe/link z góry dzięki byczki
    1 punkt
  9. xAxee

    Pozwolenie na broń

    masz SkQuery? zamień on right click... na on rightclick with entity
    1 punkt
  10. jakubuteq__

    [SZUKAM] TECHNIKA

    Witam szukam technika na serwer --> Wersja Serwera 1.8.8 Hardocre/Mediumhc --> 14+/16+ lat --> chcial bym aby technik pisal pluginy/core/skrypty --> chcial bym znalesc technika za free [JESLI KTOS CHCE ZA FREE PISAC ODRAZU A JESLI KTOS CHCE KASE TO NIECH NIE PISZE] Kontakt Discord: JakubuteQ#1662 TeamSpeak: psgaming.pl i niech ktos pisze to pojde z nim na kanal max 2
    1 punkt
  11. xAxee

    przypisanie gracza do bloku

    options: title-glo-przypisano: &6Przypisano! title-sub-przypisano: &cPrzypisano &6%event-block% &cdo ciebie! title-glo-odpisano: &6Odpisano! title-sub-odpisano: &cOdpisano &6%event-block% &cod ciebie! on place: set {blok::g::%location of event-block%} to player set {blok::h::%location of event-block%} to 10 send player title "{@title-glo-przypisano}" with subtitle "{@title-sub-przypisano}" for 2 seconds on break: if {blok::g::%location of event-block%} is player: clear {blok::g::%location of event-block%} and {blok::h::%location of event-block%} send player title "{@title-glo-odpisano}" with subtitle "{@title-sub-odpisano}" for 2 seconds
    1 punkt
  12. jaku49

    [SZUKAM] TECHNIKA

    Z całą pewnością mogę stwierdzić że się mylisz, wersja 1.8.8 jest już wersją dość oklepaną a tryb jest już dawno dla wszystkich nudny. Myślisz że jak kupisz reklamy za 100 złotych (prawie każdy większy Youtube +15k widzów bierze więcej niż 100 złotych) to będziesz miał na nim 400 osób? Nie, nie będziesz miał, chcesz aby gracze grali to zrób coś na co teraz jest popyt (czytaj coś nowego i na normalnej wersji 1.13 a nie archaicznym 1.8 z 2014 roku) a nie coś co było 2 lata temu modne. Widać Twój poziom intelektualny po awatarze, znajomości pisowni wyrazów (nie chodzi mi o nasze ojczyste znaki), myślenia że dostaniesz coś co wymaga dużo pracy za darmo. Współpraca z Tobą na 100% będzie czymś wyjątkowym. Z tych opcji tylko skrypty można pisać za darmo bo to nie jest tak wydajne jak pluginy. Core jest zestawem funkcji, nikt za darmo go dla Ciebie pisał nie będzie i tracił swój czas. Jak chcesz takie rzeczy za darmo to paczki pluginów z neta są dla Ciebie idealne. Autor tematu bierze prawdę za obrazę jego osoby Na pewno to wyrażenie przyimkowe składające się z przyimka na i dawnej formy B. lp. rodzaju nijakiego przymiotnika pewno. Stąd pisownia rozłączna, tak jak na nowo, na darmo, na okrągło, na prawo. Wyraz pewno, choć rzadko używany, jest synonimem przysłówka pewnie, czyli oznacza przypuszczenie. ~ https://polszczyzna.pl/na-pewno_naprawde_w-ogole_po-prostu/
    1 punkt
  13. Peridot

    [SZUKAM] TECHNIKA

    Po co ci maszyna za 150 złotych na serwer który raczej nie będzie ogromny? ;v
    1 punkt
  14. xAxee

    If player has..

    options: item: iron horse armor min: 1 if amount of {@item} in player's inventory > {@min}: #1111 odpowiedzi
    1 punkt
  15. Ogólnie plugin dosyć fajny ale brakuje mi tu smaczka jak EventPriority w listenerach
    1 punkt
  16. RexuTVs

    Gamemode

    Testowane
    1 punkt
  17. xAxee

    Gamemode

    options: bloki: bedrock and beacon on gamemode change: clear player's inventory on drop: if player's gamemode is creative: cancel event on place: if player's gamemode is creative: if event-block is {@bloki}: cancel event on rightclick: if player's gamemode is creative: if clicked-block is chest or item-frame: cancel event
    1 punkt
  18. Magiczny enchant Dodaje on menu które się otwiera po kliknienciu na enchanting... Skrypt jest w 100% stworzony przez RoYYaLLMiNNa [Mnie] Enchantuje on przedmioty do: ostr 5, prot 4, efficiency 5 Posiada dymek... Biblioteczki dookola nic nie robia Zdjecia: http://screenshot.sh/odDwa7y3hZcHM <-- Obramowanie http://screenshot.sh/m8SFoSXTvTE4u <-- Wyglad enchantowania http://screenshot.sh/m8X8oVm31WE0K <-- Dymek nad enchantem http://screenshot.sh/m3iz7JnugM1Au <-- Enchanting na moim serwerze [[ciach] mozna tam testowac...] Skrypt mozna testowac na: [ciach] Wymagane: - Skrypt - WildSkrypt - SkQuery PasteBin: https://code.skript.pl/9wgjD7Mb/ //Nie reklamuj serwerów, do tego służy inny dział ~bvcz
    1 punkt
  19. Norbi

    Jak rozumieć błędy?

    Poradnik dobrze zrobiony Mam 1 zastrzeżenie W zwykłym bukkicie/spigocie też jest taka możliwość
    1 punkt
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ę...