Skocz do zawartości

Easy-List - Skrypt na liste graczy


Jeste
 Udostępnij

Rekomendowane odpowiedzi

Siemka.

Chciałbym pokazać wam mój autorski skrypt na listę graczy i adminów

Wymagania:

Skript

PermissionsEx (Albo inny plugin do permisji)

Essentials

Permisje:

list.admin.see - Pod komendą /list widzi adminów i graczy

list.player.see - Pod komendą /list widzi tylko graczy

list.admin.list - Traktuje go jako Administrator i dodaje do listy administratorów

list.clear.all - Dostęp do komendy /clear-list

Bez permisji list.admin.list dodaje go do listy graczy

Komendy:

/list (Lista graczy)

/clear-list (Wyrzuca graczy z serwera co skutkuje restartowaniem list graczy i adminów [Przydatne kiedy właśnie daliśmy jakiemuś graczowi administratora.].)

Download:

 

Mam nadzieje że skrypt jest fajny!

 

 

Edytowane przez Jeste
;/ Nie ten temat ..........
Odnośnik do komentarza
Udostępnij na innych stronach

Eh...

execute console command "kickall &6Blad komendy /list . &cProsimy: Relognij"

A gdzie w wymaganiach essentials? :lulkappa:
Wiesz, że da się to zrobić za pomocą Skripta?

loop all players:
	kick loop-player due to "&6Blad komendy /list . &cProsimy: Relognij"


Po co dwa razy sprawdzasz, czy gracz ma permisje? Jeden starczy.
Jeden raz dodajesz permission message, a za drugim razem nie.
Szczerze, nie użył bym tego skryptu na swoim serwerze.

ps; ale za pomysł.

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

  • 2 tygodnie później...
W dniu 18.12.2018 o 21:31, Kovlorek12 napisał:

Łap, ulepszyłem ci skrypta i troche go odchudziłem :P

Mam kilka pytań:

Linijka 23: Czemu nie 'else:'? Edit: Bo to trochę nie ma sensu... Czemu dajesz 'or' zamiast np.: 'and'?

Linijka 48: Czemu zmieniasz wiadomość?

Linijka 49 i 50: Czemu 'remove all' a nie 'delete'?

Linijka 8 - 13 i 15 - 22: W permisji z graczem nie ma 'send ""'

Powiedziałeś że mi ulepszyłeś. Nie widzę tego zbytnio.

Chociaż lekko odchudziłeś.

Niestety wole moją (Oryginalną) wersję skryptu.

Odnośnik do komentarza
Udostępnij na innych stronach

15 godzin temu, Jeste napisał:

Mam kilka pytań:

Linijka 23: Czemu nie 'else:'? Edit: Bo to trochę nie ma sensu... Czemu dajesz 'or' zamiast np.: 'and'?

Linijka 48: Czemu zmieniasz wiadomość?

Linijka 49 i 50: Czemu 'remove all' a nie 'delete'?

Linijka 8 - 13 i 15 - 22: W permisji z graczem nie ma 'send ""'

Powiedziałeś że mi ulepszyłeś. Nie widzę tego zbytnio.

Chociaż lekko odchudziłeś.

Niestety wole moją (Oryginalną) wersję skryptu.

1. Ponieważ czasem się to buguje ze sobą
2. -
3. Ponieważ oprózniasz wszystko ze zmiennej a nie ją usuwasz
4. Nie rozumiem, wszystko powinno działac

Nie widzisz bo za pewne nie znasz dobrze języka Skript, poznasz go trochę to się przekonasz
Jeżeli wolisz skrypta który ci będzie bardziej lagował serwer to proszę, ale jeżeli będziesz dalej pisać nie optymalne projekty to nie wróże ci dobrej przyszłości ;) 

Odnośnik do komentarza
Udostępnij na innych stronach

8 godzin temu, Kovlorek12 napisał:

1. Ponieważ czasem się to buguje ze sobą
2. -
3. Ponieważ oprózniasz wszystko ze zmiennej a nie ją usuwasz
4. Nie rozumiem, wszystko powinno działac

Nie widzisz bo za pewne nie znasz dobrze języka Skript, poznasz go trochę to się przekonasz
Jeżeli wolisz skrypta który ci będzie bardziej lagował serwer to proszę, ale jeżeli będziesz dalej pisać nie optymalne projekty to nie wróże ci dobrej przyszłości ;) 

Owszem, nie do końca znam wszystkie funkcje Skript.

1.

8 godzin temu, Kovlorek12 napisał:

4. Nie rozumiem, wszystko powinno działać

Nie dajesz 'send ""' przy tym jak gracz ma permisje do widzenia graczy.

2.

8 godzin temu, Kovlorek12 napisał:

3. Ponieważ oprózniasz wszystko ze zmiennej a nie ją usuwasz

Skoro i tak z automatu, gdy lista nie istnieje ( Z tego co wiem ) sama się dodaje.

3.

8 godzin temu, Kovlorek12 napisał:

1. Ponieważ czasem się to buguje ze sobą

?...

4.

8 godzin temu, Kovlorek12 napisał:

2. -

Nie prościej było napisać że mogę zmieniać wiadomość??

Mam nadzieję że ta dyskusja o twojej "lepszej" wersji skryptu nie będzie długości 1337 komentarzy...?

Odnośnik do komentarza
Udostępnij na innych stronach

Hej, troszkę namieszałeś. Wystarczyło by zrobić iteracje po graczach online, sprawdzać ich uprawnienia i dodawać do osobnych listów.

Wtedy by odpadły eventy on join i quit, oraz by Ci zmienna się nie psuła, bo za każdym użyciem komendy, robi nową.

Taki o to mały przykładzik:

command /list [<text>]:
	trigger:
		loop all players:
			if loop-player has permission "list.admin":
				add loop-player to {_admins::*}
			else:
				add loop-player to {_players::*}
		if size of {_players::*} is larger than 0:
			send "Gracze online: %{_players::*}%"
		if size of {_admins::*} is larger than 0:
			send "Admini online: %{_admins::*}%"

Podobny jest w oficjalnej dokumentacji skripta: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! ostatnia komenda.

Odnośnik do komentarza
Udostępnij na innych stronach

@knugi

Nie psuje się lista. Ta komenda jest tylko dlatego bo dodajemy nowego admina na server i musimy zrestartować event 'on join:'.

Oczywiście mógłbym to lekko przerobić na np. komendy 'addadmin' i 'addplayer' oraz ich usuniecie.

Drugi sposób: Mógłbym zrobić 'list-admin <Add/Delete> <Gracz>' i 'list-player <Add/Delete> <Gracz>'.

Trzeci: Mógłbym też zrobić 'listap <Admin/Player> <Add/Delete> <Gracz>'

Mogę ci podesłać jeden z trzech tych sposobów. Skoro twierdzisz że lista się psuje.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

2 minuty temu, Jeste napisał:

Nie psuje się lista. Ta komenda jest tylko dlatego bo dodajemy nowego admina na server i musimy zrestartować event 'on join:'.

Nie musisz, zacytowany fragment mi wystarczy.

"zrestartować event on join" co masz na myśli? Ten event wykonuje się za każdym razem jak gracz wejdzie na serwer. Jeżeli jest sobie gracz knugi na serwerze. Dodasz mu uprawnienia admina, to on jest dalej jako gracz.

Wyjdzie z serwera i wejdzie na niego to już będzie jako admin.

A jeżeli zrobisz to sposobem co Ci pokazałem wyżej to nie będzie takiej potrzeby, bo iteruje wszystkich graczy na bieżąco (w czasie wykonywania komendy).

Mniej zamieszania.

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Szifter zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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