Skocz do zawartości

Saanjuk

Użytkownik
  • Ilość zawartości

    361
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    18

Treść opublikowana przez Saanjuk

  1. Saanjuk

    ID of item

    żeby gui wyglądało tak: https://ibb.co/vX6BM88 a nie tak: https://ibb.co/BL09ntf niezależnie od kolejności w jakiej itemy były wrowadzone do gui komendą
  2. Saanjuk

    ID of item

    chodzi o NUMERYCZNE ID tak jak pisałem aby uporządkować itemy w kolejności ... żeby posortować listę musisz mieć porównywalne wartości w niej nie posortujesz listy słów chyba że alfabetycznie ale wtedy będzie jeszcze wiekszy nieład w gui niż na nieposortowanej liście Tak jak napisałem w @edit2 już sobie z tym poradziłem loopując wszystkie item types i przypisując im moje własne numerki
  3. Saanjuk

    ID of item

    przykład: https://skript.pl/temat/29215-pobranie-id-przedmiotu/?do=findComment&comment=192560 Szukam id of item mam takie coś: loop-value zwraca mi typ przedmiotu np birch log natomiast chciałbym tworzyć listę tymczasową która zawiera id tych przdmiotów jest mi to potrzebne do posortowania wyświtlania itemów w gui w zależności od ich id tylko za żadne skarby świata nie moge wyłuskać id z tego nie działa próbowalem wywołać "id of loop-value" a następnie broadcast "%id of loop-value%" ale nawet broadcast "%id of stone%" nie działa choć teoretycznie powino więc i "id of loop-value" nie zadziała wie ktoś jak wyłuskać id przedmiotu z jego nazwy/typu? @edit : W zgłaszanych błędach na github Skript znalazłem taki wpis: Item IDs were removed in Minecraft 1.13. Lecz jestem świecie przekonany że używałem id przedmiotów do ich przyzywania po wersji 1.13 Skoro id nie istnieją już to czy jest szansa aby posortować przedmioty w porządku takim jak są w inv na gm1? @edit2: Jako że uparta ze mnie bestia to wymyśliłem coś takiego: set {_index} to 0 loop all items: add 1 to {_index} set {_idlist::%loop-value%} to {_index} ... set {_sortlist::%loop-value%.%loop-index%} to {_idlist::%loop-value%} ... i w ten sposób otrzymuje "ID" przedmiotów których id nie istnieje ... nie jest to idealne ponieważ stare id mogło wylądać np tak 1:1, 1:2, 2, 3, 3:1 teraz wygląda tak" 1, 2, 3, 4, 5, 6, 7" ale jest to jakiś sposób na segregacje itemów i nadanie im nowych id może komuś się przyda TEMAT DO ZAMKNIĘCIA CHYBA ŻE GENIUSZE SKRIPTA MAJĄ JAKIŚ LEPSZY SPOSÓB
  4. Może ktoś gra na Twoim nicku? Jeżeli nie to pisz do administracji tego serwera żeby kickneli "duszka"
  5. A nie da się tam zapisać pliku jaki np JavaScript a następnie edytować nazwy pliku na rozszerzenie .sk?
  6. Saanjuk

    Poprawa skryptu

    powinno być git
  7. Saanjuk

    Vouchery z kodem

    a co ci dałem w poście wyżej?
  8. a to nie jest przypadkiem tak że w essentialsX który jest niemal podstawowym pluginem dla każdego serwera mc masz coś takiego jak /kit i możesz tam sobie ustawić dokładnie to o co mnie teraz prosisz?
  9. Saanjuk

    Skrypt na hak

    To się nazywa grappling hook i jest tego pełno w necie... prosze zmieniłem tylko nazwy i poprawiłem 2 błędy z konsoli plu przetłumaczyłem wiadomości na pl: on fish: if fishing state is reel in: if unformatted name of player's tool is "&6hak": if lore of player's tool contains "&3Umiesz latać?": if {grapple::cooldown::%player's uuid%} isn't set: set {grapple::falldamage::%player's uuid%} to true push player upwards at speed 1 push player forwards at speed 2 damage player's tool by 10 set {grapple::cooldown::%player's uuid%} to 5 seconds from now wait 5 seconds delete {grapple::cooldown::%player's uuid%} delete {grapple::falldamage::%player's uuid%} else if {grapple::cooldown::%player's uuid%} is set: send "&cTwój hak się odnawia. &7(%difference between now and {grapple::cooldown::%player's uuid%}%)" to player set {_item} to player's tool set player's tool to air set player's tool to {_item} on swap hand item: if unformatted name of player's tool is "&6hak": if lore of player's tool contains "&3Umiesz latać?": cancel event send "%nl%&cOstrzeżenie! Użycie tego przedmiotu w drugiej ręce spowoduje błąd i zużycie wytrzymałości, ale nie wyrzuci cię do przodu.%nl%" command /grapplinghook: permission: admin permission message: &cYou don't have access to this command. trigger: give fishing rod named "&6hak" with lore "&3Umiesz latać?" to player on damage: if "%damage cause%" is "fall": if {grapple::cooldown::%victim's uuid%} is set: cancel event on enchant prepare: if event-item is fishing rod: if lore of event-item contains "&3Umiesz latać?": set enchant offer 1, 2 and 3 to thorns 1 set the cost of enchant offer 1, 2 and 3 to 100000 on anvil prepare: if lore of slot 0 of event-inventory contains "&3Umiesz latać?": set repair cost of event-inventory to -1 sprawdź czy działa komendą /grapplinghook dajesz sobie taki hak
  10. do zespawnowania npc za pomocą skripta używa się pluginów: skript, citizens oraz dodatku skript-citizens a to czego potrzebujesz samo w sobie jest w citizens więc nie widze sensu skryptowania tego...
  11. Saanjuk

    Vouchery z kodem

    to dlatego że: można wiele rzeczy zrobić akurat ten kod jest skonstruowany w taki sposób że to dosyć dużo zmienia więc zalecam wyczyszczenie listy kodów po aktualizacji wersja z archiwum kodów wykorzystanych: https://code.skript.pl/1egb5ldw wersja bez archiwum kodów wykorzystanych: https://code.skript.pl/UZsA3xBO Przy okazji poprawiłem bubel w ponownym generowaniu kodu jeżeli wygenerowany by juz istniał Dodałem wyświetlanie że lista jest pusta jeżeli nie ma na niej aktywnych voucherów
  12. Saanjuk

    Vouchery z kodem

    Dodałem jeszcze komendę "/voucher reset" która pozwala na wyczyszczenie całej listy (np po testach lub gdyby coś poszło nie tak i chciałbyś wykasować listę) Aby możliwe było skasowanie listy należy użyć komendy "/voucher reset"- wyskakuje komunikat o konieczności potwierdzenia że chcesz podjąć taką akcje masz na to 30 sekund jeżeli chcesz kontynuować wpisujesz "/voucher reset confirm" i lista zostaje wyczyszczona Nieco musiałem się nakombinować aby w jednej zmiennej ukryć i rangę i czas na którą ma być przyznawana ale na szczęście z pomocą dokumentacji się udało składnia komendy dodającej voucher: /voucher utworz <ranga> <czas> Ranga nie może zawierać spacji! Czas podajemy tak jak w komendzie od luckprems np: 1d, 1w, 30d Wersja z zapisem archiwalnych kodów wykorzystanych: https://code.skript.pl/17cnVTxJ Komenda /voucher list nie pokazuje kodów wygasłych (zużytych) Wersja bez historii kodów gdy kod zostanie zużyty znika z listy kodow (bazy danych): https://code.skript.pl/JXMhEIbq
  13. Saanjuk

    Vouchery z kodem

    Kod nie wymagający addonów oparty na czystym Skript (metoda generowania zaproponowana przez @Kormic) jak również mniej zaśmiecający baze danych (tak uwzględniłem uwagi @knugi - nie jestem alfą i omegą) co za tym idzie bardziej optymalny w 2 wersjach: Kod nie może zostać wygenerowany 2 raz (zapisuje się jako wykorzystany gdy ktoś go użyje): https://code.skript.pl/WAbDwN2O Kod może zostać wygenerowany 2 raz o ile nie istnieje w bazie (po wykorzystaniu kod znika z bazy danych i może zostać wygenerowany ponownie jako aktywujący range, w bazie danych trzymamy tylko kody niewykorzystane): https://code.skript.pl/MBxPadVN
  14. Saanjuk

    Vouchery z kodem

    Wg mojej interpretacji: generuje kod i zapisuje do jako {vouchers::123456::1} co oznacza vip gracz wykorzystuje kod usuwam {vouchers::123456::1} - lista {vouchers::123456} jest pusta dodaje do pustej listy "kod" `expired` a więc uzyskuje: {vouchers::123456::1} = expired jedyna możliwość nadpisania to gdy generując kod jakimś cudem ustrzelisz 2 kody już istniejące możliwe że masz rację siedzisz w Sk dłużej niż ja. Natomiast cała dyskucja nad tym prostym skryptem wydaje mi się bezcelowa... nawet jeżeli jakimś cudem nadpiszesz taki kod poprzez ustrzelenie 2 juz wygenerowanych kodów gracz rangę dostanie więc prawdopodobnie na wygenerowaną wiadomość o tym że kod jest juz wykorzystany nawet nie zwróci uwagi czyli nadal nie sprzątasz tej zmiennej... zmieniasz tylko jej format z "RANGA" na boolean
  15. Saanjuk

    Vouchery z kodem

    Tak ważny szczegół... Srypt wymaga addonu SkQuery aby działał w formie w jakim go przedstawiłem Ryzyko powtórzenia się kodu jest tak niewielkie że nie zakładałem nawet możliwości 2 trafień z rzędu w istniejący kod czy aż tak poteżne zabezpieczenie tak prostego skryptu nie jest wyrazem przerostu formy nad treścią? Co do nie usuwania zmiennych jak inaczej zapewnić że kod jest jednorazowego użytku? Jeżeli nie posiadamy listy już wykorzystanych kodów nie jesteśmy w stanie zapewnić że kod jest jednorazowy. Ryzyko wygenerowania kodu drugi raz jest niewielkie ale możliwe, w przypadku usuwania zmiennych z kodami wykorzystanymi które stanowią historię kodów możliwe jest wygenerowanie kodu wykorzystanego dosłownie chwile temu co nie zapewnia warunku jednorazowości
  16. Saanjuk

    Vouchery z kodem

    UPS poprawione tutaj spełniam wymóg zleceniodawcy: natomiast co do tego: z samych cyfr przy 6 znakowym kodzie masz 1 000 000 kombinacji ze znaków alfanumerycznych uwzględniając wielkość znaków możemy ułożyć 44 261 653 680 kombinacji skrypt wykorzystuje również znajki specjalne takie jak: ()[]|\/. (na takie trafiłem testując a pewnie wykorzystuje nawet więcej) nie sądzę że istnieje możliwość wykorzystania wszystkich vocherów na pojedynczym serwerze minecraft... no nie do konca tak... (jak się już czepiać to wszystkiego xD) Zapisuje go w postaci: {vouchers::KOD::RANGA} po wykorzystaniu: :{vouchers::KOD::expired} więc przed wykorzystaniem: {vouchers:1} = 123456 {vouchers::123456::1} = "VIP" po wykorzystaniu: {vouchers:1} = 123456 {vouchers::123456::1} = "expired".
  17. Saanjuk

    Vouchery z kodem

    w domyśle ustawione jest na voucher na 30d jeżeli chcesz to zmienić to podmień w 24 linijce ilość dni Kod zawiera:. dodawanie kodów /voucher utwórz <ranga> wykorzystywnie kodu: /voucher <kod> blokade wykorzystanych kodów blokadę utworzenia ponownie tego samego kodu (szana mniejsza niż na wygraną 6 w totka ale nie jest to nie możliwe) powiadomienie gdy kod nie istnieje Czego kod nie zawiera: kod nie potrafi wykryć czy ranga istnieje na serwerze jeżeli się pomylisz w nazwie rangi utworzysz voucher na nieistniejącą rangę i tyle
  18. Saanjuk

    Poprawa skryptu

    wpisz proszę `/sk info` na serwerze i daj wydruk z konsoli albo screena tego co ci wyskoczyło na czacie co do samego skryptu sprawdze czy u mnie działa i postaram Ci go naprawić aby działał event on any movemnt potrzebujesz addona do skript "SkQuery" : https://github.com/SkQuery/SkQuery/releases @EDIT: zastąpiłem ten event takim który nie wymaga addonów Proszę oto działający kod na czysty Skript bez addonów:
  19. Saanjuk

    Skrypt na skrzynki

    Prosze bardzo wrzucałem ten skrypt 1.5 roku temu posiada również wersje skrzynek z losowaniem jako item (ruletka w ekwipunku)
  20. Saanjuk

    Poprawa skryptu

    1 Kody wstawiamy w code 2 nie rozumiem jak mogłeś napisać taki skryot a nie umieć do niego dodać cooldown ale spoko dodane a co to jest to? wysyłasz juz graczowi wiadomość na czacie 3 ten fragment zerżnąłem z pracy mojej i mojego znajomego który jest największym i najbardziej kozackim skryptem jaki kiedykolwiek zrobiliśmy więc mam nadzieje że i u Ciebie zadziała bez zarzutów KOD: przyznam szczerze nie testowałem... jest środek nocy i nie chce mi się testowac rzeczy które w innym skrypcie działały bez zarzutów @edit: to też zmieniłem prosze o nie kopiowanie kodu pezpośrednio z tego małego okna tylko o wejście w odnośnik ponieważ w "okienku" nie zawsze ko0d się aktualizuje po edycji
  21. Saanjuk

    SellChest

    Witajcie! Dziś chciałbym wam zaprezentować autorski skrypt oparty na pomyśle użytkownika @ghgSFGdf SellChest Sellchest to skrzynia krórą możemy ustawić aby przedmioty wpadające do niej przez hopper lub włożone przez graczy były sprzedawane automatycznie po cenie ustalonej przez admina. Komendy: - ceny ustalamy komendą `/sellchest setprice` trzymając item w dłoni - możemy też usunąć cene aby nie dało się sprzedawać przedmiotu `/sellchest remove` trzymając item w dłoni - dla wszystkich graczy jest dostępna komenda `/sellchest check` pozwalająca sprawdzić cenę/możliwość sprzedazy itemka w sellchest - aby stworzyć skrzynię jako item wystarczy wpisać `/sellchest give <player>` - jeżeli nie podamy niku gracza skrzynka ląduje u nas w eq - skrypt automatycznie blokuje próby zniszczenia skrzyni w momentach w których gracze mogliby chcieć go zbugować lub gdy skrzynia nie należy do nich WYMAGANIA: wersja Skript +2.8.0 wersja SkQuery +3.6.2 wersja skRayFall +1.9.14 KOD: https://code.skript.pl/abbdczix/ Testujcie! Wszelkie uwagi czy błędy piszcie w postach w tym temacie
  22. Domyślnie w worldguard jest flaga która uniemożliwia jeżdżenie czymkolwiek na danym regionie
  23. dobrze, czy w mojej wersji kodu efekt jest taki sam? ponieważ próbuje się tego dowiedzieć od 3 postów... jeżeli nie to wypróbuj: on damage of player: if attacker is not a player: stop if attacker's tool is netherite sword: if name of attacker's tool is "&2&lᴢᴀᴛʀᴜᴛʏ ᴍɪᴇᴄᴢ": apply potion of poison to victim for 5 seconds na kodzie testowym : on click: if players's tool is netherite sword: if name of players's tool is "&2&lᴢᴀᴛʀᴜᴛʏ ᴍɪᴇᴄᴢ": send "test" to player działało doskonale
  24. próbuj mój kod bo ja nie mam testera
  25. a to w ogołe działa w tej formie? moim zdaniem powinno być po prostu: on damage of player: if attacker is not a player: stop if attacker's tool is netherite sword named "&2&lᴢᴀᴛʀᴜᴛʏ ᴍɪᴇᴄᴢ": apply potion of poison to victim for 5 seconds i jeżeli gracz nie zmieni nazwy miecza to powinno działać
×
×
  • Dodaj nową pozycję...