Skocz do zawartości

Advancedban skript - plugin advancedban w skrypcie


Delivetator

Rekomendowane odpowiedzi

Witam,

Dzisiaj przychodzę do was z pewnym skryptem. Skrypt ten to jest nic innego jak advancedban, tylko że w skrypcie.

 

1. Informacje:

- Skrypt jest w wersji beta,

- Skrypt nie jest skończony,

- Skrypt jest robiony na czysto,

- Będą poprawki skrypu i więcej wersji.

- NALEGAM O PRZECZYTANIE PUNKTU     "|------- Informacje od autora i regulamin skryptu -------|"

 

2. Skrypt:

Sam w sobie skrypt ma takie same komendy, jak plugin AdvancedBan, czyli:

- wyciszanie: mute, tempmute, unmute

- banowanie: ban, tempban, unban, banlist

- historia: historia, history

- wyrzucanie: kick

- ostrzezenia: warn, tempwarn, unwarn

Aktualnie tylko tyle, więcej będzie w następnych wersjach.

 

3. Wersje i update:

1. Alpha - początkowy kod (posiada niewiele błędów)

2. Beta - poprawione błędy (komenda '/warn' będzie w następnej wersji PROSZĘ CZEKAĆ!)

3. 1.0 - dorobiona komenda '/warn'; poprawiona banlista i banowanie

 

4. Dodatki:

- SkQuery

- skRayFall

- WolfSk/WolvSk/WildSkript

 

|------- Informacje od autora i regulamin skryptu -------|

1. Zakaz podszywania się

2. Skrypt nie jest skończony, więc proszę nie hatować

3. Poproszę pomysły, co zmienić/dodać/usunąć

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

1. Dlaczego przy komendzie info argumentem może być gracz offline, ale jednak przy zapytaniasz sprawdzasz czy ten gracz jest online?

        if arg 1 is set:
            if arg 1 is online:

Dodatkowo brak formatowania czasu w postaci daty lub pozostałego czasu.

No i ogólnie nie taki advencedbans xd

Odnośnik do komentarza
Udostępnij na innych stronach

24 minuty temu, kerpson napisał:

1. Dlaczego przy komendzie info argumentem może być gracz offline, ale jednak przy zapytaniasz sprawdzasz czy ten gracz jest online?

        if arg 1 is set:
            if arg 1 is online:

Dodatkowo brak formatowania czasu w postaci daty lub pozostałego czasu.

No i ogólnie nie taki advencedbans xd

1. Dlatego, żeby później zrobić else i jeśli gracz poda gracza offline wyświetli się mu na chacie, że gracz jest offline

Poza tym czytaj CAŁY opis, tego co napisałem. Sktypt nie jest skończony. Skrypt jest w wersji aplha.

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

Umiecie czytać ze zrozumieniem?

Skrypt nie jest skończony, więc proszę czekać!

Jakoś nie jasno napisane? 

W dniu 16.06.2022 o 10:04, lie_pan1 napisał:

Naprawiłem błędy :)

I nalegam o usunięcie tego z code.skript.pl. Naprawię błędy w najbliższym czasie!

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 10.06.2022 o 11:27, Delivetator napisał:

3. Poproszę pomysły, co zmienić/dodać/usunąć

Usuń cały skrypt 😜 

------------------------------

