Skocz do zawartości
  • 0

skrypt na drop


dropsiaczegh

Pytanie

Siemka, potrzebuje pomocy ze skryptem na drop ze stone.
Ma to polegać na tym, że po wpisaniu /drop wyskakuje gui w którym są pokazane itemy które dropią z kamienia, po kliknięciu w dany item ma się włączać lub wyłączać drop, dodatkowe itemy włączające i wyłączające drop wszystkiego i cobblestone wyłączający drop cobbla.
Bardzo mi zależy na tym żeby można było ustawiać procent i ilość dropu dla każdej fortunki.
Wystarczy żeby ktoś mi zrobił drop jednego itemu, a resztę już ogarnę sam.
Z góry dzięki, Wesołych!

Edit 1: A i jeszcze drop expa
Edit 2: I jeszcze coś takiego jak TURBODROP (komenda ktore moze użyć tylko admin, włącza większy drop o 50% na określony czas np. diament 0.3% to z turbo 0.45%)

Edytowane przez dropsiaczegh
Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0

To dodaj to do eventu on mine 

if level of fortune of the player's tool is 1:

Po tym ustawiasz szansę "chance of (szansa)" tak samo jak masz w skrypcie

 

Jest jeszcze 1 sposób jeżeli to nie zadziala

 

 

Edytowane przez Fendi
Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331621
Udostępnij na innych stronach

  • 0
32 minuty temu, Fendi napisał:

To dodaj to do eventu on mine 

if level of fortune of the player's tool is 1:

Po tym ustawiasz szansę "chance of (szansa)" tak samo jak masz w skrypcie

 

Jest jeszcze 1 sposób jeżeli to nie zadziala

W którym miejscu to wkleić?
Mozesz dać od razu drugi sposób
A da się ustawić losową ilość dropu? W sensie np. od 1-3?

 

 

 

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331624
Udostępnij na innych stronach

  • 0

W options ustawiasz sobie początkowe szanse

Tam gdzie ci pisze di.chance: 1 oznacza szansa za diament 1, czyli chcąc zmienic ta szanse zamieniasz 1 na inna liczbe

W evencie on mine stone:  (chociaz nie wiem czy nie powinno byc raczej on mine of stone, jak nie zadziala to sobie zamien na to)

Przykładowy config 1 dropu wraz z moimi opisami

on mine stone: # event
    if {di::%player%} = "&2Wlaczony":   #sprawdza czy drop jest wlaczony
        if player's gamemode is not creative: #sprawdza czy gracz Nie ma gamemode creative
            set {_s} to level of fortune of player' tool # ustawia zmienną _s na poziom fortuny przedmiotu
            set {_s} to {_s}*1.2 # mnoży zmienną _s*1.2 aby powstała jakaś wartosc większa od 1, bo 1*1 nie ma sensu
            set {_s} to {_s}*{@di.chance} #mnoży wcześniej wymnożoną zmienną _s przez początkowe szanse ustawione w options
            player has enough space for 1 of diamond: #sprawdza czy gracz ma miejsce w eq na 1 diaxa
                chance of {_s}%: #szansa wymnożona wczesniej w _s
                    drop 1 diamond at event-block  #dropi 1 diament w bloku ktory jest zniszczony
                    add {@di.xp} xp to player # dodaje expa ktorego mozesz ustawic w options
                    send "{@di.msg}" to player #wystwietla wiadomosc po wykopaniu
            else: # w przeciwnym wypadku jezeli gracz nie ma miejsca w eq
                chance of {_s}%: # szansa na drop z _s
                    drop 1 diamond #dropi 1 diaxa

Na podstawie tego podmień sobie w innych dropach, pamietaj też o turbodropach

Edytowane przez Fendi
Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331626
Udostępnij na innych stronach

  • 0
W dniu 9.04.2023 o 13:19, Fendi napisał:

W options ustawiasz sobie początkowe szanse

Tam gdzie ci pisze di.chance: 1 oznacza szansa za diament 1, czyli chcąc zmienic ta szanse zamieniasz 1 na inna liczbe

W evencie on mine stone:  (chociaz nie wiem czy nie powinno byc raczej on mine of stone, jak nie zadziala to sobie zamien na to)

Przykładowy config 1 dropu wraz z moimi opisami

