Skocz do zawartości

Private Groups - nowe, lepsze konfy


Rekomendowane odpowiedzi

Private Groups ☆

Chat tylko dla Ciebie i twojej grupy!

 

» Działanie «

Po stworzeniu grupy będziesz mógł ustawisz, czy chat dla grupy ma być włączony czy też wyłączony. Jeśli będzie on wyłączony, członkowie grupie w tym również ty, będziecie pisali na zwykłym czacie dla graczy. W przeciwnym wypadku, jeśli będzie on włączony, będziecie korzystali z waszego własnego chatu grupowego, do którego tylko wy macie dostęp

 

» Zalety «

1. Wiadomości w pliku .YML - nie będziesz musiał szukać wiadomości w całym skrypcie (oprócz gui)

2. Skrypt starałem się jak najbardziej zoptymalizować, chociaż uważam, że jeszcze trochę muszę go dopracować

3. Każda komenda jak i funkcja jest w skrypcie nazwana, więc nie będziesz szukał igły w stogu siana (387 linijek)

4. Skrypt będzie rozwijany, więc jeśli masz jakieś pomysły, wal śmiało! To mi na pewno pomoże :D

 

» TODO «

Napisz, a postaram się to zrobić :)

 

» Wymagania «

1. Skript by Bensku lub inny, który działa z tą oto wersją skryptu

2. TuSKe

3. skUtilities

4. SkQuery

 

» Download «

github

Wersja 1.0 - https://github.com/DrakeSun/PrivateGroups/blob/master/PrivateGroups

code.skript

Wersja 1.0 - https://code.skript.pl/1FEo15AC

 

 

Pierwszy skrypt na stronce... plsss nie tak ostro xD

Edytowane przez DrakeSun
Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/
Udostępnij na innych stronach

Przeglądam sobie skrypt, i widze że sie cziężko napracowałeś. Skrypt da sie całkiem zmniejszyć ale, myśle że ocena to 7.8/10.  Staraj sie dalej :)    :wallkappa:   (PS. Nie pytaj sie dlaczego kappa bo jestem ich zwolennikiem XD :bankappa: ) Bardzo dobra praca. Myśle że dałbyś rade zmniejszyć :P

Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/#findComment-199261
Udostępnij na innych stronach

3 godziny temu, MrMarker98 napisał:

Przeglądam sobie skrypt, i widze że sie cziężko napracowałeś. Skrypt da sie całkiem zmniejszyć ale, myśle że ocena to 7.8/10.  Staraj sie dalej :)    :wallkappa:   (PS. Nie pytaj sie dlaczego kappa bo jestem ich zwolennikiem XD :bankappa: ) Bardzo dobra praca. Myśle że dałbyś rade zmniejszyć :P

Dzieki bardzo! Napewno zajmę się pomniejszeniem skryptu ?. Jeśli masz jakieś pomysły odnośnie skryptu to wal śmiało! ?

Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/#findComment-199270
Udostępnij na innych stronach

Nie testowałem, ale wygląda na działający.

Plusy:

  • GUI z TuSke
  • funkcje
  • pętle przy wypełnianiu GUI

