Skocz do zawartości
  • Eliminacja powtarzalności kodu w skript

      (6 opinii)
    • Ewald
    • 154
    • 0

    Pewnie wielu użytkowników zadaje sobie to pytanie. Skrypt można skrócić na wiele różnych sposobów, od argumentów w komendzie po mniejszą liczbę warunków.
    Przykład odnośnie argumentów:
    command /komenda:
        trigger:
            send "Aby sprawdzić komendy, wpisz /komenda1" to player
    command /komenda1:
        trigger:
            send "komenda 1" to player
    Plugin Skript pozwala na skrócenie tego kodu.
    command /komenda [<number>]:
        trigger:
            if number-argument isn't set: #Jeśli argument nie jest wpisany wykonuje się komenda /komenda
                send "Aby sprawdzić komendy, wpisz /komenda 1" to player
                send "Aby sprawdzić rangi dostępne na serwerze, wpisz /komenda 2" to player
            if number-argument = 1: #Jeśli argument wynosi 1
                send "komenda 1" to player

    Zamiast używać kilku tych samych warunków jak w tym przypadku:
    on eat:
        if event-item is bread: #jeśli gracz zjadł chleb
            add 1 to {_var::bread::%player%}
    on eat: #powtórzenie warunku
        if event-item is apple: #jeśli gracz zjadl jabłko
            add 1 to {_var::apple::%player%}
    Możemy to skrócić do ledwo pięciu linijek
    on eat:
        if event-item is bread: #jeśli gracz zje chleb
            add 1 to {_var::bread::%player%}
        if event-item is apple: #jeśli gracz zje jabłko
            add 1 to {_var::apple::%player%}
    Jeśli nadal Ci mało, możemy skrócić to do trzech linijek używając angielskiego spójnika "OR". Skrypt będzie wtedy wyglądał tak:
    on eat:
        if event-item is apple or bread:
            add 1 to {var::%event-item%::%player%}
    "Ludzie uczą się na błędach" ten cytat tu się przyda, w pluginie Skript możemy ciągle wymyślać sposoby na skrócenie kodu, z pomocą przychodzi nam dokumentacja (https://docs.skunity.com)
    Na koniec tego wpisu przedstawię jeszcze jeden sposób skrócenia skryptu. 
    Wiele osób podczas odliczania czasu w skrypcie powtarza "Start za x sekund" zazwyczaj nie wiedzą, że można użyć pętli.
    loop 10 times: # Wykonaj 10 razy.
        send "Start za %loop-number% sekund" to player # w tym przypadku %loop-number% to Liczba z pętli.
        if loop-number = 0:
            set {start::gry::*} to true



      Zgłoś wpis


    Opinia użytkownika

    Załóż nowe konto albo zaloguj się aby napisać recenzję

    Musisz być użytkownikiem w celu napisania recenzji

    Dodaj konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj nowe konto

    Zaloguj się

    Posiadasz już konto? Zaloguj się tutaj.

    Zaloguj się teraz


    Ixidi

    Zgłoś ·

       3 z 4 użytkowników uznało tę opinię za pomocną 3 / 4 użytkowników

    Wybacz, ale to jest fatalne :( Nie pokazałeś nic ciekawego i nowego, i do tego to formatowanie :(

    Podziel się tą opinią


    Odnośnik do opinii
    Bielecki

    Zgłoś ·

    · Edytowane przez Bielecki

       2 z 3 użytkowników uznało tę opinię za pomocną 2 / 3 użytkowników

    W pierwszym przykładzie wcale nie skracasz :) 162 znaków w pierwszym wypadku, 368 w drugim (tab mógł być przeze mnie liczony jako 4 spacje, ale wiadomo o co chodzi).

    No i przyczepię się ostatniego, loop wykona się od razu, wypluwając 10x na raz, bo nie ma wait. Dodatkowo wydaje mi się, że nic Ci po tym, bo będzie wyświetlać 1, 2, 3..., a nie 10, 9, 8... (nie mam pewności, ale raczej tak będzie).

    Podziel się tą opinią


    Odnośnik do opinii
    PanNiedzwiadek

    Zgłoś ·

       1 z 3 użytkowników uznało tę opinię za pomocną 1 / 3 użytkowników

    Lippa. Bardzo podstawowe porady. 4 gwiazdki za chęć szerzenia wiedzy pośród niedoświadczonych "skripterów"

    Podziel się tą opinią


    Odnośnik do opinii
    KCPRRR

    Zgłoś ·

       1 z 3 użytkowników uznało tę opinię za pomocną 1 / 3 użytkowników

    Poprawiłeś mój wpis ;-;

    Podziel się tą opinią


    Odnośnik do opinii
    _AvaX_

    Zgłoś ·

       1 z 6 użytkowników uznało tę opinię za pomocną 1 / 6 użytkowników

    Nie ma praktycznie Nic, tylko podstawy każdego poradnika.

    Podziel się tą opinią


    Odnośnik do opinii
    Jqmey

    Zgłoś ·

      

    Wpis nie najlepszy, dosyć krótki i nie wyczerpuje w pełni tematu. W dodatku fragmenty kody nie są odpowiednio sformatowane.

    Podziel się tą opinią


    Odnośnik do opinii

×