Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 12/05/20 w Odpowiedzi

  1. Tak jak pan Kormic ci wyżej napisał i trochę więcej: unikaj definiowania rzeczy w pierwszej linijce eventu, np. zamiast on mine stone: #kod używaj: on mine: if event-block is a stone: #kod jeżeli jednak musisz już to zrobić - to proszę - pisz to poprawnie gramatycznie: zamiast on mine stone: #podczas wykopanie kamień? Jak to brzmi? Kali jeść? on rightclick axe: #podczas kliknięcia siekiera? Kali pić? używaj: on mine OF stone: #podczas wykopania kamienia on rightclick WITH axe: #podczas kliknięcia PPM siekierą nie powtarzaj takich samych sekcji w skrypcie, np. konfiguracji: zamiast options: admin: drop.admin # uprawnienie dla administratora upr_mess: &cNie masz wystarczających uprawnień # wiadomość dla gracza nie posiadającego uprawnień # Opcje zadziałania fortuny w PROCENTACH, ilości dodatkowych diamentów z fortuny, moc dropów surowców. <<------------<<------------<<------------ options: procent_zadzialania_fortuny_1: 20 używaj: options: admin: drop.admin # uprawnienie dla administratora upr_mess: &cNie masz wystarczających uprawnień # wiadomość dla gracza nie posiadającego uprawnień # Opcje zadziałania fortuny w PROCENTACH, ilości dodatkowych diamentów z fortuny, moc dropów surowców. <<------------<<------------<<------------ procent_zadzialania_fortuny_1: 20 Puste linijki ani komentarze nie przerywają ani nie kończą danej sekcji. ograniczaj kod do minimum - nie powtarzaj kodu pierdyliard razy: zamiast if player has permission "{@admin}": if arg 1 is not set: send "&8============ &6[ &eDrop Menu &4- Admin &6] &8============" to player send "" to player send " &8- &c/drop &aon &8- &eWłącza drop surowców na całym serwerze." to player send " &8- &c/drop &4off &8- &eWyłącza drop surowców na całym serwerze." to player send " &8- &6/drop szansa &8- &ePokazuje aktualną szansę na drop surowców w &cprocentach&e." to player send " &8- &6/drop surowce &aon &8- &eWłącza drop surowców." to player send " &8- &6/drop surowce &coff &8- &eWyłącza drop surowców." to player send " &8- &6/drop cobble &aon &8- &eWłącza drop cobblestone." to player send " &8- &6/drop cobble &coff &8- &eWyłącza drop cobblestone." to player send " &8- &6/drop wiadomosci &aon &8- &eWłącza powiadomienia o dropie." to player send " &8- &6/drop wiadomosci &coff &8- &eWyłącza powiadomienia o dropie." to player send "" to player send "&8============ &6[ &eDrop Menu &4- Admin &6] &8============" to player if arg 1 is not set: if player don't have permission "{@admin}": send "&8============ &6[ &eDrop Menu &6] &8============" to player send "" to player send " &8- &6/drop szansa &8- &ePokazuje aktualną szansę na drop surowców w &cprocentach&e." to player send " &8- &6/drop surowce &aon &8- &eWłącza drop surowców." to player send " &8- &6/drop surowce &coff &8- &eWyłącza drop surowców." to player send " &8- &6/drop cobble &aon &8- &eWłącza drop cobblestone." to player send " &8- &6/drop cobble &coff &8- &eWyłącza drop cobblestone." to player send " &8- &6/drop wiadomosci &aon &8- &eWłącza powiadomienia o dropie." to player send " &8- &6/drop wiadomosci &coff &8- &eWyłącza powiadomienia o dropie." to player send "" to player send "&8============ &6[ &eDrop Menu &6] &8============" to player twórz w taki sposób if arg 1 is not set: if player has permission "{@admin}": set {_} to "&4- Admin " add " &8- &c/drop &aon &8- &eWłącza drop surowców na całym serwerze." to {_admin::*} add " &8- &c/drop &4off &8- &eWyłącza drop surowców na całym serwerze." to {_admin::*} send "&8============ &6[ &eDrop Menu %{_} ? """"%&6] &8============" send "" send {_admin::*} send " &8- &6/drop szansa &8- &ePokazuje aktualną szansę na drop surowców w &cprocentach&e." send " &8- &6/drop surowce &aon &8- &eWłącza drop surowców." send " &8- &6/drop surowce &coff &8- &eWyłącza drop surowców." send " &8- &6/drop cobble &aon &8- &eWłącza drop cobblestone." send " &8- &6/drop cobble &coff &8- &eWyłącza drop cobblestone." send " &8- &6/drop wiadomosci &aon &8- &eWłącza powiadomienia o dropie." send " &8- &6/drop wiadomosci &coff &8- &eWyłącza powiadomienia o dropie." send "" send "&8============ &6[ &eDrop Menu %{_} ? """"%&6] &8============" mamy podobne wiadomości, które różnią się tylko fragmentem więc nie powtarzając warunków sprawdzamy tylko raz czy gracz jest adminem i wtedy ustawiamy tą różnicę w wiadomościach do zmiennych - czyli napis '&4 Admin' do zmiennej {_} i dwie wiadomości do listy {_admin::*} następnie przechodzimy do wysyłania wiadomości - w miejscu gdzie powinny się znaleźć linijki dla admina - wysyłamy listę {_admin::*} gdy będzie ustawiona, tj. gdy gracz jest adminem wtedy wiadomości z listy zostaną wysłane gdy nie będzie ustawiona, tj. gdy gracz nie jest adminem wtedy lista będzie pusta i nic nie wyśle zmienną {_} wstawiamy do nagłówka i stopki w procentach, ponieważ chcemy wyświetlić jej wartość {_} ? """" tylko dlaczego taki zapis - o ile lista przy wysyłaniu gdy będzie pusta nie wyśle nic, tak zmienna wstawiona do tekstu gdy będzie pusta (tj. gdy gracz nie będzie adminem) zwróci null (czyli <none>) - tego nie chcemy - dlatego definiujemy wartość domyślną dla tego nulla - znaczy to mniej więcej tak - gdy zmienna będzie miała wartość wstaw jej wartość, a gdy nie - wstaw wartość znajdującą się po drugiej stronie pytajnika. Dlaczego jest tam cztery cudzysłowy ("""")? Ten zapis jest równoznaczy z pustą wiadomoscią "", ale ponieważ jest to tekst w tekście a cudzysłów jest znakiem specjalnym to gdy chcemy go wpisać do tekstu musimy go zapisać podwójnie (podobnie jak procenty i kratki) zrezygnuj z ustawiania odbiorcy na końcu wiadomości ('to player') - to jest komenda - jeżeli wysyłamy wiadomość do gracz, który ją wykonał to skript sam go sobie dopełni nie powtarzaj eventów: zamiast on mine emerald ore: cancel event set block to air send "{@wykopanie_rudy}" to player on mine gold ore: cancel event set block to air send "{@wykopanie_rudy}" to player pisz w taki sposób: on mine: if event-block is any ore: cancel drops send "{@wykopanie_rudy}" ponownie rezygnacja z 'to player' - to jest event wykonywany przez gracza - więc nie trzeba ustawiać odbiorcy jak wyżej również pisałem - nie sprawdzaj bloku w pierwszej linijce eventu skoro sprawdzasz wszystkie rudy osobnymi eventami - a zatem kod się powtarza a zmienia się jedynie rodzaj rudy - to użyj wyrażenia 'any ore' - ono sprawdzi czy wykopany blok jest jakąkolwiek rudą (w skript mamy wiele takich grup przedmiotów - any ore, any food, any sheep, any villager, any tool i tak dalej... nie przerywaj eventu aby potem zniszczyć blok bo to niepotrzebnie obciąża procesor i irytuje gracza - wyczyść wypadające przedmioty - użyj 'cancel drops' zamiast 'cancel event' tak jak wyżej napisał Kormic - nie powielaj eventów o podobnym działaniu: zamiast: on first join: set {drop.%player%} to true set {wiadomosci.%player%} to true set {cobble.%player%} to true on join: set {drop.%player%} to true set {wiadomosci.%player%} to true set {cobble.%player%} to true używaj jedynie on join: set {drop.%player%} to true set {wiadomosci.%player%} to true set {cobble.%player%} to true event 'on first join' aktywuje się równocześnie z 'on join' więc jest to zbędne zaśmiecanie kodu wydarzenie 'on mine' aktywuj się jedynie w przypadku gdy blok zostanie zniszczony odpowiednim narzędziem i z bloku wypadnie przedmiot - nie musisz więc sprawdzać czy danym narzędziem można zniszczyć blok: if player' tool is a diamond pickaxe or iron pickaxe or stone pickaxe: póki co tyle ode mnie - połącz wszystkie te eventy w jeden, popraw powyższe błędy, zastosuj się do tego co ci napisałem ja i panowie wyżej - w razie problemów pytaj - powodzenia.
    2 punkty
  2. PanMaruda

    Gui

    command /otwórz-mi-moje-gui: trigger: if {skrzynka::%player%} is not set: set {skrzynka::%player%} to chest with 4 rows named "jestem twoją skrzynką" open {skrzynka::%player%} to player
    1 punkt
  3. PanMaruda

    Własne Itemki

    mamy tylko dwa działy - dział pytań i problemów oraz dział zleceń - a ty napisałeś w dziale prezentacji skryptów, gratuluję.
    1 punkt
  4. CoFFeIN04

    Gui

    Mówiłem już coś na ten temat zamień to na ((loop-number)-1) po prostu Do gui najłatwiej Ci będzie skorzystać z marudnego skryptu
    1 punkt
  5. PanMaruda

    Własne Itemki

    tak, ja wiem. a czy ty wiesz jak pisać posty w odpowiednim dziale? nie ma za co
    1 punkt
  6. Kormic

    Gui

    1. W starszych wersjach niemożliwym było używanie wyrażeń arytmetycznych w nazwach zmiennych, więc możliwe, że przed pętlą musisz stworzyć zmienną lokalną, która będzie zwiększana o 1 co każdą iterację pętli. Następnie podmieniasz 'loop-number - 1' na tę zmienną lokalną. 2. Użyłeś w pętli 'stop', co spowoduje, że przy pierwszej iteracji pętla zostanie zatrzymana i jedynie slot nr 0 zostanie ustawiony. 3. W ostatniej linijce zgubiłeś minus między 'loop-number' a '1'. 4. Nie używaj formatowania GUI z SkQuery, gdyż pozwala na łatwe wyjmowanie przedmiotów przy minimalnej wiedzy ze strony osoby bugującej GUI. Zamiast tego użyj formatowania ze Skripta, mianowicie 'set slot' (o ile posiadasz wystarczającą wersję Skripta).
    1 punkt
  7. CoFFeIN04

    Gui

    nie zapominaj teraz już wiesz Skąd wzięły się te loop-number w tej komendzie ;D
    1 punkt
  8. CoFFeIN04

    Gui

    Po 1 - korzystaj z formatowanie kodu Po 2 - nie korzystaj z format slot - to jest zbugowane. Po 3 - korzystasz z loop-number gdzie nie ma pętli?
    1 punkt
  9. PanMaruda

    Gui

    albo drugi sposób: tworzysz sobie w zmiennej nową, pustą skrzynkę o zadanej ilości rzędów i nazwie - a następnie otwierasz ją graczowi
    1 punkt
  10. CoFFeIN04

    Skrypt na Boskie Ity

    1. Co do reszty to oznacz konkretnie minuty filmu
    1 punkt
  11. Kormic

    Ilu graczy ma przypisaną zmienną

    Skoro użyłeś listy zmiennych, będzie to o wiele łatwiejsze. W tym celu użyj wyrażenia 'size of'. send "&6%size of {czas::*}% &agraczy ma przypisaną zmienną &e{czas::%%player%%}&a!"
    1 punkt
  12. Proszę, oto skrypt. Na górze kodu, w drugiej linijce ustawiasz ile razy gracz musi zabić smoka, aby wypadła z niego elytra. options: wymaganeZabojstwaSmokow: 3 on death of ender dragon: attacker is a player if {killedDragons::%attacker%} is not set: set {killedDragons::%attacker%} to 0 add 1 to {killedDragons::%attacker%} if {killedDragons::%attacker%} is {@wymaganeZabojstwaSmokow}: add elytra to drops send "&aBrawo, zabiłeś smoka! Wypadła z niego elytra!" to attacker clear {killedDragons::%attacker%} else if {killedDragons::%attacker%} is ({@wymaganeZabojstwaSmokow} - 1): send "&aBrawo, zabiłeś smoka! Musisz zabić jeszcze &61 raz &asmoka, aby wypadła z niego elytra!" to attacker else: send "&aBrawo, zabiłeś smoka! Musisz zabić jeszcze &6%3 - {killedDragons::%attacker%}% &6razy &asmoki, aby wypadła z niego elytra!" to attacker EDIT: Przepraszam przyjacielu, że zepsułem ci zabawę... Masz serduszko w ramach rekompensaty.
    1 punkt
  13. _T4fi3eD_

    Skript

    on mine: if event-block is stone: chance of 0.001%: drop 1 yellow dye Proszę bardzo ;3
    1 punkt
  14. Kormic

    Plugin FunnyGuilds 1.16.4?

    Owszem, istnieje. Jest to FunnyGuilds 4.7.0+ Nightly.
    1 punkt
  15. 1. Wszelkie dłuższe skrypty wstawiamy na serwis code.skript.pl. Usuń ten skrypt i wrzuć go do tego serwisu, a następnie wklej link, zostanie on automatycznie zamieniony na graficzną formę wycinku kodu. 2. Co do samego skryptu... Zalety to: obszerna sekcja konfiguracyjna, co pozwala użytkownikowi na dopasowanie niemalże całego skryptu do swoich zastosowań możliwość modyfikacji dropu przez gracza Wady natomiast to: wielokrotne nasłuchiwanie do tych samych eventów (chociażby on mine stone), tutaj zalecałbym połączenie wszystkiego w jeden event wiele zagnieżdżonych conditionali, co wpływa negatywnie na czytelność kodu, zalecałbym zastąpienie tego czymś takim: if arg 1 is not 1: stop if arg 2 is not 2: stop if arg 3 is not 3: stop # I tak dalej... brak użycia funkcji w celu skrócenia kodu oraz uczynienia go czytelniejszym niepotrzebne użycie 'on first join' oraz 'on join', gdyż zawierają ten sam kod, wystarczy użyć samego 'on join' Nie wiem czy testowałeś skrypt, czy też nie, ale z pewnością przydałoby się uporządkować kod. Starałem się wypunktować te wady, które najbardziej rzucają się w oczy. Mógłbym się tutaj jeszcze do sposobu nazewnictwa zmiennych, ale to jest szczerze mało istotne (o ile nie zamierzasz ich później masowo modyfikować). EDIT: Co do rozwoju skryptu, dodam, że przydałoby się utworzenie jakiegoś GUI pozwalającego na modyfikację dropu. Gracze raczej wolą GUI aniżeli zabawę w wykonywanie dziesiątek komend.
    1 punkt
  16. Kormic

    JSON jako Broadcast

    Jeżeli zmiany dotyczą tylko i wyłącznie skryptu, wystarczy sam /sk reload [nazwa] (w przypadku zmian wielu skryptów będzie to /sk reload scripts). Natomiast jeżeli zmieniamy config, będzie to /sk reload config. Gdybyśmy jednak zmieniali obie rzeczy, wtedy korzystamy z komendy /sk reload all, która przeładowuje wszystkie skrypty oraz wszystkie pliki konfiguracyjne. Mimo wszystko przy restarcie serwera masz pewność, że wszystko ładnie się od nowa załaduje. Jednakże jest to najbardziej czasochłonna metoda, dlatego też warto zapoznać się z ww. komendami, aby zaoszczędzić sobie zbędnego czekania na wznowienie pracy serwera.
    1 punkt
  17. PanMaruda

    every 120 second

    every 120 seconds IN "world"
    1 punkt
  18. Kormic

    every 120 second

    Próbujesz użyć bezpośrednio gracza w periodicalu. Należy pamiętać, że periodical wykonuje jedynie jakiś kod co daną jednostkę czasu. Tam nie ma żadnego event-playera (playera). Jeżeli chcesz wykonać daną akcję dla wszystkich graczy osobno, zapętlasz ich za pomocą 'loop all players' i odnosisz się do zapętlanego gracza poprzez 'loop-player'. EDIT: Co do twojego błędu, Pan Maruda podał rozwiązanie. Po prostu zjadłeś przyimek 'in'.
    1 punkt
  19. Kormic

    Skrypt na home

    Tworzenie nowego skryptu na home'y mija się z celem. Nie dość, że pełno jest takich skryptów w internecie, to w dodatku wszystkim dobrze znany Essentials oferuje ustawianie home'ów.
    1 punkt
  20. CoFFeIN04

    Komenda przez Konsole

    Dodaj linijkę (wybierz samo console) executable by: players/console/players and console przed linijką trigger:
    0 punktów
  21. Sniper00950

    Bloxburg

    Chwilę po użyciu Nie rozumiem pytania, jakoś jaśniej? Tylko ja
    0 punktów
  22. Tymekd

    [SKYBLOCK][1.15.2-1.16.3] MCSB.PL

    Nawet fajna ta prezentacja ale mam kilka ale, po co napisałeś ipv4? po co wszędzie jest napisane autorskie, na początku napisałeś i to wystarczy, ale tak to spoko prezentacja.
    0 punktów
  23. Libter

    Projekt dzielnicy azjatyckiej

    @acki02 jest już jakaś linia komunikacyjna z centrum do dzielnicy?
    0 punktów
  24. Tymekd

    Plugin na "świecenie postaci"

    morkazoid pisze że wystarczy wstawić NONE zamiast koloru ale to tylko usuwa kolor, nie znalazłem sposobu na wyłączenie tego glowingu
    0 punktów
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
  • Najwięcej postów w tygodniu

    Fendi
    Fendi
    3 posty
    xSebixx1
    xSebixx1
    2 posty
    Antychryst
    Antychryst
    1 post
    MICHALBEZSKINOW
    MICHALBEZSKINOW
    1 post
    artur9010
    artur9010
    1 post
    Bananek355
    Bananek355
    1 post
    0j_12
    0j_12
    1 post
    Kormic
    Kormic
    1 post
    karepas
    karepas
    1 post
  • Najwięcej tematów w tygodniu

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

×
×
  • Dodaj nową pozycję...