Skocz do zawartości
  • 0

Skrypt na schowek


xKamykTM

Pytanie

Siemka, ogólnie posiadam skrypt na schowek i czy dało by rade zresetować każdemu graczowi ten schowek? To znaczy zeby kazdemu zresetowac ilosc koxow ktore posiada refow itd

options:
    # Maksymalne ilości koxów, refilli oraz pereł endu
    koxy-max: 2
    refy-max: 10
    perly-max: 4
    
    # Nazwa schowka
    depozyt-nazwa: &a&lSchowek
    
function reloadSchowekGUI(p: player):
    set slot 1 of {_p}'s current inventory to enchanted golden apple named "&c&lKOXY" with lore "&aKliknij i wyplac koxy z depozytu!" and "" and "&bPosiadasz: &e%{schowek::koxy::%{_p}%}%" and "" and "&7Kliknij &aLPM&7, aby wyplacic!"
    set slot 3 of {_p}'s current inventory to golden apple named "&c&lREFY" with lore "&aKliknij i wyplac refy z depozytu!" and "" and "&bPosiadasz: &e%{schowek::refille::%{_p}%}%" and "" and "&7Kliknij &aLPM&7, aby wyplacic!"
    set slot 5 of {_p}'s current inventory to ender pearl named "&c&lPERLY" with lore "&aKliknij i wyplac perly z depozytu!" and "" and "&bPosiadasz: &e%{schowek::perly::%{_p}%}%" and "" and "&7Kliknij &aLPM&7, aby wyplacic!"
    set slot 7 of {_p}'s current inventory to magma cream named "&aWypłać wszystko do limitu!" with lore "&7Kliknij &aLPM&7, aby wyplacic!"
    
function getKoxSchowek(p: player) :: boolean:
    if {_p} has {@koxy-max} enchanted golden apple:
        send "&cJuz masz &a{@koxy-max} &ckoxy!" to {_p}
        return false
    if {schowek::koxy::%{_p}%} is less than 1:
        send "&cProbowalem wyplacic koxa.. ale masz pusty schowek." to {_p}
        return false
    if {_p} doesn't have enough space for 1 enchanted golden apple:
        send "&cProbowalem wyplacic koxa.. ale masz pelny ekwipunek." to {_p}
        return false
    loop {@koxy-max} times:
        if {_p} has {@koxy-max} enchanted golden apple:
            exit loop
        if {schowek::koxy::%{_p}%} is less than 1:
            exit loop
        if {_p} doesn't have enough space for 1 enchanted golden apple:
            exit loop
        add enchanted golden apple to {_p}
        remove 1 from {schowek::koxy::%{_p}%}
        add 1 to {_num}
    if {_num} is not set:
        return false
    send "&aWyplacono &a%{_num}% &akoxow!" to {_p}
    return true
    
function getRefillSchowek(p: player) :: boolean:
    if {_p} has {@refy-max} golden apple:
        send "&cJuz masz &a{@refy-max} &crefow!" to {_p}
        return false
    if {schowek::refille::%{_p}%} is less than 1:
        send "&cProbowalem wyplacic refilla.. ale masz pusty schowek." to {_p}
        return false
    if {_p} doesn't have enough space for 1 golden apple:
        send "&cProbowalem wyplacic refilla.. ale masz pelny ekwipunek." to {_p}
        return false
    loop {@refy-max} times:
        if {_p} has {@refy-max} golden apple:
            exit loop
        if {schowek::refille::%{_p}%} is less than 1:
            exit loop
        if {_p} doesn't have enough space for 1 golden apple:
            exit loop
        add golden apple to {_p}
        remove 1 from {schowek::refille::%{_p}%}
        add 1 to {_num}
    if {_num} is not set:
        return false  
    send "&aWyplacono &a%{_num}% &arefow!" to {_p}
    return true
    
function getPearlSchowek(p: player) :: boolean:
    if {_p} has {@perly-max} ender pearl:
        send "&cJuz masz &a{@perly-max} &cperly!" to {_p}
        return false
    if {schowek::perly::%{_p}%} is less than 1:
        send "&cProbowalem wyplacic perle.. ale masz pusty schowek." to {_p}
        return false
    if {_p} doesn't have enough space for 1 ender pearl:
        send "&cProbowalem wyplacic perle.. ale masz pelny ekwipunek." to {_p}
        return false
    loop {@perly-max} times:
        if {_p} has {@perly-max} ender pearl:
            exit loop
        if {schowek::perly::%{_p}%} is less than 1:
            exit loop    
        if {_p} doesn't have enough space for 1 ender pearl:
            exit loop
        add ender pearl to {_p}
        remove 1 from {schowek::perly::%{_p}%}
        add 1 to {_num}
    if {_num} is not set:
        return false
    send "&aWyplacono &a%{_num}% &aperel!" to {_p}
    return true
    
every 1 second:
    loop all players:
        if loop-player has ({@koxy-max} + 1) of enchanted golden apple:
            add ((amount of enchanted golden apple in loop-player's inventory) - {@koxy-max}) to {schowek::koxy::%loop-player%}
            remove ((amount of enchanted golden apple in loop-player's inventory) - {@koxy-max}) of enchanted golden apple from loop-player's inventory
            send "&cMiales za duzo koxow! Przeniesiono nadmiar do depozytu!" to loop-player
        if loop-player has ({@refy-max} + 1) of golden apple:
            add ((amount of golden apple in loop-player's inventory) - {@refy-max}) to {schowek::refille::%loop-player%}
            remove ((amount of golden apple in loop-player's inventory) - {@refy-max}) of golden apple from loop-player's inventory
            send "&cMiales za duzo refow! Przeniesiono nadmiar do depozytu!" to loop-player
        if loop-player has ({@perly-max} + 1) of ender pearl:
            add ((amount of ender pearl in loop-player's inventory) - {@perly-max}) to {schowek::perly::%loop-player%}
            remove ((amount of ender pearl in loop-player's inventory) - {@perly-max}) of ender pearl from loop-player's inventory
            send "&cMiales za duzo perel! Przeniesiono nadmiar do depozytu!" to loop-player

command /schowek:
    executable by: players
    trigger:
        set {_items::*} to "koxy", "refille" and "perly"
        loop {_items::*}:
            set {schowek::%loop-value%::%player%} to 0 if {schowek::%loop-value%::%player%} is not set
        open chest inventory with 1 rows named "{@depozyt-nazwa}" to player 
        set slot (integers between 0 and 8) of player's current inventory to gray glass pane named " "
        reloadSchowekGUI(player)
        
on inventory click:
    name of player's current inventory is "{@depozyt-nazwa}"
    clicked inventory is not player's inventory
    cancel event
    if clicked slot is 1:
        getKoxSchowek(player) is true
        reloadSchowekGUI(player)
    else if clicked slot is 3:
        getRefillSchowek(player) is true
        reloadSchowekGUI(player)
    else if clicked slot is 5:
        getPearlSchowek(player) is true
        reloadSchowekGUI(player)
    else if clicked slot is 7:
        getKoxSchowek(player) is true:
            reloadSchowekGUI(player)
        getRefillSchowek(player) is true:
            reloadSchowekGUI(player)
        getPearlSchowek(player) is true:
            reloadSchowekGUI(player)

 

Odnośnik do komentarza
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 26.02.2021 o 20:23, xKamykTM napisał:

Siemka, ogólnie posiadam skrypt na schowek i czy dało by rade zresetować każdemu graczowi ten schowek? To znaczy zeby kazdemu zresetowac ilosc koxow ktore posiada refow itd

Nie ma problemu. Wystarczy wyczyścić listę {schowek::*} za pomocą 'clear'.

Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 minut temu, xKamykTM napisał:

A da się wyczyścic schowek tylko dla danego gracza?

Tak.

clear {schowek::koxy::%player%}
clear {schowek::refille::%player%}
clear {schowek::perly::%player%}

Zamiast '%player%' wstawiasz sobie co tam chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odpowiedz na pytanie...

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