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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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ę...