Skocz do zawartości

QDrop - Skrypt na drop ze stone


Rekomendowane odpowiedzi

Siemaaa!

Trzeba przyznać,że dawno nie publikwałem tu nowego skryptu. Postanowiłem,że napiszę coś prostego a mianowicie "drop" ze stone.
Patrząc na to jak wyglądają podobne skrypty o tym samym zadaniu można się załamać.


Co ja zrobiłem,żeby Was nie załamać?
No to po pierwsze skrypt ma jedną nową opcję,której nie spotkałem jeszcze u innych. Funkcja jest jednocześnie prosta i moim skromnym zdaniem przydatna czyli automatyczne wkładanie przedmiotów do skrzyni kresu.
Po drugie wszystko co wypada z kamienia jest do ustawienie w pliku .yml. Plik ma automatycznie pobraną konfiguracje. Jest nieograniczona możliwość dodawania nowych przedmiotów.
Cały skrypt zajmuje jedynie 124 linijki.

Konfiguracja, co i jak?
Każa opcja ma nazwę, która mówi sama za siebie ale bez względu na to wytłumaczę co i jak z każdą z opcji.

xp: '5'
drops:
  diax:
    item: 'diamond'
    szanse: '0.2%'
    nazwa: '&bDIAMENT'
    fortuna: 'tak'
    xp: '50'
    wiadomosc: '&e&lDROP &8> &bDIAMENTY &4(&8ILOSC&4)'
    enderchest: 'tak'
    ilosc:
      min: '1'
      max: '3'
    poziom:
      min: '0'
      max: '15'

Tak wygląda początek konfiguracji. Aby wyłączyć daną funkcję należy wpisać "nie".

Na samej górze jest opcja "XP" gdzie można ustawić ile punktów doświadczenia wypada za każdy wykopany kamień.

Zakładka "drops":
Każda następna sekcja konfiguracji powinna być wpisana po odstępie dwóch spacji. Nazwa sekcji czyli w tym przypadku "diax" jest dowolna i nie wpływa ona na działanie.

Item: 'diamond'
Tutaj wpisujemy jaki przedmiot ma wypaść czyli np. stone, diamond, iron sword.

Szanse: '0.2%'
Szanse jakie są na wypadnięcie danego przedmiotu np. 100%, 50% , 0.5%.

Nazwa: '&bDiament'
Nazwa przedmiotu wyświetlana w GUI.

Fortuna: 'tak'
Czy zaklęcie Fortune (Szczęście) ma dodawać szanse na wypadnięcie przedmiotu.

Xp: '50'
Ile punktów doświadczenia otrzyma gracz po znalezieniu tego przedmiotu.

Wiadomosc: '&e&lDrop &8> &bDIAMENTY &4(&8ILOSC&4)'
Wiadomość jaka wyświetla się przy wykopaniu czegoś. Aby ją ukryć wpisz '' bez odstępu między apostrofami. Jeżeli chcesz pokazać ilość znaleziska wpisz "ILOSC" (wielkosc liter ma znaczenie).

Enderchest: 'tak'
Jeżeli gracz nie ma miejsca w ekwipunku przedmiot ma zostać przeniesiony do skrzyni kresu.

Ilosc:
Ile ma wypadać przedmiotu. (min = minimalnie, max = maksymalnie)

Poziom:
Od jakiego poziomu na osi Y można znaleźć ten przedmiot (min = minimalnie, max = maksymalnie)

 

GUI, jak to wygląda?
 

Spoiler

WXiITSA.png?1e5629kN.png?1

HlBgeP9.pnggiDlBRe.png


POBIERANIE
Code.Skript.pl
Code.Skript.pl (RAW)

 

 

 

 

 

 

 


 

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/
Udostępnij na innych stronach

Teraz, Switsherker napisał:

Powiem ci, że sam mam na składzie taki skrypt tylko działający bez WildSkript'a, zaktualizuj go na używanie skQuery i nie będę miał zastrzeżeń :).

postaram się :D

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-104480
Udostępnij na innych stronach

