Skocz do zawartości

Rekomendowane odpowiedzi

Cytat

Kod ładniejszy i schludniejszy od twojej dziewczyny!

Jest taki mały problem... nie mam dziewczyny :nokappa:

Moim zdaniem zamiast options powinieneś zrobić konfigurację w YAML było by to według mnie lepszym pomysłem.
Skrypt nie jest aż taki zły ale lepiej używać pluginu typu PAC albo AAC.
Szacunek za tak długi kod, ale nie jest to co o czym myślę.

Odnośnik do komentarza
https://skript.pl/temat/28913-suiteac-antycheat-mc-112/#findComment-190961
Udostępnij na innych stronach

Spoiler
Cytat


                                                                                                                                      
#       SSSSSSSSSSSSSSS                     iiii          tttt                                           AAA                  CCCCCCCCCCCCC
#     SS:::::::::::::::S                   i::::i      ttt:::t                                          A:::A              CCC::::::::::::C
#    S:::::SSSSSS::::::S                    iiii       t:::::t                                         A:::::A           CC:::::::::::::::C
#    S:::::S     SSSSSSS                               t:::::t                                        A:::::::A         C:::::CCCCCCCC::::C
#    S:::::S            uuuuuu    uuuuuu  iiiiiiittttttt:::::ttttttt        eeeeeeeeeeee             A:::::::::A       C:::::C       CCCCCC
#    S:::::S            u::::u    u::::u  i:::::it:::::::::::::::::t      ee::::::::::::ee          A:::::A:::::A     C:::::C              
#     S::::SSSS         u::::u    u::::u   i::::it:::::::::::::::::t     e::::::eeeee:::::ee       A:::::A A:::::A    C:::::C              
#      SS::::::SSSSS    u::::u    u::::u   i::::itttttt:::::::tttttt    e::::::e     e:::::e      A:::::A   A:::::A   C:::::C              
#        SSS::::::::SS  u::::u    u::::u   i::::i      t:::::t          e:::::::eeeee::::::e     A:::::A     A:::::A  C:::::C              
#           SSSSSS::::S u::::u    u::::u   i::::i      t:::::t          e:::::::::::::::::e     A:::::AAAAAAAAA:::::A C:::::C              
#                S:::::Su::::u    u::::u   i::::i      t:::::t          e::::::eeeeeeeeeee     A:::::::::::::::::::::AC:::::C              
#                S:::::Su:::::uuuu:::::u   i::::i      t:::::t    tttttte:::::::e             A:::::AAAAAAAAAAAAA:::::AC:::::C       CCCCCC
#    SSSSSSS     S:::::Su:::::::::::::::uui::::::i     t::::::tttt:::::te::::::::e           A:::::A             A:::::AC:::::CCCCCCCC::::C
#    S::::::SSSSSS:::::S u:::::::::::::::ui::::::i     tt::::::::::::::t e::::::::eeeeeeee  A:::::A               A:::::ACC:::::::::::::::C
#    S:::::::::::::::SS   uu::::::::uu:::ui::::::i       tt:::::::::::tt  ee:::::::::::::e A:::::A                 A:::::A CCC::::::::::::C
#     SSSSSSSSSSSSSSS       uuuuuuuu  uuuuiiiiiiii         ttttttttttt      eeeeeeeeeeeeeeAAAAAAA                   AAAAAAA   CCCCCCCCCCCCC


# ===    ╔═╗┌─┐┌┐┌┌─┐┬┌─┐   === #
# ===    ║  │ ││││├┤ ││ ┬   === #
# ===    ╚═╝└─┘┘└┘└  ┴└─┘   === #


# ===    ╔═╗┌─┐┬─┐┌─┐   === #
# ===    ║  │ │├┬┘├┤    === #
# ===    ╚═╝└─┘┴└─└─┘   === #

 

Zbędna treść. 

Spoiler
Cytat


    Break.Range.Value: 4.99
    Chat.Spam.Delay: 0.99
    Combat.Range.Value: 4.25
    Combat.Speed.Delay: 0.12
    Item.Bow.Delay: 0.22
    Item.Inventory.Delay: 0.05
    Item.Projectile.Delay: 0.12
    Move.DownY.Value: 17
    Move.UpY.Value: 1.26
    Move.Sneak.XZ.Value: 0.52
    Move.Standard.XZ.Value: 2.61
    Move.Standard.XZ.Hunger.Value: 1.19
    Move.Vehicle.Value: 2
    Place.Range.Value: 4.76
    Place.Speed.Delay: 0.12

 

Wydaje mi się (nie musisz tego robić), że lepszy efekt będzie, gdy napiszesz wszystko z małej;


    break.range.value: 4.99
    chat.spam.delay: 0.99
    combat.range.value: 4.25
    combat.speed.delay: 0.12

 

Spoiler
Cytat


send ""
if arg 1 is "":
[...]
else:
    send ""
    [...]

 

Lepszym wyborem jest:

Spoiler


command /sac [<text=help] [<offline player>] [<text>] [<timespan>]:
    trigger:
        if text-argument 1 is not "..." or "..." or "..." [...]:
            message "text"
        else:
            if text-argument 1 is "...":
                message "..."
            if text-argument 1 is "...":
                message "..."

 

 

Spoiler
Cytat


if arg 1 is "avoid":
            if arg 2 is set:
                if arg 3 is "Break.Aim":
                    set {break.aim.avoid.%arg 2%} to true
                else if arg 3 is "Break.Range":
                    set {break.range.avoid.%arg 2%} to true
                else if arg 3 is "Break.Speed":
                    set {break.speed.avoid.%arg 2%} to true
                else if arg 3 is "Chat.Ad":
                    set {chat.ad.avoid.%arg 2%} to true
                else if arg 3 is "Chat.Spam":
                    set {chat.spam.avoid.%arg 2%} to true
                else if arg 3 is "Combat.Aim":
                    set {combat.aim.avoid.%arg 2%} to true
                else if arg 3 is "Combat.Knockback":
                    set {combat.knockback.avoid.%arg 2%} to true
                else if arg 3 is "Combat.Range":
                    set {combat.range.avoid.%arg 2%} to true
                else if arg 3 is "Combat.Speed":
                    set {combat.speed.avoid.%arg 2%} to true
                else if arg 3 is "Item.Bow":
                    set {item.bow.avoid.%arg 2%} to true
                else if arg 3 is "Item.Inventory":
                    set {item.inventory.avoid.%arg 2%} to true
                else if arg 3 is "Item.Projectile":
                    set {item.projectile.avoid.%arg 2%} to true
                else if arg 3 is "Move.Sneak":
                    set {move.sneak.avoid.%arg 2%} to true
                else if arg 3 is "Move.Standard":
                    set {move.standard.avoid.%arg 2%} to true
                else if arg 3 is "Move.Vehicle":
                    set {move.vehicle.avoid.%arg 2%} to true
                else if arg 3 is "Place.Aim":
                    set {place.aim.avoid.%arg 2%} to true
                else if arg 3 is "Place.Range":
                    set {place.range.avoid.%arg 2%} to true
                else if arg 3 is "Place.Speed":
                    set {place.speed.avoid.%arg 2%} to true
                send "{@SuiteAC.Tag} &7Enabled &f%arg 3% &7avoidance for &e%arg 2%"
                stop

 

Nie widzę sensu stosowania odmian tej samej nazwy "Place.Speed", a w przypadku zmiennej "place.speed". Podmień sobie ten zbędny kod na:
 


if arg 1 is "avoid":
            if arg 2 is set:
                if arg 3 is "break.aim" or "break.range" or "break.speed" [...]:
                    set {%arg 3%.%arg 2%} to true
                send "{@SuiteAC.Tag} &7Enabled &f%arg 3% &7avoidance for &e%arg 2%"

Uwagi: 

  • nie widzę nigdzie komunikatu, jeżeli arg 2 nie jest definiowany i zarówno kiedy arg 3 jest inny niż "XXX",
  • nie ma sensu dodawać na końcu "stop".
Spoiler
Cytat


on break:
on break:
on chat:
on chat:
[...]

 

Zbędnie powtarzasz eventy, gdzie jesteś w stanie wszystko zmieścić w jeden.

Dałbym pozytywną repke, jeżeli kod byłby dobrze napisany, ale taki nie jest. Pomijając iż jednak się napracowałeś, cały projekt nie miał sensu od początku. Lepiej przerzucić to na pl, niż pisać zasobożerny skrypt. Wszelkie projekty podchodzące pod antycheata bazujące na skryptach powinny zostać wyśmiane, gdzie notorycznie robi to moja osoba. Co ty chcesz nimi blokować? Wejście na serwer poprzez generowanie laga? - "every 0.25 real seconds". 

Tak samo skrypt na chat;

Spoiler

loop {ads::list::*}:
    if message contains loop-value:

 

Podczas wysłania wiadomości, jest ona sprawdzana ponad 15 razy, gdzie jeżeli ktoś wykaże się swoją mądrością i napisze typowe "muj-serwer/pl", skrypt może zacząć płakać.

Podsumowując jeszcze raz przytaczam swój tekst "skryptowe projekty typu antycheat nie mają sensu".

Odnośnik do komentarza
https://skript.pl/temat/28913-suiteac-antycheat-mc-112/#findComment-190971
Udostępnij na innych stronach

2 minuty temu, _Of3k napisał:
  Pokaż ukrytą zawartość

Zbędna treść. 

  Pokaż ukrytą zawartość

Wydaje mi się (nie musisz tego robić), że lepszy efekt będzie, gdy napiszesz wszystko z małej;



    break.range.value: 4.99
    chat.spam.delay: 0.99
    combat.range.value: 4.25
    combat.speed.delay: 0.12

 

  Pokaż ukrytą zawartość

Lepszym wyborem jest:

  Pokaż ukrytą zawartość



command /sac [<text=help] [<offline player>] [<text>] [<timespan>]:
    trigger:
        if text-argument 1 is not "..." or "..." or "..." [...]:
            message "text"
        else:
            if text-argument 1 is "...":
                message "..."
            if text-argument 1 is "...":
                message "..."

 

 

  Pokaż ukrytą zawartość

Nie widzę sensu stosowania odmian tej samej nazwy "Place.Speed", a w przypadku zmiennej "place.speed". Podmień sobie ten zbędny kod na:
 



if arg 1 is "avoid":
            if arg 2 is set:
                if arg 3 is "break.aim" or "break.range" or "break.speed" [...]:
                    set {%arg 3%.%arg 2%} to true
                send "{@SuiteAC.Tag} &7Enabled &f%arg 3% &7avoidance for &e%arg 2%"

Uwagi: 

  • nie widzę nigdzie komunikatu, jeżeli arg 2 nie jest definiowany i zarówno kiedy arg 3 jest inny niż "XXX",
  • nie ma sensu dodawać na końcu "stop".
  •  
  Pokaż ukrytą zawartość

Zbędnie powtarzasz eventy, gdzie jesteś w stanie wszystko zmieścić w jeden.

Dałbym pozytywną repke, jeżeli kod byłby dobrze napisany, ale taki nie jest. Pomijając iż jednak się napracowałeś, cały projekt nie miał sensu od początku. Lepiej przerzucić to na pl, niż pisać zasobożerny skrypt. Wszelkie projekty podchodzące pod antycheata bazujące na skryptach powinny zostać wyśmiane, gdzie notorycznie robi to moja osoba. Co ty chcesz nimi blokować? Wejście na serwer poprzez generowanie laga? - "every 0.25 real seconds". 

Tak samo skrypt na chat;

  Pokaż ukrytą zawartość


loop {ads::list::*}:
    if message contains loop-value:

 

Podczas wysłania wiadomości, jest ona sprawdzana ponad 15 razy, gdzie jeżeli ktoś wykaże się swoją mądrością i napisze typowe "muj-serwer/pl", skrypt może zacząć płakać.

Podsumowując jeszcze raz przytaczam swój tekst "skryptowe projekty typu antycheat nie mają sensu".

Cóż się dziwić że nie jest jeszcze dobrze napisany, skoro wyraźnie widnieje w tytule "BETA". Większość antycheatów nie mają tak uniwersalnych detekcji jak w przypadku funkcji Move w skrypcie, która opiera się na analizowaniu dwóch różnych wektorów 3D danego gracza z przedziałem 0.25s. Co do wydajności Skript masz 100% rację, jednak jak każdy inny, chciałem się wykazać swoją wiedzą i pokazać moje możliwości. Co do chatu, jeszcze nie widziałem pluginu, który idealnie blokuje reklamy (te które mają przekręcone frazy). Dziękuję za opinię.

Odnośnik do komentarza
https://skript.pl/temat/28913-suiteac-antycheat-mc-112/#findComment-190972
Udostępnij na innych stronach

1 minutę temu, _Ark223_ napisał:

Cóż się dziwić że nie jest jeszcze dobrze napisany, skoro wyraźnie widnieje w tytule "BETA". 

Przytoczyłem wygląd kodu, jedynie do podania powodu "dlaczego nie dałem pozytywnej repki", także nie hejtuje cię za to :).

Cytat

Co do chatu, jeszcze nie widziałem pluginu, który idealnie blokuje reklamy (te które mają przekręcone frazy).

Nigdzie nie jest nakazane, że każdy pl ma działać tak i tak. Jeżeli piszesz już cokolwiek, to po co robić daną rzecz tak samo, jak w przypadku pozostałych projektów konkurencji? Sprawdzanie jedynie tego samego ciągu znaków, pfff... my też będziemy to mieli. Pokombinuj trochę z "split at", bo sprawdzanie jedynie ".pl" nie ma sensu.

 

Odnośnik do komentarza
https://skript.pl/temat/28913-suiteac-antycheat-mc-112/#findComment-190973
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
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ę...