Ranking
Popularna zawartość
Treść z najwyższą reputacją w 12/05/20 uwzględniając wszystkie działy
-
[Skrypt] EasyStoneDrop + Fortune - Minecraft | SkVersion: 1.1 - 2020/2021 [STILL IN BUILD]!
Krystiann oraz jeden pozostały przyznał(a) reputację PanMaruda za temat
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 -
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
-
tak, ja wiem. a czy ty wiesz jak pisać posty w odpowiednim dziale? nie ma za co1 punkt
-
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
-
Skrypt na Boskie Ity
maciek2009 przyznał(a) reputację CoFFeIN04 za pytanie
1. Co do reszty to oznacz konkretnie minuty filmu1 punkt -
Ilu graczy ma przypisaną zmienną
suchymonster przyznał(a) reputację Kormic za pytanie
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 -
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
-
Owszem, istnieje. Jest to FunnyGuilds 4.7.0+ Nightly.1 punkt
-
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
-
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
-
1 punkt
-
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
-
Skrypt na home
koncuwka69 przyznał(a) reputację Kormic za pytanie
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 -
Dodaj linijkę (wybierz samo console) executable by: players/console/players and console przed linijką trigger:0 punktów
-
Bloxburg
PanMaruda przyznał(a) reputację Sniper00950 za pytanie
Chwilę po użyciu Nie rozumiem pytania, jakoś jaśniej? Tylko ja0 punktów -
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
-
Projekt dzielnicy azjatyckiej
HauHauBiedaki przyznał(a) reputację Libter za temat
@acki02 jest już jakaś linia komunikacyjna z centrum do dzielnicy?0 punktów -
morkazoid pisze że wystarczy wstawić NONE zamiast koloru ale to tylko usuwa kolor, nie znalazłem sposobu na wyłączenie tego glowingu0 punktów
-
Najwięcej postów w tygodniu
-
Najwięcej tematów w tygodniu
-
Aktywni użytkownicy
-
1
-
2
-