Zastrzeżenia:

  • set {_szq} to light gray stained glass pane named " "
    set {_accept} to green hardened clay named "&l&aTak, usun"
    set line 1 of lore of {_accept} to " "
    set line 2 of lore of {_accept} to "&7Jestem pewien tego, co robie"
    set {_deny} to red hardened clay named "&l&cNie, zostal"
    set line 1 of lore of {_deny} to " "
    set line 2 of lore of {_deny} to "&7Nie chce usuwac swojej grupy"
    format a gui slot 0 of {_p} with {_szq} 
    loop 3*9-1 times:
    	format a gui slot loop-number of {_p} with {_szq} 
    format a gui slot 12 of {_p} with {_accept} to close then run function pgDelete({_p}, "accept")
    format a gui slot 14 of {_p} with {_deny} to close then run function pgDelete({_p}, "deny")

    To bardzo rzuca się w oczy... konkretnie to ustawianie itemków do zmiennych:

    • Typ, nazwę, enchanty, lore, nbt możesz dodawać do itemu podczas formatowania go:
      set {_szq} to light gray stained glass pane named " "
      format a gui slot 0 of {_p} with {_szq}
      				||
      				||
      				\/
      format a gui slot 0 of {_p} with light gray glass named " "

       

    • Formatować zerowy slot w GUI możesz za pomocą jednej pętli, wystarczy że odejmiesz 1 od numeru pętli:

      format gui slot 0 of {_p} with light gray glass named " " 
      loop 3*9-1 times:
      	format a gui slot loop-number of {_p} with {_szq}
      				||
      				||
      				\/
      loop 3*9 times:
      	format gui slot ((loop-number)-1) of {_p} with light gray glass named " "

       

    • Znak || odpowiada za nową linijkę w lore:

    • set {_accept} to green hardened clay named "&l&aTak, usun"
      set line 1 of lore of {_accept} to " "
      set line 2 of lore of {_accept} to "&7Jestem pewien tego, co robie"
      set {_deny} to red hardened clay named "&l&cNie, zostal"
      set line 1 of lore of {_deny} to " "
      set line 2 of lore of {_deny} to "&7Nie chce usuwac swojej grupy" 
      format a gui slot 12 of {_p} with {_accept} to close then run function pgDelete({_p}, "accept")
      format a gui slot 14 of {_p} with {_deny} to close then run function pgDelete({_p}, "deny")
      				||
      				||
      				\/
      format gui slot 12 of {_p} with green hardened clay named "&a&lTak, usun" with lore " ||&7Jestem pewien tego, co robie" to close then run function pgDelete({_p}, "accept")
      format gui slot 14 of {_p} with red hardened clay named "&l&cNie, zostal" with lore " ||&7Nie chce usuwac swojej grupy" to close then run function pgDelete({_p}, "deny")

       

  • Istnieją funkcje, które zwracają ci wszystkie pliki z yaml (ot np. all yaml nodes from "path" z dodatku skript-yaml). Wystarczy trochę pokombinować i kod się skróci:
        set {pg::chaton} to yaml value "chaton" from file "plugins/PrivateGroups/messages.yml"
        set {pg::chatoff} to yaml value "chatoff" from file "plugins/PrivateGroups/messages.yml"
        set {pg::groupcreate} to yaml value "groupcreate" from file "plugins/PrivateGroups/messages.yml"
        set {pg::maxgroups} to yaml value "maxgroups" from file "plugins/PrivateGroups/messages.yml"
        set {pg::nameofgroup} to yaml value "nameofgroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::nameofgroupexist} to yaml value "nameofgroupexist" from file "plugins/PrivateGroups/messages.yml"
        set {pg::tagofgroup} to yaml value "tagofgroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::tagofgroupexist} to yaml value "tagofgroupexist" from file "plugins/PrivateGroups/messages.yml"
        set {pg::playerisoffline} to yaml value "playerisoffline" from file "plugins/PrivateGroups/messages.yml"
        set {pg::noadminadd} to yaml value "noadminadd" from file "plugins/PrivateGroups/messages.yml"
        set {pg::nameofplayer} to yaml value "nameofplayer" from file "plugins/PrivateGroups/messages.yml"
        set {pg::nogroup} to yaml value "nogroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::onlyadminadd} to yaml value "onlyadminadd" from file "plugins/PrivateGroups/messages.yml"
        set {pg::invitetoplayer} to yaml value "invitetoplayer" from file "plugins/PrivateGroups/messages.yml"
        set {pg::invitecancel} to yaml value "invitecancel" from file "plugins/PrivateGroups/messages.yml"
        set {pg::onlyadmindelete} to yaml value "onlyadmindelete" from file "plugins/PrivateGroups/messages.yml"
        set {pg::noplayergroup} to yaml value "noplayergroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::noadminremove} to yaml value "noadminremove" from file "plugins/PrivateGroups/messages.yml"
        set {pg::playergroup} to yaml value "playergroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::playerisalreadyingroup} to yaml value "playerisalreadyingroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::noinvite} to yaml value "noinvite" from file "plugins/PrivateGroups/messages.yml"
        set {pg::inviteaccepttoplayer} to yaml value "inviteaccepttoplayer" from file "plugins/PrivateGroups/messages.yml"
        set {pg::inviteaccepttogroup} to yaml value "inviteaccepttogroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::invitecanceltoplayer} to yaml value "invitecanceltoplayer" from file "plugins/PrivateGroups/messages.yml"
        set {pg::invitecanceltogroup} to yaml value "invitecanceltogroup" from file "plugins/PrivateGroups/messages.yml"
        set {pg::noadmindelete} to yaml value "noadmindelete" from file "plugins/PrivateGroups/messages.yml"
        set {pg::onlyadminpanel} to yaml value "onlyadminpanel" from file "plugins/PrivateGroups/messages.yml"
        set {pg::groupleaveaccept} to yaml value "groupleaveaccept" from file "plugins/PrivateGroups/messages.yml"
        set {pg::groupleavedeny} to yaml value "groupleavedeny" from file "plugins/PrivateGroups/messages.yml"
    				||
    				||
    				\/
    set {_list::*} to all yaml nodes from "plugins/PrivateGroups/messages.yml"
    loop {_list::*}:
    	set {pg::%loop-value%} to yaml value "%loop-value%" from file "plugins/PrivateGroups/messages.yml"

