Skocz do zawartości
  • 0

Skrypt na wioski


DPS

Pytanie

Hej! Potrzebowałbym skrypt na wioski, w której lider może dodawać, usuwać graczy, sprawdzać, kto aktualnie do wioski należy, W przypadku dodawania do wioski drugi gracz musi akceptować dodanie. Jednak w przypadku usunięcia kogoś z wioski skrypt musi sprawdzać czy dany lider ma uprawnienia do usuwania konkretnego gracza. Dodawanie do wioski odbywa się poprzez nadanie rangi. Mam już jakiś skrypt napisany jednak brakuje w nim wielu rzeczy. Myślę, że przez jakiegoś discorda będzie łatwiej z komunikacją (DPS#5444).

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/
Udostępnij na innych stronach

18 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Opis brzmi bardzo podobnie jak gildie po prostu pod inną nazwą.

3 minuty temu, DPS napisał:

Myślę, że przez jakiegoś discorda będzie łatwiej z komunikacją (DPS#5444).

Nie, lepiej będzie tutaj. Podaj aktualny kod.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279381
Udostępnij na innych stronach

  • 0
Teraz, DPS napisał:

Hej! Potrzebowałbym skrypt na wioski, w której lider może dodawać, usuwać graczy, sprawdzać, kto aktualnie do wioski należy, W przypadku dodawania do wioski drugi gracz musi akceptować dodanie. Jednak w przypadku usunięcia kogoś z wioski skrypt musi sprawdzać czy dany lider ma uprawnienia do usuwania konkretnego gracza. Dodawanie do wioski odbywa się poprzez nadanie rangi. Mam już jakiś skrypt napisany jednak brakuje w nim wielu rzeczy. Myślę, że przez jakiegoś discorda będzie łatwiej z komunikacją (DPS#5444).

Mają to być jedynie grupy graczy, tak? Nie mają posiadać żadnego "terytorium" ani terenu, tak?

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279382
Udostępnij na innych stronach

  • 0
command /zuparomana [<text>] [<text>] [<text>]:
        aliases: /zr
        permission: zuparomana.admin
        trigger:
                if arg 1 is not set:
                        send "&c&l "
                        send "&cPrawidłowe użycie: /zuparomana (funkcja) (nick)"
                        send "&c&l "
                        send "&3&lKomendy:"
                        send "&6/zuparomana dodaj (nick) - nadaje uprawnienia do Zupy Romana"
                        send "&6/zuparomana usun (nick) - zabiera uprawnienia do Zupy Romana"
                        send "&6/zuparomana blacklist - pokazuje graczy na BlackLiście"
                if arg 1 is "dodaj" or "+":
                        if arg 2 is set:
                                set {nick} to arg 2
                                execute server command "pex user %{nick}% group set zuparomana"
                                broadcast "&a&l%{nick}% został dodany do Zupy Romana"
                if arg 1 is "usun" or "-":
                        if arg 2 is set:
                                set {nick} to arg 2
                                execute server command "pex user %{nick}% group set gracz"
                                broadcast "&c&l%{nick}% został usunięty z Zupy Romana"
                if arg 1 is "blacklist" or "bl":
                        send " &0-----&8-----&7-----&f&l[&4&lBlackList&f&l]&7-----&8-----&0-----"
                        send " &9&lZupa Romana:"
                        send ""
                        send " &c&l1. &3Atnonio"
                        send " &c&l2. &3Mik0spl"
                        send " &c&l3. &3Jaskulka_12"
                        send ""
                        send " &0-----&8-----&7-----&f&l[&4&lBlackList&f&l]&7-----&8-----&0-----"
                if arg 1 is "lista" or "list":
                        loop all offline players:
                                loop-value's groups contains "zuparomana":
                                        add loop-value to {_zuparomana::*}
                        send "&7-----> &3Zupa Romana &7<-----" to sender
                        loop {_zuparomana::*}:
                                send " &7- &b%loop-value%" to sender
                stop

Tak myślę, że skrypt mógłby sprawdzać czy osoba, która chce wywalić kogoś z wioski będzie sprawdzana czy sama posiada rangę w tym przypadku ZupaRomana i jednocześnie sprawdzać czy osoba, która jest wyrzucana ma rangę ZupaRomana. Tutaj trzeba też uwzględnić jakoś to żeby nie można było wyrzucić samego siebie.

3 minuty temu, Kormic napisał:

Mają to być jedynie grupy graczy, tak? Nie mają posiadać żadnego "terytorium" ani terenu, tak?

Mają to być jedynie grupy graczy. Terytorium ja ręcznie ogarniam i tak ma zostać :)

Edytowane przez DPS
Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279383
Udostępnij na innych stronach

  • 0

Skrypt jest źle wytabowany, tzn. powinien być 1 tab a jest 8 spacji.

Skoro należenie do wioski = ranga ZupaRomana zatem ma istnieć tylko jedna wioska?

43 minuty temu, DPS napisał:

jednocześnie sprawdzać czy osoba, która jest wyrzucana ma rangę ZupaRomana

to już masz tak naprawdę, nie wiem czemu nie potrafisz tego przerobić

arg-2's groups contains "zuparomana"

tylko ważne żeby ten arg-2 był typu offlineplayer, jeśli nie chcesz tego zmieniać to musisz dodać parse as offlineplayer

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279405
Udostępnij na innych stronach

  • 0
3 godziny temu, CoFFeIN04 napisał:

Skrypt jest źle wytabowany, tzn. powinien być 1 tab a jest 8 spacji.

Skoro należenie do wioski = ranga ZupaRomana zatem ma istnieć tylko jedna wioska?

to już masz tak naprawdę, nie wiem czemu nie potrafisz tego przerobić




arg-2's groups contains "zuparomana"

tylko ważne żeby ten arg-2 był typu offlineplayer, jeśli nie chcesz tego zmieniać to musisz dodać parse as offlineplayer

Właśnie będzie więcej wiosek ale do każdej będzie osobna komenda i osobna ranga i jak będę miał już gotowe do jednej to do kolejnych sobie poedytuje. Ja nie ogarniam w skryptach tych wszystkich spacji jednak to co wysłałem mi działa i nie wywala błędów.

Niestety nie wiem jak skorzystać z twojej rady :c

 

 

Edytowane przez DPS
Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279444
Udostępnij na innych stronach

  • 0
5 godzin temu, DPS napisał:

Właśnie będzie więcej wiosek ale do każdej będzie osobna komenda i osobna ranga i jak będę miał już gotowe do jednej to do kolejnych sobie poedytuje. Ja nie ogarniam w skryptach tych wszystkich spacji jednak to co wysłałem mi działa i nie wywala błędów.

Niestety nie wiem jak skorzystać z twojej rady :c

 

 

Jeżeli już miałbym to zrobić, nie bawiłbym się w żadne rangi i komendy, a użyłbym po prostu list zmiennych. Tak byłoby po prostu prościej.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279549
Udostępnij na innych stronach

  • 0

 

12 godzin temu, Kormic napisał:

Jeżeli już miałbym to zrobić, nie bawiłbym się w żadne rangi i komendy, a użyłbym po prostu list zmiennych. Tak byłoby po prostu prościej.

Tylko chodzi o to ze oni mają wyznaczony teren gdzie mogą budować itd. Dostęp do tego jest dzięki temu, że mają rangi konkretnej wioski.
 

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279615
Udostępnij na innych stronach

  • 0
Teraz, DPS napisał:

 

Tylko chodzi o to ze oni mają wyznaczony teren gdzie mogą budować itd. Dostęp do tego jest dzięki temu, że mają rangi konkretnej wioski.
 

Dobrze, ja rozumiem. Mówię jedynie, że zleceniobiorca ma teraz pod górkę. Gdyby to zwyczajnie robił, użyłby list zmiennych, a tak to musi się bawić w jakieś rangi, nie rangi, komendy, nie komendy. Nie wiadomo w ogóle jak ty to widzisz i jak ty chcesz to później w skrypcie uzupełnić. Stwórz może jakiś szkic skryptu, aby osoba wykonująca zlecenie wiedziała od czego w ogóle powinna zacząć, bo teraz to stoimy w kropce.

Mam nadzieję, że już rozumiesz. Po prostu te rangi i komendy robią zamęt w zleceniu i nie wiadomo jak chcesz, aby to było zrobione.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279616
Udostępnij na innych stronach

  • 0
4 godziny temu, Kormic napisał:

Dobrze, ja rozumiem. Mówię jedynie, że zleceniobiorca ma teraz pod górkę. Gdyby to zwyczajnie robił, użyłby list zmiennych, a tak to musi się bawić w jakieś rangi, nie rangi, komendy, nie komendy. Nie wiadomo w ogóle jak ty to widzisz i jak ty chcesz to później w skrypcie uzupełnić. Stwórz może jakiś szkic skryptu, aby osoba wykonująca zlecenie wiedziała od czego w ogóle powinna zacząć, bo teraz to stoimy w kropce.

Mam nadzieję, że już rozumiesz. Po prostu te rangi i komendy robią zamęt w zleceniu i nie wiadomo jak chcesz, aby to było zrobione.

Tak jak pisałem wyżej... W tym skrypcie zanim wykonają się komendy, które są tutaj: 

                if arg 1 is "dodaj" or "+":
                        if arg 2 is set:
                                set {nick} to arg 2
                                execute server command "pex user %{nick}% group set zuparomana"
                                broadcast "&a&l%{nick}% został dodany do Zupy Romana"

chciałbym żeby była wysłana prośba do gracza, którego dodajemy z akceptacją (gracz musi być online).

Zanim wykonają się poniższe komendy chciałbym żeby skrypt sprawdzał  czy osoba, którą chcemy wywalić ma rangę ZupaRomana (gracz może być offline).

                if arg 1 is "usun" or "-":
                        if arg 2 is set:
                                set {nick} to arg 2
                                execute server command "pex user %{nick}% group set gracz"
                                broadcast "&c&l%{nick}% został usunięty z Zupy Romana"

 

 

Udało mi się zrobić usuwanie gracza według tego co pisałem wyżej jednak przy dodawaniu to nie działa.

                if arg 1 is "usun" or "-":
                        if arg 2 is set:
                                loop all offline players:
                                        loop-value's groups contains "zuparomana":
                                                execute server command "pex user %arg-2% group set gracz"
                                                broadcast "&c&l%arg-2% został usunięty z Zupy Romana"

 

Edytowane przez DPS
Nieaktywny

Łączę posty.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279617
Udostępnij na innych stronach

  • 0
3 minuty temu, DPS napisał:

Udało mi się zrobić usuwanie gracza według tego co pisałem wyżej jednak przy dodawaniu to nie działa.

Ten kod wygląda bardzo dziwnie. Dlaczego zapętlasz wszystkich graczy, którzy kiedykolwiek byli na tym serwerze zamiast po prostu sprawdzać czy 'arg-2' posiada tę grupę? Z powodu tej pętli będziesz próbował usuwać tego gracza tyle razy ilu wszystkich graczy posiada grupę "zuparomana".

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279643
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Ten kod wygląda bardzo dziwnie. Dlaczego zapętlasz wszystkich graczy, którzy kiedykolwiek byli na tym serwerze zamiast po prostu sprawdzać czy 'arg-2' posiada tę grupę? Z powodu tej pętli będziesz próbował usuwać tego gracza tyle razy ilu wszystkich graczy posiada grupę "zuparomana".

A jak to zrobić żeby sprawdzał 'arg-2'?

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279644
Udostępnij na innych stronach

  • 0
Teraz, DPS napisał:

A jak to zrobić żeby sprawdzał 'arg-2'?

Zamiast 'loop-value' i tej pętli po prostu wstaw warunek.

if arg-2's groups contains "zuparomana":

Co do skryptu, może dzisiaj wieczorem się tym zajmę, aczkolwiek nic nie obiecuję.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-279645
Udostępnij na innych stronach

  • 0
W dniu 13.01.2021 o 17:08, Kormic napisał:

Zamiast 'loop-value' i tej pętli po prostu wstaw warunek.


if arg-2's groups contains "zuparomana":

Co do skryptu, może dzisiaj wieczorem się tym zajmę, aczkolwiek nic nie obiecuję.

Niestety nie działa zamiana :/

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-280405
Udostępnij na innych stronach

  • 0
8 minut temu, DPS napisał:

Mam Vault i PermissionsEx

 

W takim razie spróbujemy inaczej.

loop player's groups:
	"%loop-value%" contains "zuparomana"
	set {_group} to true
{_group} is set
# Dalszy kod

Również spróbuj tak:

if "%player's groups%" contains "zuparomana"

 

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-280408
Udostępnij na innych stronach

  • 0

W przypadku pętli loop i tak wykonuje komendy.

W przypadku if'a nie wykonuje w ogóle komendy i ciągle pokazuje test, który dopisałem. Może to ja coś źle wpisuje 🤷‍♂️
 

                if arg 1 is "usun" or "-":
                        if arg 2 is set:
                                if "%arg-2%" contains "zuparomana":
                                        execute server command "pex user %arg-2% group set gracz"
                                        broadcast "&c&l%arg-2% został usunięty z Zupy Romana"
                                else:
                                        send "test"
"%player's groups%" - to nie działało
Edytowane przez xNightPower_
Nieaktywny

Naprawiam formatowanie na ciemnym stylu.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-280497
Udostępnij na innych stronach

  • 0
7 godzin temu, DPS napisał:

W przypadku pętli loop i tak wykonuje komendy.

W przypadku if'a nie wykonuje w ogóle komendy i ciągle pokazuje test, który dopisałem. Może to ja coś źle wpisuje 🤷‍♂️

Pokaż jak w przypadku pętli to zrobiłeś.

Odnośnik do komentarza
https://skript.pl/temat/44537-skrypt-na-wioski/#findComment-280633
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
Odpowiedz na pytanie...

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