Skocz do zawartości
1 maja :: Święto Pracy / 2 maja :: Dzień Flagi / 3 maja :: Święto Konstytucji

aAirDrop


DeV+
# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

NBtCg3P.png

Co to jest?

aAirDrop to skrypt, który umożliwia tworzenie własnych zrzutów zaopatrzenia z powietrza.

 

Komendy:

Tworzenie zrzutu - /adrop start <ilość przedmiotów>

Dodawanie przedmiotów do zrzutu - /aairdrop itemadd

Czyszczenie przedmiotów do zrzutu - /aairdrop itemclear

Lista przedmiotów dostępnych do zrzutu - /aairdrop itemlist

Edycja przedmiotów do zrzutu - /adrop items (2.0)

Dodawanie miejsca zrzutu - /adrop locadd (1.1)

Czyszczenie miejsca zrzutu - /adrop locclear (1.1)

Lista miejsc zrzutu - /adrop loclist (1.1)

 

Uprawnienia:

aairdrop.admin - Możliwość używania wszystkich komend skryptu.

 

Znane błędy:

- Nie znaleziono

 

Do zrobienia w następnych wersjach:

Automatyczne zrzuty co jakiś czas - Dodane!

- Dodawanie przedmiotów w GUI - Dodane!

- Dodanie efektu zrzutu - Dodane!

- Edycja w YML - Dodane! (Edycja wiadomości)

- Wasze propozycje

 

Ważna informacja:

- Czas między kolejnymi zrzutami wpisujemy w 12 linijce skryptu

- Ilość przedmiotów w zrzucie wpisujemy w 13 linijce skryptu

 

Kilka zrzutów dla podglądu:

 

 

Wprowadzone zmiany:

- Edycja przedmiotów do zrzutu w GUI (2.0)

- Poprawa estetyczna wiadomości i kodu (2.0)

- Dodanie zabezpieczenia przed dwoma zrzutami w tym samym czasie (2.0)

- Poprawa systemu automatycznych zrzutów (już nie są wykonywane przez konsolę) (2.0)

- Dodanie efektu fajerwerków w miejscu zrzutu (2.0)

- Edycja wiadomości w YML (2.0+)

 

 

 

Edycja przedmiotów do zrzutu:

uHqvhXO.png

 

Wiadomość po wpisaniu komendy /adrop:

7QLjPo8.png

 

Informacja o nadchodzącym zrzucie:

ZIt5Cef.png

 

Spadający zrzut:

bSZjtY5.png

 

Informacja o dokonanym zrzucie i efekt zrzutu:

Wu6K0RY.jpg

 

Lista miejsc zrzutu:

zt9Gs66.png

 

 

 

# aAirDrop 2.0+ by astranaar

# ZMIENNE
variables:
    {airdrop.status} = false
    {airdrop.edit.%player%} = false

# OPCJE
options:
    line: &6&l» &e

    time: 2 # CZAS POMIEDZY ZRZUTAMI W MINUTACH
    amount: 3 # ILOSC PRZEDMIOTOW W ZRZUCIE

# WYWOLYWANIE ZRZUTU
command /aairdrop [<text>] [<number>]:
    aliases: /adrop, /airdrop, /aadrop
    trigger:
        if player has permission "aairdrop.admin":
            set {_tag} to coloured {tag}
            set {_airdrop_coming} to coloured {airdrop_coming}
            set {_airdrop_ended} to coloured {airdrop_ended}
            set {_nopermission} to coloured {nopermission}
            set {_wrong_arg} to coloured {wrong_arg}
            set {_no_loc} to coloured {no_loc}
            set {_no_amount} to coloured {no_amount}
            set {_status_active} to coloured {status_active}
            set {_items_edit} to coloured {items_edit}
            set {_items_saved} to coloured {items_saved}
            set {_loc_add} to coloured {loc_add}
            set {_loc_clear} to coloured {loc_clear}
            replace all "_COMMAND_" with "/adrop" in {_wrong_arg}
            if arg 1 is not "start" or "items" or "locadd" or "locclear" or "loclist":
                send "%{_tag}%%{_wrong_arg}%"
            if arg 1 is not set:
                send ""
                send "%{_tag}% by astranaar:"
                send "{@line}Wywolanie zrzutu - &6/aairdrop start <ilosc_itemow>"
                send ""
                send "{@line}Edycja przedmiotow do zrzutu - &6/adrop items"
                send "{@line}Dodanie lokacji do zrzutu - &6/adrop locadd"
                send "{@line}Czyszczenie lokacji zrzutu - &6/adrop locclear"
                send "{@line}Lista lokacji zrzutu - &6/adrop loclist"
                send ""
            if arg 1 is "start":
                if {airdrop.status} is false:
                    if arg 2 is set:
                        if {airdrop::loc::*} is set:
                            set {airdrop.status} to true
                            set {_amount} to arg 2
                            set {_loc} to random element out of {airdrop::loc::*}
                            if block at {_loc} is not air:
                                clear inventory of block at {_loc}
                                set block at {_loc} to air
                            add 200 to y-coordinate of {_loc}
                            spawn falling block of chest at {_loc}
                            remove 200 from y-coordinate of {_loc}
                            broadcast ""
                            broadcast "%{_tag}%%{_airdrop_coming}%"
                            broadcast "%{_tag}%--> &8(&6%{_loc}%&8) &e<--"
                            broadcast ""
                            wait 7.7 seconds
                            loop {_amount} times:
                                set {_item} to random element out of {airdrop::items::*}
                                add {_item} to block at {_loc}
                            loop 5 times:
                                launch burst firework colored green at {_loc} timed 3
                            broadcast ""
                            broadcast "%{_tag}%%{_airdrop_ended}%"
                            broadcast "%{_tag}%--> &8(&6%{_loc}%&8) &e<--"
                            broadcast ""
                            set {airdrop.status} to false
                            stop
                        else:
                            send "%{_tag}%%{_no_loc}%"
                    else:
                        send "%{_tag}%%{_no_amount}%"
                else:
                    send "%{_tag}%%{_status_active}%"
            if arg 1 is "items":
                set {airdrop.edit.%player%} to true
                open chest with 3 rows named "%{_tag}%Przedmioty:" to player
                wait 1 tick
                set {_slot} to 0
                loop {airdrop::items::*}:
                    set slot {_slot} of current inventory of player to loop-value-1
                    add 1 to {_slot}
                send "%{_tag}%%{_items_edit}%" to player
                while inventory name of player is "%{_tag}%Przedmioty:":
                    set {airdrop.edit.%player%} to true
                    wait 5 tick
                stop
            if arg 1 is "locadd":
                set {_loc} to location of the player
                add {_loc} to {airdrop::loc::*}
                send "%{_tag}%%{_loc_add}%"
                send "%{_tag}%%{_airdrop_loc}%"
            if arg 1 is "locclear":
                delete {airdrop::loc::*}
                send "%{_tag}%%{_loc_clear}%"
            if arg 1 is "loclist":
                if {airdrop::loc::*} is set:
                    send "%{_tag}%Lokacje zrzutu:"
                    loop {airdrop::loc::*}:
                        send "{@line}%loop-index%. &6%loop-value%"
                    stop
                else:
                    send "%{_tag}%%{no_loc}%"
        else:
            send "%{_tag}%%{_nopermission}%"