Jeżeli tylko zastosowałbyś takie zmiany, to kod od razu z tych 400 linijek zmalałby do np. 250 - a jak wiadomo - im mniej kodu, tym lepiej.

Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/#findComment-199315
Udostępnij na innych stronach

@LuckyPotato dzięki Ci bardzo za twoją opinię! Napewno zmienię swój skrypt na lepsze dzięki twoim poradom. Jeśli chodzi o te ustawianie nazwy przedmiotu oraz lore to tak dla jasnosci - zazwyczaj robie tak jak ty tutaj napisaleś i też uważam, że to jest lepszy sposób od zastosowanego w skrypcie. Tylko że ja zrobiłem to dla graczy, ktorzy nie umieją odnaleźć się do końca w tym skrypcie. Takie coś może być ladniejsze i dla innych prostsze niż kod który jest w jednej linijce.

Jeśli chodzi zaś o Yaml. Tak naprawdę pierwszy raz z niego korzystałem. Nie robię skryptów dla kogoś, ja je robię dla siebie i poprostu ich nie używam :D ale dzięki, że dałeś mi radę jak mg skrócić kod, napewno zmienie yaml, a gui narazie zostawię do czasu, gdy wprowadzę możliwość zmiany lore i nazwy w pliku yaml

Dzięki raz jeszcze! I jeśli możesz to walnij jakiś pomysł do tego skryptu :D

 

 

Edytowane przez DrakeSun
Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/#findComment-199319
Udostępnij na innych stronach

11 godzin temu, DrakeSun napisał:

@LuckyPotatoJeśli chodzi o te ustawianie nazwy przedmiotu oraz lore to tak dla jasnosci - zazwyczaj robie tak jak ty tutaj napisaleś i też uważam, że to jest lepszy sposób od zastosowanego w skrypcie. Tylko że ja zrobiłem to dla graczy, ktorzy nie umieją odnaleźć się do końca w tym skrypcie. Takie coś może być ladniejsze i dla innych prostsze niż kod który jest w jednej linijce.

Nie warto rozpisywać kodu po to żeby innym wyszczególnić. Jeżeli ktoś rozgarnięty będzie potrzebował twojego skryptu, to znajdzie sobie linijkę odpowiadającą za wyświetlany tekst (im mniej kodu, tym jemu będzie łatwiej) - reszta społeczeństwa to po prostu bezmyślne ameby, które nie są w stanie zrozumieć prostej składni skripta i nie będą umiały wejść w daną linjkę, poprawić i zapisać (nawet gdyby była ona jakoś wyszczególniona). Będą robić tobie spam w wątku i na pw o tym że nie potrafią i żebyś zmienił im nazwę na taką jaką sobie zażyczą.

Dlatego lepiej jest zrobić ładny, optymalny i przejrzysty kod, aniżeli przystosowywać go (w taki sposób) do obsługi przez w.w. ameby.

Odnośnik do komentarza
https://skript.pl/temat/30418-private-groups-nowe-lepsze-konfy/#findComment-199327
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ę...