on mine stone: # event
    if {di::%player%} = "&2Wlaczony":   #sprawdza czy drop jest wlaczony
        if player's gamemode is not creative: #sprawdza czy gracz Nie ma gamemode creative
            set {_s} to level of fortune of player' tool # ustawia zmienną _s na poziom fortuny przedmiotu
            set {_s} to {_s}*1.2 # mnoży zmienną _s*1.2 aby powstała jakaś wartosc większa od 1, bo 1*1 nie ma sensu
            set {_s} to {_s}*{@di.chance} #mnoży wcześniej wymnożoną zmienną _s przez początkowe szanse ustawione w options
            player has enough space for 1 of diamond: #sprawdza czy gracz ma miejsce w eq na 1 diaxa
                chance of {_s}%: #szansa wymnożona wczesniej w _s
                    drop 1 diamond at event-block  #dropi 1 diament w bloku ktory jest zniszczony
                    add {@di.xp} xp to player # dodaje expa ktorego mozesz ustawic w options
                    send "{@di.msg}" to player #wystwietla wiadomosc po wykopaniu
            else: # w przeciwnym wypadku jezeli gracz nie ma miejsca w eq
                chance of {_s}%: # szansa na drop z _s
                    drop 1 diamond #dropi 1 diaxa

Na podstawie tego podmień sobie w innych dropach, pamietaj też o turbodropach

Mogę zadać pytanie które teraz Cię zirytuje, ale jak ustawić żeby w zależności od fortunki leciała dana ilość np. diaxów:
fortune 1 - 1-2
fortune 2 - 1-3
fortune 3 - 1-4

 

 

W dniu 9.04.2023 o 14:32, dropsiaczegh napisał:

Mogę zadać pytanie które teraz Cię zirytuje, ale jak ustawić żeby w zależności od fortunki leciała dana ilość np. diaxów:
fortune 1 - 1-2
fortune 2 - 1-3
fortune 3 - 1-4

 

o ile rozumiem to ty zrobiłeś że mając fortune szansa jest większa a mi chodzi o to żeby szansa była ta sama ale ilość sztuk większa

 

ivall

Łączę posty

Notatka dodana przez ivall

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331630
Udostępnij na innych stronach

  • 0
on mine stone: 
    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool
            add 1 to {_s} 
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d} diamond at event-block  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} diamond 

Nie testowalem wiec nie wiem czy dziala, ale powinno

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331632
Udostępnij na innych stronach

  • 0
W dniu 9.04.2023 o 14:39, Fendi napisał:
on mine stone: 
    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool
            add 1 to {_s} 
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d} diamond at event-block  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} diamond 

Nie testowalem wiec nie wiem czy dziala, ale powinno

on mine stone:
    if {di::%player%} = "&2Wlaczony":
        if player's gamemode is not creative:
            player has enough space for 1 of diamond:
                chance of {@di.chance}%:
                    drop 1 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 1szt." to player
            else:
                chance of {@di.chance}%:
                    drop 1 diamond
        if player's gamemode is not creative:
            player has enough space for 2 of diamond:
                chance of {@di.chance}%:
                    drop 2 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 2szt." to player
            else:
                chance of {@di.chance}%:
                    drop 2 diamond

Patrz mam coś takiego, i chciałbym do drugie cześci dodać fortune 1 i nie wiem w którym miejscu

 

 

skąd wzięło się u ciebie to :  {_s} {_d}

 

 

ivall

Łączę posty

Notatka dodana przez ivall

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331635
Udostępnij na innych stronach

  • 0
set {_s} to level of fortune of player' tool

jak widzisz @Fendi ustawił {_s} na level fortuny na przedmiocie gracza, by później to sprawdzić
a zmienna {_d} wzięła się z tąd, że losuje losową liczbę z przedziału fortuny gracza +1 i 1. Potem wykorzystuje {_d} do wydropienia danej ilosci w tym przypadku diamentów.
(starałem się najbardziej polsko jak umiałem)

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331638
Udostępnij na innych stronach

  • 0

{_s} i {_d} to takie zmienne czasowe, taki mixer gdzie mozesz wlozyc jakies owoce i wyjdzie ci z nich sok

on mine stone:
    if {di::%player%} = "&2Wlaczony":
        if player's gamemode is not creative:
            player has enough space for 1 of diamond:
                chance of {@di.chance}%:
                    drop 1 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 1szt." to player
            else:
                chance of {@di.chance}%:
                    drop 1 diamond
        if player's gamemode is not creative:
            player has enough space for 2 of diamond:
                chance of {@di.chance}%:
                    drop 2 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 2szt." to player
            else:
                chance of {@di.chance}%:
                    drop 2 diamond

Skoro nie dodales tego nawet do 1 czesci to po co zabierasz się za drugą?

Całe jak ma być wysłałem ci wyżej i wyślę jeszcze raz

on mine stone: 
    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool
            add 1 to {_s} 
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d} diamond at event-block  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} diamond 

PO if player's gamemode is not creative:

dodajesz 2 linijki takie jakie ci napisałem

Po chance of wpisujesz ta 1 linijke co wyżej

A na koniec zamieniasz tylko liczby na {_d} w dropie diaxów

 

Jeżeli w żadnym stopniu nie ogarniasz skripta to albo poproś kogoś żeby ci to całe zrobił, albo odpuść sobie fortunke i wrzuc takie jakie jest normalnie

Edytowane przez Fendi
Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331640
Udostępnij na innych stronach

  • 0
6 minut temu, Fendi napisał:
            set {_s} to level of fortune of player' tool
            add 1 to {_s}

zamiast tego wystarczy wpisać jedną linijkę
 

set {_s} to level of fortune of player' tool + 1

 

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331642
Udostępnij na innych stronach

  • 0
6 minut temu, Fendi napisał:

{_s} i {_d} to takie zmienne czasowe, taki mixer gdzie mozesz wlozyc jakies owoce i wyjdzie ci z nich sok

on mine stone:
    if {di::%player%} = "&2Wlaczony":
        if player's gamemode is not creative:
            player has enough space for 1 of diamond:
                chance of {@di.chance}%:
                    drop 1 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 1szt." to player
            else:
                chance of {@di.chance}%:
                    drop 1 diamond
        if player's gamemode is not creative:
            player has enough space for 2 of diamond:
                chance of {@di.chance}%:
                    drop 2 diamond at event-block
                    add {@di.xp} xp to player
                    send "{@di.msg} 2szt." to player
            else:
                chance of {@di.chance}%:
                    drop 2 diamond

Skoro nie dodales tego nawet do 1 czesci to po co zabierasz się za drugą?

Całe jak ma być wysłałem ci wyżej i wyślę jeszcze raz

on mine stone: 
    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool
            add 1 to {_s} 
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d} diamond at event-block  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} diamond 

PO if player's gamemode is not creative:

dodajesz 2 linijki takie jakie ci napisałem

Po chance of wpisujesz ta 1 linijke co wyżej

A na koniec zamieniasz tylko liczby na {_d} w dropie diaxów

Błędy:
can't understand thit condition/effect: drop {_d} diamond at event-block
can't understand thit condition/effect: drop {_d} 

 

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331643
Udostępnij na innych stronach

  • 0


    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool + 1
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d}  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} 
Jak mam tak to nie wywala błędów, ale dalej dropi tylko po 1 sztuce

 

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331645
Udostępnij na innych stronach

  • 0
on mine stone: 
    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool
            add 1 to {_s}
            set {_d} to random integer between 1 and {_s} 
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player
                    loop {_d} times: 
                        drop diamond at event-block  
            else: 
                chance of {@di.chance}%:
                    loop {_d} times: 
                        drop diamond at player

Można by to zrobić pewnie optymalniej, ale na szybko działa

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331646
Udostępnij na innych stronach

  • 0
Teraz, dropsiaczegh napisał:


    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool + 1
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    drop {_d}  
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} 
Jak mam tak to nie wywala błędów, ale dalej dropi tylko po 1 sztuce

 

to nie może nie wywalać błędów, ale spróbuj tego:

    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool + 1
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    give player {_d} of diamond
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} of diamond


 

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331648
Udostępnij na innych stronach

  • 0
Teraz, dropsiaczegh napisał:

Także, moje pytanie zamiast mieszania tej "zupy" to jaką linijkę dodać do orginalnego kody, żeby był enchant fortune 3 który dropi 4 diaxy

 

Ale wlasnie to robi,

zmienna {_s} przechowuje jakąś liczbe

Nastepnie losuje się liczba od 1 do (poziom fortuny +1)

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331649
Udostępnij na innych stronach

  • 0
Teraz, dropsiaczegh napisał:

Także, moje pytanie zamiast mieszania tej "zupy" to jaką linijkę dodać do orginalnego kody, żeby był enchant fortune 3 który dropi 4 diaxy

 

on break diamond ore:
	if fortune of player's tool is 3:
		drop 4 of diamond

proszse bardzo wystarczy taki skrypcik krótki dać i będzie Ci dropić

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331650
Udostępnij na innych stronach

  • 0
3 minuty temu, lie_pan1 napisał:

to nie może nie wywalać błędów, ale spróbuj tego:

    if {di::%player%} = "&2Wlaczony":   
        if player's gamemode is not creative: 
            set {_s} to level of fortune of player' tool + 1
            player has enough space for 1 of diamond: 
                chance of {@di.chance}%:
                    set {_d} to random integer between 1 and {_s} 
                    give player {_d} of diamond
                    add {@di.xp} xp to player 
                    send "{@di.msg}" to player 
            else: 
                chance of {@di.chance}%: 
                    drop {_d} of diamond


 

to mi nie wywala błędu, ale za to, to co wysłałeś ostanie już tak

Odnośnik do komentarza
https://skript.pl/temat/54764-skrypt-na-drop/#findComment-331653
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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