@Quaczi mówisz, i masz. Zaczynamy.
Błędy:

  • Za każdym razem pobierasz konfiguracje żywcem z pliku, czego się nie robi, bo to wbrew mitom nie jest ani wydajne, ani sensowne. Najlepiej przy starcie skryptu zapisywać całość do zmiennych, przy wyłączeniu skryptu te zmienne usuwać, i z nich bezpośrednio pobierać.
  • Nie używasz funkcji, dzięki nim skrócisz kod znacznie, np ten fragment:
    set {_1::*} to configuration section "drops" get of "plugins/QDrop/drops.yml"
    		loop {_1::*}:
    			set {_d::item::%loop-value%} to single value "drops.%loop-value%.item" get of "plugins/QDrop/drops.yml" parsed as item
    			set {_d::sz::%loop-value%} to single value "drops.%loop-value%.szanse" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_d::xp::%loop-value%} to single value "drops.%loop-value%.xp" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_d::n::%loop-value%} to single value "drops.%loop-value%.nazwa" get of "plugins/QDrop/drops.yml"
    			set {_d::for::%loop-value%} to single value "drops.%loop-value%.fortuna" get of "plugins/QDrop/drops.yml"
    			set {_d::en::%loop-value%} to single value "drops.%loop-value%.enderchest" get of "plugins/QDrop/drops.yml"
    			set {_d::wiad::%loop-value%} to colored single value "drops.%loop-value%.wiadomosc" get of "plugins/QDrop/drops.yml" parsed as text
    			set {_d::imin::%loop-value%} to single value "drops.%loop-value%.ilosc.min" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_d::imax::%loop-value%} to single value "drops.%loop-value%.ilosc.max" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_d::pmin::%loop-value%} to single value "drops.%loop-value%.poziom.min" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_d::pmax::%loop-value%} to single value "drops.%loop-value%.poziom.max" get of "plugins/QDrop/drops.yml" parsed as number
    			set {_xp} to single value "xp" get of "plugins/QDrop/drops.yml" parsed as number

    Trzeba trochę pomyśleć, ale się stanowczo da. Poradnik do nich masz tutaj: https://wiki.skript.pl/Skript:Funkcje

  • Nie rozumiem co ten fragment ma na celu:
     

    on join:
    	set {_1::*} to configuration section "drops" get of "plugins/QDrop/drops.yml"
    	loop {_1::*}:
    		if {qd::%player%::%loop-value%} is not set:
    			set {qd::%player%::%loop-value%} to "TAK"

    Przecież to ma tyle sensu co pisanie gildii w Skript, czyli żaden.

Ogólnie nie jest źle, poprawisz te błędy i będzie zupełnie OK.

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-104482
Udostępnij na innych stronach

Może punkty, ala mchc, craftcore?

 

//edit @Quaczi Może jeszcze turbodrop/exp, statystyki, własne gui do ustawienia w configu?

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-104484
Udostępnij na innych stronach

@Wizzard no widzisz, żeby nie zaśmiecać zmiennymi wszystko jest w predaktach czyli nie mogę użyć funkcji a miałem taki pomysł. Jeżeli chodzi o pobieranie pliku raw problem jest ten sam, albo zmienne (zajmowanie więcej pamięci) albo predakty (szybki zapis i odczyt) ale ogl to dzięki za podpowiedź.@KrejzolekPRO jak możesz to usuń kod z komentarza a punkty zrobię sam :D

Wysłane z mojego Lenovo A806 przy użyciu Tapatalka

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-104488
Udostępnij na innych stronach

  • 2 tygodnie później...

Można się załamać, ale patrząc na twój skrypt. Widziałeś ty kiedyś nDrop albo SuperDrops? No właśnie, SuperDrops...

Cytując internety, "To jest [ciach]a dramat."

Jak zobaczyłem config to juz wszystko wiedziałem. https://github.com/herhor67/superdrops/blob/master/config.yml Przecież to jest praktycznie identyczne, jedynie wywalony blok z którego ma dropić (no bo drop musi być z dołna stołna) i lekko zmieniona struktura.Wywalone mnożniki, wywalone wiadomości, wywalony config menu.

Kodu skryptu nie mogę podrzucić, bo niestety coś mam z gitem pomieszane, ale jutro to zrobię. Tu macie tylko mini porównanie: http://pastebin.com/raw/R83YJX2B

Panie i panowie, uważam to za plagiat.

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-105601
Udostępnij na innych stronach

@herhor67
Oczywiście, że to NIE plagiat bo mam nawet świadka który widział jak pisałem kod i sam mówił co mam dodać ponieważ to był skrypt pod jego serwer ale pozwolił mi go udostępnić.
Config jest taki a nie inny bo jak sobie wyobrażasz konfigurację dropu? Wierszem? Och diamencikami niech leci z kamienia albowiem tego pragnie ziemia? nDrop znam i przyznaje nawet go używałem ale nie podpadł mi do gustu, SuperDrop nigdy nie spotkałem no ale muszę potem poszukać bo naprawdę zmartwilo mnie to co napisałeś.

Wysłane z mojego Lenovo A806 przy użyciu Tapatalka

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-105673
Udostępnij na innych stronach

  • 1 miesiąc temu...
38 minut temu, kajart napisał:

Skrypt naprawde oryginalny i nie ma do czego sie przyczepic oprocz jednego m.in Troche malo dropu mogl bys dodac wiecej przedmitow do dropienia mocne 9/10

Wiesz, że to wszystko robisz w pliku konfiguracyjnym, bez zaglądania w kod...

Odnośnik do komentarza
https://skript.pl/temat/15161-qdrop-skrypt-na-drop-ze-stone/#findComment-112825
Udostępnij na innych stronach

  • 5 miesięcy temu...
  • 6 miesięcy temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...