# TWORZENIE PLIKU KONFIGURACYJNEGO

on load:
    if folder "plugins/aAirDrop" doesn't exists:
        send "[aAirDrop] Nie odnaleziono folderu z plikiem konfiguracyjnym!" to console
        send "[aAirDrop] Tworze folder z plikiem konfiguracyjnym." to console
        create folder "plugins/aAirDrop"
        send "[aAirDrop] Folder z plikiem konfiguracyjnym zostal utworzony!" to console
    if file "plugins/aAirDrop/config.yml" doesn't exists:
        send "[aAirDrop] Nie odnaleziono pliku konfiguracyjnego!" to console
        send "[aAirDrop] Tworze plik konfiguracyjny." to console

        send "[aAirDrop] Plik konfiguracyjny zostal utworzony!" to console
        stop

# POBIERANIE INFORMACJI Z PLIKU KONFIGURACYJNEGO
    set {tag} to single value "tag" get of "plugins/aAirDrop/config.yml"
    set {airdrop_coming} to single value "airdrop_coming" get of "plugins/aAirDrop/config.yml"
    set {airdrop_ended} to single value "airdrop_ended" get of "plugins/aAirDrop/config.yml"
    set {nopermission} to single value "nopermission" get of "plugins/aAirDrop/config.yml"
    set {wrong_arg} to single value "wrong_arg" get of "plugins/aAirDrop/config.yml"
    set {no_loc} to single value "no_loc" get of "plugins/aAirDrop/config.yml"
    set {no_amount} to single value "no_amount" get of "plugins/aAirDrop/config.yml"
    set {status_active} to single value "status_active" get of "plugins/aAirDrop/config.yml"
    set {items_edit} to single value "items_edit" get of "plugins/aAirDrop/config.yml"
    set {items_saved} to single value "items_saved" get of "plugins/aAirDrop/config.yml"
    set {loc_add} to single value "loc_add" get of "plugins/aAirDrop/config.yml"
    set {loc_clear} to single value "loc_clear" get of "plugins/aAirDrop/config.yml"

# AUTOMATYCZNE ZRZUTY

every {@time} minute:
    if {airdrop.status} is false:
        if {airdrop::loc::*} is set:
            if {airdrop::items::*} is set:
                set {_tag} to coloured {tag}
                set {_airdrop_coming} to coloured {airdrop_coming}
                set {_airdrop_ended} to coloured {airdrop_ended}
                set {airdrop.status} to true
                set {_loc} to random element out of {airdrop::loc::*}
                if block at {_loc} is not air:
                    clear inventory of block at {_loc}
                    set block at {_loc} to air
                add 200 to y-coordinate of {_loc}
                spawn falling block of chest at {_loc}
                remove 200 from y-coordinate of {_loc}
                broadcast ""
                broadcast "%{_tag}%%{_airdrop_coming}%"
                broadcast "%{_tag}%--> &8(&6%{_loc}%&8) &e<--"
                broadcast ""
                wait 7.7 seconds
                loop {@amount} times:
                    set {_item} to random element out of {airdrop::items::*}
                    add {_item} to block at {_loc}
                loop 5 times:
                    launch burst firework colored green at {_loc} timed 3
                broadcast ""
                broadcast "%{_tag}%%{_airdrop_ended}%"
                broadcast "%{_tag}%--> &8(&6%{_loc}%&8) &e<--"
                broadcast ""
                set {airdrop.status} to false
                stop

# KONCZENIE EDYCJI PRZEDMIOTOW

on inventory close:
    if {airdrop.edit.%player%} is true:
        clear {airdrop::items::*}
        loop 27 times:
            if slot "%loop-number - 1%" parsed as an integer of current inventory of player is not air:
                set {_item} to slot loop-number - 1 of current inventory of player
                add {_item} to {airdrop::items::*}
        set {airdrop.edit.%player%} to false
        send "%{_tag}%%{_items_saved}%"

# KONIEC KODU

Edytowane przez DeV+
Odnośnik do komentarza

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

Gość
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.

  Tagi

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności