Skocz do zawartości

PEserver - Skrypt na serwery Survival!


Rekomendowane odpowiedzi

Wstęp:

PEserver już zawitał na tym forum, jednak nie był za ciepło przyjęty. W wersji 0.1 - 0.2 był skryptem na kity i za to głównie go krytykowano. Pracowałem nad nowymi wersjami codziennie i udało mi się się stworzyć ciekawy skrypt na wiele rzeczy!

Co zawiera:

- Logowanie i rejestracje.

- Auto-logowanie premium oparte na API Mojangu. (Więc jeżeli ktoś wejdzie na nonpremium z nickiem premium to i tak mu przyzna i nie da się tego pominąć.)

- /Spawn i /Setspawn.

- /Kit.

- Ruchome sloty. (Liczba graczy +1)

- Wiadomość powitalną.

- AntyLogout.


Download:

Kliknij


PEupdater:

- Służy do aktualizacji. (Komenda /peupdate)

- Potrzeba dodatku skUtilities

Download

Edytowane przez PepeeYT
TakiJakTy

Zmieniam edytor na code.skript.pl

Notatka dodana przez TakiJakTy

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/
Udostępnij na innych stronach

Skrypt wygląda na potężny, jednak zauważyłem dosyć potężny błąd, a mianowicie "format slot". Zobacz, dlaczego nie powinno się z tego korzystać.

Edytowane przez VaporeonPL
Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239905
Udostępnij na innych stronach

set {haslo::%player%} to arg 1

Hasło trzymane w plaintexcie? :O

command /premium:
    trigger:
        set {_name} to text from "https://api.mojang.com/users/profiles/minecraft/%player%"
        if {_name} contain "%player%":
            send "{@Prefix} &7Jestes graczem premium, ustawiono autologowanie!" to the player
            set {premium::%player%} to true
        else:
            send "{@Prefix} &cNie jestes graczem premium!" to the player
        if {premium::%loop-player%} is true:
            if {login::%loop-player%} is false:
                set action bar of loop-player to "&2&lZalogowano automatycznie!"
                set {login::%loop-player%} to true 

Czyli wystarczy ze gracz non-premium wejdzie na nicku osoby z "potwierdzonym" kontem premium w twoim skrypcie i zostanie zalogowany?

Cytat

- Auto-logowanie premium oparte na API Mojangu. (Więc jeżeli ktoś wejdzie na nonpremium z nickiem premium to i tak mu przyzna i nie da się tego pominąć.)

To po co ta funkcja skoro zle dziala?

Edytowane przez dasddas
Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239907
Udostępnij na innych stronach

51 minut temu, dasddas napisał:

To po co ta funkcja skoro zle dziala?

I tak gracz nonpremium tego nie zrobi jeżeli ma rozum :L

 

Godzinę temu, VaporeonPL napisał:

Skrypt wygląda na potężny, jednak zauważyłem dosyć potężny błąd, a mianowicie "format slot". Zobacz, dlaczego nie powinno się z tego korzystać.

Ok dzięki! Nigdy nie rozumiałem czemu format slot jest zły, w wersji 0.4.01 poprawie to.

Nieaktywny

Łączę posty.

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239909
Udostępnij na innych stronach

2 minuty temu, PepeeYT napisał:

I tak gracz nonpremium tego nie zrobi jeżeli ma rozum :L

A co jeżeli zrobi? Skrypt jest niebezpieczny i narażasz potencjalne serwery używajace go ;/

Edytowane przez dasddas
Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239911
Udostępnij na innych stronach

3 minuty temu, PepeeYT napisał:

I tak gracz nonpremium tego nie zrobi jeżeli ma rozum :L

W takim razie jaki jest w ogóle sens takiego logowania? "Jeżeli gracz nonpremium ma rozum, to nie będzie wchodził na nie swoje konto"

Zrób to na UUID konta jak już, dodatkowo sam skrypt umożliwia pisanie na chacie, wyrzucanie przedmiotów oraz wpisywanie komend gdy nie jest się zalogowanym, a logowanie sprawdza every 2 seconds. Ktoś może się wstrzelić w 2 sekundy i wywołać komendę, gdy nie jest się zalogowanym, lepiej zrobić to na "on join" :)

Edytowane przez Dziubak
Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239912
Udostępnij na innych stronach

Teraz, dasddas napisał:

A co jeżeli zrobi? Skrypt jest niebezpieczny i narażasz potencjalne serwery używajace go ;/

 

15 minut temu, Dziubak napisał:

W takim razie jaki jest w ogóle sens takiego logowania? "Jeżeli gracz nonpremium ma rozum, to nie będzie wchodził na nie swoje konto"

Zrób to na UUID konta jak już, dodatkowo sam skrypt umożliwia pisanie na chacie, wyrzucanie przedmiotów oraz wpisywanie komend gdy nie jest się zalogowanym, a logowanie sprawdza every 2 seconds. Ktoś może się wstrzelić w 2 sekundy i wywołać komendę, gdy nie jest się zalogowanym, lepiej zrobić to na "on join" :)

Już robie dajcie chwile.

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239913
Udostępnij na innych stronach

@Dziubak

UUID na stronie Mojangu nie posiada znaków "-" jakie są na serwerze:

Przykład:

Moje UUID normalnie:

Cytat

5828a8bda483407d848b4c461abd323a

Moje UUID na serwerze:
 

Cytat

5828a8bd-a483-407d-848b-4c461abd323a

Obydwa są poprawne, jednak strona czyta ten bez "-"

Sam zaproponowałeś UUID więc może pomożesz.

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-239916
Udostępnij na innych stronach

W dniu 28.03.2020 o 10:44, PepeeYT napisał:

Wstęp:

PEserver już zawitał na tym forum, jednak nie był za ciepło przyjęty. W wersji 0.1 - 0.2 był skryptem na kity i za to głównie go krytykowano. Pracowałem nad nowymi wersjami codziennie i udało mi się się stworzyć ciekawy skrypt na wiele rzeczy!

A kogo to obchodzi, że nie został ciepło przyjęty? Jeśli robisz skrypt na zestawy, a nazywasz go skrypt na zarządzanie serwerem to krytyka będzie bardzo mocna, bo to nie jest skrypt na zarządzanie serwerem, lecz skrypt na zestawy... Jeszcze wracając do pytania, czy ty myślisz, że weźmiesz kogoś na litość? Jeśli tak to przepraszam bardzo, ale to jest marna próba...

W dniu 28.03.2020 o 10:44, PepeeYT napisał:

Co zawiera:

- Logowanie i rejestracje.

- Auto-logowanie premium oparte na API Mojangu. (Więc jeżeli ktoś wejdzie na nonpremium z nickiem premium to i tak mu przyzna i nie da się tego pominąć.)

- /Spawn i /Setspawn.

- /Kit.

- Ruchome sloty. (Liczba graczy +1)

- Wiadomość powitalną.

- AntyLogout.

Dobrze, co my tu mamy... Logowanie? Rejestracje? Czy przypadkiem większość serwerów nie używa pluginu AuthMe? Hmm... No niestety, ale to jest niepotrzebne, jeśli zakładamy, że 95% serwerów używa pluginu AuthMe.
Logowanie premium totalna porażka... Rujnuje cały skrypt... Każdy może wejść na osobę z nickiem premium i co wtedy? To ma być ogólnodostępne konto, czy co? No właśnie...
Spawn i setspawn - może gdy przejdę do kodu to się wypowiem...
AntyLogout - również gdy przejdę do kodu to się wypowiem.

No to chodźmy teraz do kodu...

on any movement:
    if {premium::%player%} is false:
        if {login::%player%} is false:
            cancel event
    if {premium::%player%} is true:
        stop   

Przy większym skupisku graczy serwer oszaleje...

on quit:
    wait 5 minute
    set {login::%player%} to false
    stop

Czyli gdy wyjdę i za chwilę wejdę to po tych 5 minutach będę musiał znowu się zalogować? To nie ma sensu....
I jeszcze jedno, po jakiego grzyba ja się pytam powtarzasz event on quit?

command /premium:
    trigger:
        set {_name} to text from "https://api.mojang.com/users/profiles/minecraft/%player%"
        if {_name} contain "%player%":
            send "{@Prefix} &7Jestes graczem premium, ustawiono autologowanie!" to the player
            set {premium::%player%} to true
        else:
            send "{@Prefix} &cNie jestes graczem premium!" to the player

Przechodząc teraz do tego Automatycznego logowania gracza z kontem premium; totalna porażka, dlaczego? Dlatego iż sprawdzasz nazwę gracza, a sprawdzając jego nazwę mogę wejść na jego konto, zalogować się, wpisać /premium i każdy może wejść na jego konto...

every 2 seconds:
    loop all players:
        if {premium::%loop-player%} is false:
            if {login::%loop-player%} is false:
                if {haslo::%loop-player%} is not set:
                    set action bar of loop-player to "&e&lZarejestruj sie uzywajac komendy &6/zarejestruj"
                if {haslo::%loop-player%} is set:
                    set action bar of loop-player to "&e&lZaloguj sie uzywajac komendy &6/zaloguj"
        if {premium::%loop-player%} is true:
            if {login::%loop-player%} is false:
                set action bar of loop-player to "&2&lZalogowano automatycznie!"
                set {login::%loop-player%} to true        

every 1 seconds:
    loop all players:
        if {antylogout::%loop-player%} is set:
            if {setLogout::%loop-player%} is true:
                if {antylogout::%loop-player%} is higher than 0:
                    remove 1 from {antylogout::%loop-player%}
                    set action bar of loop-player to "&c&lAntyLogout &4&l%{antylogout::%loop-player%}%sek"
                if {AntyLogout::%loop-player%} <= 0:
                    set {setLogout::%loop-player%} to false
                    clear {antylogout::%loop-player%}
                    send "&aSkonczyles walczyc." to loop-player
                    set action bar of loop-player to "&2&lAntyLogout"

Świetne generatory lagów, naprawdę. Wyszły one Tobie najlepiej...
 

command /setspawn [<text>]:
    permission: pe.setspawn
    permission message: {@Prefix} &cNie masz dostepu do tej komendy!
    trigger:
        if arg 1 is set:
            send "{@Prefix} &cPoprawne Uzycie: /setspawn."
            stop
        if arg 1 is not set:
            set {spawn} to location of player
            send " " to player
            send "{@Prefix} &7Ustawiles spawn na kordynatach: &c%player's location%"
            send " " to player
            stop


command /spawn [<text>]:
    trigger:
        if arg 1 is set:
            send "{@Prefix} &cPoprawne Uzycie: /spawn."
            stop
        if arg 1 is not set:
            if {pSpawn::%player%} is true:
                apply nausea of tier 2 to player for 8 seconds
                send "{@Prefix} &7Teleportacja nastapi za... &c5"
                wait 1 seconds
                send "{@Prefix} &7Teleportacja nastapi za... &c4"
                wait 1 seconds
                send "{@Prefix} &7Teleportacja nastapi za... &c3"
                wait 1 seconds
                send "{@Prefix} &7Teleportacja nastapi za... &c2"
                wait 1 seconds
                send "{@Prefix} &7Teleportacja nastapi za... &c1"
                wait 1 seconds
                teleport player to {spawn}
                send " "
                send "{@Prefix} &7Teleportowales sie na spawn! Znowu bedziesz mogl za 20 minut!"
                send " "
                set {pSpawn::%player%} to false
                wait 20 minutes
                send " "
                send "{@Prefix} &7Mozesz znowu sie teleportowac na spawn!"
                send " "
                set {pSpawn::%player%} to true
            if {pSpawn::%player%} is false:
                send " "
                send "{@Prefix} &cJeszcze nie mozesz sie teleportowac na spawn!"
                send " "
                wait 20 minutes
                send " "
                send "{@Prefix} &7Mozesz znowu sie teleportowac na spawn!"
                send " "

1. Większość serwerów posiada plugin Essentials i jest on dużo lepszy...
2. Komenda spawn ma luki, które również rujnują ten skrypt, może przedstawię je:
- Gracz może ruszać się podczas teleportacji
- Gdy wpiszemy /spawn po jego użyciu to za 20 minut, czyli za jakieś kilka sekund po użyciu ponownie będziemy mogli go ponownie użyć
- Nakładasz efekt nudności na 8 sekund, a teleportacja trwa 5 sekund

command /kit [<text>]:
    permission: pe.kit
    permission message: {@Prefix} &cNie masz dostepu do tej komendy!
    aliases: zestaw, k,
    trigger:
        if arg 1 is not set:
            open chest with 3 rows named "&2Kity" to player
            wait 3 ticks
            set {_i} to 0
            loop 10 times:
                format slot {_i} of player with gray glass pane named " " to be unstealable
                add 1 to {_i}
            set {_i} to 17
            loop 10 times:
                format slot {_i} of player with gray glass pane named " " to be unstealable
                add 1 to {_i}
            format slot 10 of player with name tag of unbreaking 1 named "&bPrzepustka Podstawowa" with lore "&5&oKliknij, aby odebrac przepustke.||&6Odnawia sie co 10 minut." to close then run "kit2 g %player%"
            format slot 11 of player with name tag of unbreaking 1 named "&bPrzepustka Srebrna" with lore "&5&oKliknij, aby odebrac przepustke.||&6Odnawia sie co 20 minut." to close then run "kit2 silver %player%"
            format slot 12 of player with name tag of unbreaking 1 named "&bPrzepustka Szybka Klepa" with lore "&5&oKliknij, aby odebrac przepustke.||&6Odnawia sie co 60 minut." to close then run "kit2 klepa %player%"
        else:
            send "{@Prefix} &cPoprawne Uzycie: /kit."
            stop        


command /kit2 [<text>] [<player>]:
    executable by: console
    trigger:
        if arg 1 is "g":
            if {gCzas::%player-arg%} is true:
                give 1 of name tag of unbreaking 1 named "&8Przepustka Podstawowa" with lore "&9LPM, aby odebrac.||&9PPM, aby zobaczyc zawartosc." to player-arg
                set {gCzas::%player-arg%} to false
                wait 10 minute
                send " " to player-arg
                send  "{@Prefix} &7Przepustka Podstawowa zostala odnowiona!" to player-arg
                send " " to player-arg
                set {gCzas::%player-arg%} to true
            else:
                send " " to player-arg
                send "{@Prefix} &cAby otrzymac przepustke musisz jeszcze poczekac." to player-arg
                send " " to player-arg
                wait 10 minute
                send " " to player-arg
                send  "{@Prefix} &7Przepustka Podstawowa zostala odnowiona!" to player-arg
                send " " to player-arg
                set {gCzas::%player-arg%} to true
        if arg 1 is "silver":
            if player doesn't have permission "pe.silverKit":
                send " "
                send "{@Prefix} &cNie masz dostepu do tego kitu!"
                send " "
            else:
                if {sCzas::%player-arg%} is true:
                    give 1 of name tag of unbreaking 1 named "&7Przepustka Srebrna" with lore "&9LPM, aby odebrac.||&9PPM, aby zobaczyc zawartosc." to player-arg
                    set {sCzas::%player-arg%} to false
                    wait 20 minute
                    send " " to player-arg
                    send  "{@Prefix} &7Przepustka Srebrna zostala odnowiona!" to player-arg
                    send " " to player-arg
                    set {sCzas::%player-arg%} to true
                    stop
                else:
                    send " " to player-arg
                    send "{@Prefix} &cAby otrzymac przepustke musisz jeszcze poczekac." to player-arg
                    send " " to player-arg
                    wait 20 minute
                    send " " to player-arg
                    send  "{@Prefix} &7Przepustka Srebrna zostala odnowiona!" to player-arg
                    send " " to player-arg
                    set {sCzas::%player-arg%} to true
                    stop
        if arg 1 is "klepa":
            if player doesn't have permission "pe.klepaKit":
                send " "
                send "{@Prefix} &cNie masz dostepu do tego kitu!"
                send " "
            else:
                if {kCzas::%player-arg%} is true:
                    give 1 of name tag of unbreaking 1 named "&cPrzepustka Szybka Klepa" with lore "&9LPM, aby odebrac.||&9PPM, aby zobaczyc zawartosc." to player-arg
                    set {kCzas::%player-arg%} to false
                    wait 60 minute
                    send " " to player-arg
                    send  "{@Prefix} &7Przepustka Szybkiej Klepy zostala odnowiona!" to player-arg
                    send " " to player-arg
                    set {kCzas::%player-arg%} to true
                    stop
                else:
                    send " " to player-arg
                    send "{@Prefix} &cAby otrzymac przepustke musisz jeszcze poczekac." to player-arg
                    send " " to player-arg
                    wait 60 minute
                    send " " to player-arg
                    send  "{@Prefix} &7Przepustka Szybkiej Klepy zostala odnowiona!" to player-arg
                    send " " to player-arg
                    set {kCzas::%player-arg%} to true      

Nie mogłeś tego zrobić w ten sposób?

command /kit [<text>]:
  	trigger:
  		if arg isn't set:
  			open chest with 1 rows named "Zestawy" to player
  			format slot 0 of player with 1 of diamond pickaxe named "Kit 1" to close then run [make player exeucte "kit kit1"]
  			format slot 1 of player with 1 of diamond sword named "Kit 2" to close then run [make player exeucte "kit kit2"]
  			format slot 2 of player with 1 diamond axe named "Kit 3" to close then run [make player execute "kit kit3"]
  			stop
  		if arg is "kit1":	
  			#kod 
		if arg is "kit2":
  			#kod
  		if arg is "kit3":
  			#kod

 

on rightclick with name tag:
	#kod

Ja bym to zrobił w ten sposób

on right click:
	if event-item is name tag named "Cos":
		#kod

To samo z on left click.

Podsumowując skrypt, w obecnej chwili uważam, że jest on w stanie krytycznym (prawdopodobnie jest zakażony koronawirusem i nie ma już dla niego ratunku:kappa:).
Zawiera dużo luk, zbędnych oraz głupich możliwości, które są świetnie wykonane w pluginach. Skrypt to również idealny generator lagów na serwer, więc to go również dobija...
Skrypt niekompletny krótko mówiąc. 
Ocena skryptu: 1.5/10
Ocena może ulec zmianie gdy naprawdę się postarasz.

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-240312
Udostępnij na innych stronach

Twoje logowanie jest do kitu, można wpisać hasło, nie rozróżnia wielkości liter, a to moim zdaniem karygodny błąd, i aby to zrobić nie trzeba nic w configu skripta zmieniać bo mam skrypt na logowanie i jest o niebo lepszy

Odnośnik do komentarza
https://skript.pl/temat/37809-peserver-skrypt-na-serwery-survival/#findComment-240314
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ę...