Skocz do zawartości
  • 0

SKRYPT NA SCHOWEK 1.21.1


Pytanie

Podstawowe informacje

  • Wersja serwera: 1.21.1
  • Wersja Skript: 2.12.2
  • Dodatki Skript i ich wersje: skquery 4.3.2

Kod skryptu

options:
    # Maksymalne ilości koxów, refilli oraz pereł endu
    koxy-max: 4
    refy-max: 48
    perly-max: 6
    
    # Nazwa schowka
    schowek-nazwa: &6&lSchowek
    
function reloadSchowekGUI(p: player):
    set slot 1 of {_p}'s current inventory to enchanted golden apple named "&c&lKOXY" with lore "&6Kliknij 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 "&6Kliknij 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 "&6Kliknij 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 &6{@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 &6%{_num}% &akoxow!" to {_p}
    return true
    
function getRefillSchowek(p: player) :: boolean:
    if {_p} has {@refy-max} golden apple:
        send "&cJuz masz &6{@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 &6%{_num}% &arefow!" to {_p}
    return true
    
function getPearlSchowek(p: player) :: boolean:
    if {_p} has {@perly-max} ender pearl:
        send "&cJuz masz &6{@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 (teleport cause) to {_p}
        remove 1 from {schowek::perly::%{_p}%}
        add 1 to {_num}
    if {_num} is not set:
        return false
    send "&aWyplacono &6%{_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:
    trigger:
        open chest with 1 row named "depozyt" to player 
        set slot (integers between 0 and 8) of player's current inventory to glass named " "
        reloadSchowekGUI(player)
        
on inventory click:
    name of player's current inventory is "depozyt"
    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)

Opis problemu

siemanko, jak wyplacam perly to nie trafiaja one do mojego ekwipunku tylko cos je wciaga, a ze schowka znikaja, refy i koxy juz nie maja takiego problemu i smigaja elegancko, ale od pol godziny siedze i nie moge rozwiazac problemu z perlami, pomoglby ktos?

Odnośnik do komentarza
https://skript.pl/temat/59006-skrypt-na-schowek-1211/
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Właśnie odpaliłem serwer, i sprawdziłem ten kod.

Zauważyłem, że standardowa nazwa ender pearl nie można dodać do ekwipunku.

Ale gdy wpiszemy ją jako zmienną z parsedem na item to dodaje.

Zmień swoje add ender pearl na to:

set {_item} to "ender pearl" parsed as item
add {_item} to {_p}

 

Odnośnik do komentarza
https://skript.pl/temat/59006-skrypt-na-schowek-1211/#findComment-347502
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ę...