Możesz dodać opcję wyłączenia broadcast (Nie każdy lubi jak co chwilę coś spamuje na chacie:

Spoiler
        if arg 1 is set:
            if {mute.status::%arg 1%} is false:
                set {mute.status::%arg 1%} to true
                set {mute.who::%arg 1%} to "%sender%"
                set {mute.when::%arg 1%} to "%now%"
                broadcast ""
                broadcast "&8&m-------------&1&lWYCISZENIE&8&m-------------"
                broadcast ""
                broadcast "&8» &7Gracz &e%arg 1% został wyciszony."
                broadcast "&8» &7Powod: &e%{mute.reason::%arg 1%}%"
                broadcast "&8» &7Administrator: &e%{mute.who::%arg 1%}%"
                broadcast ""
                broadcast "&8&m-------------&1&lWYCISZENIE&8&m-------------"
                broadcast ""

 

A zwłaszcza w konsoli.

 

Robisz skrypt dla grupy odbiorców to dodaj możliwości konfiguracji w prosty sposób.

Spoiler
kick player due to "&8&m----------&6&lTwoj&r&lSerwer&8&m----------

 

Dla laika nawet by się nie chciało tego szukać w kodzie.

 

I wisienka na torcie. :facepalm:

every 1 second:
    loop {tempban.waiting::*}:
        if {tempban.time::%loop-value%} > 0:
            remove 1 from {tempban.time::%loop-value%}
        if {tempban.time::%loop-value%} is 0:
            set {tempban.status::%loop-value%} to false
            remove loop-value from {banlist}
            remove 1 from {bans}
            remove loop-value from {tempban.waiting::*}
            delete {tempban.reason::%loop-value%}
            delete {tempban.who::%loop-value%}
            delete {tempban.time::%loop-value%}
    loop {tempwarn.waiting::*}:
        if {tempwarn.time::%loop-value%} > 0:
            remove 1 from {tempwarn.time::%loop-value%}
        if {tempwarn.time::%loop-value%} is 0:
            set {tempwarn.status::%loop-value%} to false
            remove loop-value from {tempwarn.waiting::*}
            delete {tempwarn.reason::%loop-value%}
            delete {tempwarn.who::%loop-value%}
            delete {tempwarn.time::%loop-value%}

Odliczania czasu tak nie robimy w przypadku banów.

Załóżmy dałeś mi bana na jeden dzień. Następny dzień serwer jest wyłączony z nieznanych powodów. Za dwa dni próbuję się połączyć za dwa dni i dalej mam bana :whatever:

Do tego polecam używać expressionu difference between %time% and %time% is larger than/smaller than. Obczaj sobie to ;) 

 

I jeszcze znalazłem taką ciekawostkę.

W tym skrypcie można mieć ujemne warny :D 

variables:
    {warn::%player%} = 0

Na początku ustawiasz warny wszystkich graczy na 0 (są ustawione)

command /unwarn [<offlineplayer>]:
	[...]
    trigger:
        if arg 1 is set:
            if {warn::%arg 1%} is set:
                remove 1 from {warn::%arg 1%}

A następnie przy zdjęciu warna sprawdzasz czy tylko jest to ustawione. Załóżmy mam 0 warnów, wpisujesz komendę /unwarn knugi i nagle mam -1 xD

I najlepsze jest odniesienie od tego warunku:

send "&cTen gracz nie posiada zadnego warna!"

Na pewno?

 

Dużo pracy przed Tobą by zniwelować usterki. A nawet całego kodu dokładnie nie obejrzałem.

Odnośnik do komentarza
Udostępnij na innych stronach

19 godzin temu, knugi napisał:

Dużo pracy przed Tobą by zniwelować usterki. A nawet całego kodu dokładnie nie obejrzałem.

Napisałeś piękne kazanie, ale ja się nie będę rozpisywał. Za niedługo postaram się kolejną wersję.

1. Warny są naprawione

2. Jeśli chodzi o bany jak wyłączysz serwer to wszystko działa, że przestaje liczyć czas od zbamowania (tak mi się wydaje (jeszcze to sprawdzę))

3. Jeśli chodzi o mute i te inne (broadcast) mam zamiar zrobić to w sposób taki, że graczowi wyciszonemu będzie wysyłało, że został wyciszony, a adminowi, że wyciszył gracza.

4. Jeśli chodzi o usunięcie całego skryptu nie zrobię tego, ponieważ jestem zbyt daleko, aby się poddać. Owszem mógłbym to zrobić, ale wtedy nie byłoby go tutaj, tylko bym robił dla siebie, więc wolę iść dalej

5. Dzięki za to co napisałeś, bo dużo mi pomogłeś. Poprawki planowane do 2 tygodni, bo nie man czasu za bardzo.

 

Przepraszam, że odpisałem od tyłu, ale myślę, że obczaisz. Pozdrawiam.

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

  • 2 miesiące temu...
  • 4 tygodnie później...
  • 1 miesiąc temu...
  • 1 rok później...

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

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...