Skocz do zawartości

Rekomendowane odpowiedzi

INFO! Skrypt jak i jego opis został początkowo stworzony i opublikowany przez ZiemniaQ'a. Jako że nie zawsze działał poprawnie, a dodatkowo został porzucony to postanowiłem go poprawić i udostępnić. Link do oryginalnego tematu: https://skript.pl/temat/33308-pyratop-skrypt-na-tworzenie-topki/.

 

Opis ≫

  • Funkcja automatycznie posegreguje podaną listę zmiennych w kolejności malejącej. Wystarczy wkleić kod do dowolnego pliku i przeładować. Będzie dostępny do użycia globalnie - we wszystkich innych skryptach.

Korzystanie ≫

  • Pierwszym warunkiem jaki należy spełnić jest posiadanie zmiennej w formacie {nazwa::nick_gracza}. W miejscu nazwy może się znajdować cokolwiek: wykopany_stone, zabojstwa, smierci, itp.
  • Gdy już posiadamy naszą zmienną, korzystamy z funkcji, która wygeneruje nam naszą listę z topką:
    set {_lista::*} to createTop("nazwa", 5)

    gdzie:

    • pierwszym argumentem funkcji jest tekst zawierający nazwę naszej zmiennej
    • drugim argumentem jest liczba, która oznacza ilość miejsc w topce jaka zostanie wygenerowana
  • Powyższy sposób daje nam już gotową listę, którą możemy zapętlić i wyświetlić powiedzmy na chacie w domyślnym formacie nick gracza - wartość
    • Gdyby jednak zaszła taka potrzeba, zwracany format można dowolnie zmieniać, dodając trzeci argument (tekst) do funkcji.
      Można korzystać z trzech zmiennych:
      • [INDEX] lub [I] - zostanie zamieniony na pozycję gracza w topce
      • [PLAYER] lub [P] - zostanie zamieniony na nick gracza
      • [VALUE] lub [V] - zostanie zamienione na wartość zmiennej w topce
         
    • Przykładowo poniższa funkcja będzie zwracać wartości w takim formacie:  1. PanMaruda: 100
      createTop("nazwa", 5, "&7[I]. &b[P]&7: &3[V]")

       

    • Można też dodawać dowolny tekst:  PanMaruda zdobył 100 punktów i zajął 1 miejsce
      createTop("nazwa", 5, "&b[P] &7zdobył &3[V] &7punktów i zajął &9&l[I] &7miejsce.")

       

  • jeżeli w drugim argumencie podamy wartość większą od zera, wtedy topka wygeneruje się od najwyższej do najniższej wartości - gdy liczba będzie ujemna - wtedy topka będzie odwrócona

Zastosowanie ≫

  • Wygenerowane topki można umieszczać wszędzie i nie ma tu żadnego ograniczenia, mogą to być: listy na chacie, przedmioty w GUI, hologramy, tabliczki, lore, strony internetowe itp.
  • Chciałbym poinformować że nie jest to najwydajniejszy sposób na segregowanie zmiennej, więc w połączeniu ze Skriptem oraz obszerną listą (+200 wyników) ta funkcja może doprowadzić do spadku wydajności tj. znacznego obciążenia procesora. Zalecam używanie jej jednorazowo np. podczas startu serwera lub automatycznie co pewien czas. Moim zdaniem nie powinna być wykonywana na każde życzenie gracza.

Przykłady ≫

Spoiler
  • Skrypt wygeneruje top 3 (lub podaną w argumencie ilość) najlepszych górników, i wyświetli wszystko na chacie osobie która wywołała komendę (w domyślnym formacie).
    
    
    
    on mine:
    	if {bloki::%player%} is set
    		add 1 to {bloki::%player%}
    	else
    		set {bloki::%player%} to 1
    
    command /topka [<integer=3>]:
      	trigger:
    		send "&9&lNajlepsi górnicy:"
    		send createTop("bloki", arg 1)

     

  • Skrypt policzy ilość znaków w każdej wiadomości gracza, a następnie po wpisaniu komendy wygeneruje topkę i wyświetli ją graczowi w GUI (w customowym formacie) (wymagane TuSKe).
    
    
    
    on chat:
    	if {chat::%player%} is set:
    		add (length of message) to {chat::%player%}
    	else:
    		set {chat::%player%} to (length of message)
            
    command /topka [<integer=10>]:
      	trigger:
    		set {_top::*} to createTop("chat", arg 1, "&6[PLAYER]&7: &e[INDEX]")
    
    		open virtual chest inventory with (rounded up ((size of {_top::*}) / 9)) rows named "Topka chatu" to player
    		loop (size of {_top::*}) times:
    			format gui slot (loop-number - 1) of player with 1 of potato named {_top::%loop-number%}

     

Wersja 4.3 (zmiany) ≫

  • od tej wersji funkcja wymaga pluginu Skript w wersji przynajmniej 2.4, co za tym idzie najlepiej wersji gry powyżej 1.14 włącznie
  • od tej wersji wszystkie indeksy (nicki graczy) pobierane są ze zmiennej podanej w pierwszym argumencie
  • usunięto argument czwarty 'reversed = boolean' powodujący generowanie odwróconej listy
  • usunięto argument trzeci 'list = objects' przez który dodawane były indeksy
  • dodano opcję generowania odwróconej listy gdy jej wielkość (argument drugi) będzie liczbą ujemną

Wymagania ≫

  • plugin Skript w wersji 2.4 lub wyższej
  • (zalecane) silnik Spigot lub Paper w wersji 1.14 i wyższe

Pobieranie ≫

 

PO-TA-TOES

Edytowane przez PanMaruda
Aktualizacja do wersji 4.3.0
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/
Udostępnij na innych stronach

Była teraz taka taktyczna zmiana tematu, więc tamtej wiadomości tu nie ma, ale odniosę się do twojego pytania @kiroxtv (link). Trochę spóźnione, ale czekałem z kolejną wersją i tą odpowiedzią przez święta. Nazwijmy to co teraz napiszę "poradnikiem" dotyczącym korzystania ze skryptu:

Można od teraz (tj. wersja druga) ustawiać swoje formatowanie przy każdym tworzeniu nowej topki. Chciałbym tego uniknąć i móc zwracać posortowaną listę, w której nick będzie indeksem, a liczba - wartością zmiennej, lecz niestety ograniczeniem jest skript, który namiętnie segreguje sobie wszystkie indeksy w ustalonym porządku. Dlatego też trzeba skupić się na tym co jest i nauczyć się tego używać.
Chcąc zrobić tak jak Kiro - topkę w GUI z głowami graczy - trzeba rozdzielić uzyskane wartości na nicki graczy oraz ich punkty. Jeżeli nie ustalimy własnego formatu, będzie to bardzo proste, ponieważ te dwie wartości oddziela tylko myślnik. Zwracana lista będzie wyglądać tak:

Kiro - 100
Maruda - 78
ZiemniaQ - 21

Zatem mamy naszą topkę - trzeba ją zapętlić i użyć wyrażenia 'split at', które zwróci kolejną listę, gdzie pierwszym wynikiem będzie nick gracza, a drugim jego punkty:

loop {_topka::*}:
	#loop-value przechowuje cały czas format "Gracz - Punkty" (wartości są oddzielone dwoma spacjami i myślnikiem)
	#dzielimy więc nasz tekst na dwie wartości znajdujące się pomiędzy spacjami i myślnikiem:  " - "
	set {_nowaLista::*} to loop-value split at " - "

	#{_nowaLista::1} zawiera teraz nick gracza (zapisane jako tekst)
	#{_nowaLista::2} zawiera punkty gracza (również jako tekst)

Kod skryptu powinien więc wyglądać mniej więcej tak:

command /topkasmierci [<text>]:
	trigger:

		#Tworzymy topkę z 9 wynikami (zostawiając domyślny format)
		set {_topsmierci::*} to createTop("smierciog", 9, all offline players)

		#Otwieramy inventory z jednym rzędem (ten efekt oraz poniższe do formatowania slotów pochodzą z dodatku TuSKe)
		open virtual chest inventory with 1 rows named "&f&lTopka &6&lKiroksiewicz" to player

		#Zapętlamy uzyskaną zmienną
		loop {_topsmierci::*}:

			#Oddzielamy graczy od ich punktów (jak w przykładzie powyżej)
			set {_lista::*} to loop-value split at " - "

			#{_lista::1} przechowuje nick gracza ale zapisany jako tekst, a do pobrania jego głowy potrzebujemy by zmienna zawierała gracza
			#Ustawiamy więc tą zmienną na typ gracz
			set {_lista::1} to ({_lista::1} parsed as offline player)

			#Potrzebujemy również numer zapętlenia, które aktualnie wykonuje skrypt - przyda się do ustawienia slotu w GUI. Te indeksy zapisują się od 1
			#w górę oraz są tekstem. Jako że sloty w GUI numerowane są od zera, to potrzebujemy zapisać indeks jako liczbę i pomniejszyć go o 1
			set {_index} to ((loop-index parsed as integer) - 1)

			#Stwórzmy sobie przedmiot, który wstawimy w GUI - będzie to głowa gracza mająca w nazwie nick gracza, jego punkty oraz zajęte miejsce,
			#Do wpisania tych wartości, użyjemy stworzonych zmiennych
			#loop-index - miejsce w topce
			#{_lista::1} - nick gracza
			#{_lista::2} - śmierci gracza
			set {_item} to skull of {_lista::1} named "&6%{_lista::1}% &7zajmuje &e%loop-index% &7miejsce ginąc &e%{_lista::2}% razy"

			#Mając już przedmiot oraz slot, możemy stworzyć slot w GUI:
			format gui slot {_index} of player with {_item}

Pozdrawiam i życzę miłego pisania.
Ps. @xAxee obawiam się że jeżeli chodzi o zwracane wartości, to nic lepszego nie jestem w stanie zrobić poprzez Skripta. Teraz przynajmniej będzie się tego przyjemniej używać (taką mam nadzieję).

Edytowane przez PanMaruda
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-231932
Udostępnij na innych stronach

Dziękuję bardzo za odpowiedź! <3
Pytanie kolejne jest takie: Czy jest mozliwość ściągnięcia wartości, która wygląda w taki sposób:

{iore.%player%}


Jezeli byłaby opcja to byłbym bardzo wdzięczny o kodzik tak samo w GUI, bardzo dziękuję za pomoc!

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-232437
Udostępnij na innych stronach

  • 1 miesiąc temu...

Witam, mam błędy w konsoli, przy użyciu komendy;
https://code.skript.pl/lHpVxwMD (błąd)

on join:
	while player is online:
		set {kasa::%player%} to player's balance
		wait 1 second

command /top [<text>]:
	trigger:
		send createTop("kasa", 10, all offline players)

Skript 2.2-dev36
Paper 1.12.2

 

Edytowane przez LjayPL789
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-236044
Udostępnij na innych stronach

@LjayPL789

Spróbuj topkę do zmiennej najpierw dać, potem tą zmienną zapętlić i wysłać wynik.

Nie jestem pewien, ale wysyłanie listy stringów zostało chyba dodane w nowszej wersji skripta, więc możliwe że błąd jest właśnie przez to.

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-236048
Udostępnij na innych stronach

  • 1 miesiąc temu...

Witam, chciałbym się zapytać w jaki sposób można wyświetlić pozycję KONKRETNEGO gracza
Chodzi mi o to, że tak jak na screenie widać - na dole w lore dodać pozycję w topce gracza, tj. np.
Twoja pozycja - 153
Czy dałoby radę tak?
https://imgur.com/a/9sPNMU9

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-238584
Udostępnij na innych stronach

W dniu 16.03.2020 o 15:23, kiroxtv napisał:

Witam, chciałbym się zapytać w jaki sposób można wyświetlić pozycję KONKRETNEGO gracza
Twoja pozycja - 153

Tak, da się to zrobić, trzeba jednak wygenerować całą listę z topką, czyli jeżeli lista ma 4000 wyników to wszystkie 4000 trzeba wziąć pod uwagę, a nie powiedzmy tylko 10 najlepszych - wiąże się to z większym lagiem zależnie od wielkości topki. Do sedna:

#powiedzmy że topke masz w zmiennej {topka::diaxy::*}, robimy wszystko normalnie jak poprzednio
#tylko że w miejscu rozmiaru topki podajemy rozmiar zmiennej (size of {topka::diaxy::*})

set {_top::*} to createTop("topka::diaxy", (size of {topka::diaxy::*}), (all offline players), "&6[index]&e: &f[player]")
#no i teraz ta zmienna {_top::*} ma te wszystkie posegregowane wartości, jeżeli graczy jest 10, to jest ich 10, jeżeli 4000 to 4000 itd.

#teraz dodajemy ręcznie powiedzmy 5 pierwszych wyników do lore:
add "Topka diaxów:" to {_lore::*}
loop 5 times:
	add {_top::%loop-value%} to {_lore::*}

#no i zostaje teraz tylko ta pozycja gracza - musimy zapętlić całą listę (w zasadzie nie całą - bo tylko do numeru, w którym znajdziemy szukanego gracza)
#jakby nie było to wszystkie te wartości bierzemy w pętlę i przyrównujemy nick gracza z zawartością
add "" to {_lore::*}
loop {_top::*}:
	if loop-value contains name of player:
		add "Twoja pozycja: %loop-index%" to {_lore::*}
		#ewentualnie
		#add loop-value to {_lore::*}
		stop loop

Ewentualnie możesz przy starcie serwera przypisać każdemu graczowi osobną zmienną z jego miejscem w danej topce, a potem tylko odczytać z niej wartość, np. {topka::diaxyMiejsce::%player%}

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-238720
Udostępnij na innych stronach

5 godzin temu, PanMaruda napisał:

Tak, da się to zrobić, trzeba jednak wygenerować całą listę z topką, czyli jeżeli lista ma 4000 wyników to wszystkie 4000 trzeba wziąć pod uwagę, a nie powiedzmy tylko 10 najlepszych - wiąże się to z większym lagiem zależnie od wielkości topki. Do sedna:


#powiedzmy że topke masz w zmiennej {topka::diaxy::*}, robimy wszystko normalnie jak poprzednio
#tylko że w miejscu rozmiaru topki podajemy rozmiar zmiennej (size of {topka::diaxy::*})

set {_top::*} to createTop("topka::diaxy", (size of {topka::diaxy::*}), (all offline players), "&6[index]&e: &f[player]")
#no i teraz ta zmienna {_top::*} ma te wszystkie posegregowane wartości, jeżeli graczy jest 10, to jest ich 10, jeżeli 4000 to 4000 itd.

#teraz dodajemy ręcznie powiedzmy 5 pierwszych wyników do lore:
add "Topka diaxów:" to {_lore::*}
loop 5 times:
	add {_top::%loop-value%} to {_lore::*}

#no i zostaje teraz tylko ta pozycja gracza - musimy zapętlić całą listę (w zasadzie nie całą - bo tylko do numeru, w którym znajdziemy szukanego gracza)
#jakby nie było to wszystkie te wartości bierzemy w pętlę i przyrównujemy nick gracza z zawartością
add "" to {_lore::*}
loop {_top::*}:
	if loop-value contains name of player:
		add "Twoja pozycja: %loop-index%" to {_lore::*}
		#ewentualnie
		#add loop-value to {_lore::*}
		stop loop

Ewentualnie możesz przy starcie serwera przypisać każdemu graczowi osobną zmienną z jego miejscem w danej topce, a potem tylko odczytać z niej wartość, np. {topka::diaxyMiejsce::%player%}

Wielkie dzięki! Hmm.. a masz właśnie może pomysł jak to fajnie zoptymalizować, by się aktualizowało np. co jakiś czas? Tak by zniwelować lagi, bo jednak przypisać zmienną tak jak napisałeś - to w sumie nie mam chyba pomysłu jak to zrobić

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-238735
Udostępnij na innych stronach

  • 1 miesiąc temu...
21 minut temu, kiroxtv napisał:

Według mnie powinno być to w jakiś sposób aktualizowane powiedzmy co 10 minut, gdyż wywoływanie komendy za każdym razem może być (u mnie jest) lagujące dla serwera.

No to już zależy od ciebie jak tego użyjesz. Najlepiej zapisywać do listy co jakiś czas a w komendzie pokazywać tą listę a nie wywoływać znów funkcje 

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-242663
Udostępnij na innych stronach

5 minut temu, xAxee napisał:

No to już zależy od ciebie jak tego użyjesz. Najlepiej zapisywać do listy co jakiś czas a w komendzie pokazywać tą listę a nie wywoływać znów funkcje 

Jakbyś mógł i był tak miły - podał przykład jak to zrobić byłbym wdzięczny :D

Edytowane przez kiroxtv
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-242665
Udostępnij na innych stronach

43 minuty temu, kiroxtv napisał:

Jakbyś mógł i był tak miły - podał przykład jak to zrobić byłbym wdzięczny :D

on join:
	remove player from {players::*}
	add player to {players::*}
on load:
	set {top::*} to createTop("kamien", 10, {players::*}, "&7[INDEX] &6[PLAYER] &e[VALUE]")
every 10 minutes:
	set {top::*} to createTop("kamien", 10, {players::*}, "&7[INDEX] &6[PLAYER] &e[VALUE]")
command /top [<text>]:
	trigger:
		send {top::*} to player
on mine:
    add 1 to {kamien::%player%} 

 

Edytowane przez xAxee
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-242670
Udostępnij na innych stronach

Takie moje pytanie, czy byłaby możliwość wyświetlania tych topek na hologramach ? Chodzi mi o to, czy da się ustalić dla np. pierwszych 5 miejsc jakiś placeholder, który zadziałałby w hologramach ? 

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-242767
Udostępnij na innych stronach

Godzinę temu, BimberDziadka1 napisał:

Takie moje pytanie, czy byłaby możliwość wyświetlania tych topek na hologramach ? Chodzi mi o to, czy da się ustalić dla np. pierwszych 5 miejsc jakiś placeholder, który zadziałałby w hologramach ? 

tak, dla np takiego skryptu

on join:
	remove player from {players::*}
	add player to {players::*}
on load:
	set {top::*} to createTop("kamien", 10, {players::*}, "&7[INDEX] &6[PLAYER] &e[VALUE]")
every 10 minutes:
	set {top::*} to createTop("kamien", 10, {players::*}, "&7[INDEX] &6[PLAYER] &e[VALUE]")
command /top [<text>]:
	trigger:
		send {top::*} to player
on mine:
    add 1 to {kamien::%player%} 

placeholder to np %skript_top::<pozycja>% np: %skript_top::1%

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-242781
Udostępnij na innych stronach

  • 1 miesiąc temu...
W dniu 31.05.2020 o 13:34, BORWERTOQ napisał:

Napisał by mi ktos sk na top 5 kasy ?? prosze 

To nie jest temat do tworzenia zleceń (tym, bardziej nie są nim prywatne wiadomości do mnie). Proszę zaprzestać takich działań, zrobić nowy temat w odpowiednim dziale i tam opisać swoje zlecenie.
 

Edytowane przez PanMaruda
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-248101
Udostępnij na innych stronach

  • 4 miesiące temu...

Polecam zamienić 

if {%{_name}%::%loop-value%} is a number:

na

if {%{_name}%::%loop-value%} is a number or time span:

Ponieważ na czas też działają znaki większości itp.
Myślałem że to jest zrobione i jakiś czas siedziałem nad tym i się zastanawiałem dlaczego mi nie działa, a tu po prostu warunek był.

Edytowane przez xAxee
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-265083
Udostępnij na innych stronach

@xAxeeszczerze to o tym nawet nie pomyślałem (pewnie dlatego że zostałem wychowany w nienawiści do timespana i wszystko z reguły robiłem na sekundach)

teoretycznie mam już zrobioną kolejną wersję więc jak będę ją upubliczniał to spojrzę i na ten czas, przetestuję wszystko... obawiam się tylko jednej rzeczy - bo mimo że da się przyrównywać timespan, to jednak nie zawsze to działa jak powinno - zbyt wiele razy się na tym zawiodłem

w każdym razie, dzięki za informację, dobranoc.

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-265094
Udostępnij na innych stronach

  • PanMaruda zmienił(a) tytuł na pyraTop REBORN - funkcja generująca topki (v4.2.0)

Co robię źle? Zawsze gracz najwyżej pokazuje się dwa razy. 0YqJGcI.png

EDIT: Problem rozwiązany, wystarczyło usunąć folder world/playerdata, zrobiły mi się dwa pliki przez zmianę online-mode.

Edytowane przez Helios1993
Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-265476
Udostępnij na innych stronach

  • PanMaruda zmienił(a) tytuł na pyraTop REBORN - funkcja generująca topki (v4.3.0)

Pytanko

Jak zrobić, aby lista wyświetlała nicki, ale prawidłowo (chodzi mi o to, że gracz ma nick: Tester to w topce wyświetla się x. tester: x), a chciałbym poprawnie wyświetlany nick, po prostu nie łapie dużych liter w nicku gracza :/ 

Może brakuje mi pluginu jakiegoś bo widzę, że osoba wyżej ma tutaj poprawnie

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-271270
Udostępnij na innych stronach

  • 1 miesiąc temu...
W dniu 3.12.2020 o 20:58, Legal napisał:

Pytanko

Jak zrobić, aby lista wyświetlała nicki, ale prawidłowo (chodzi mi o to, że gracz ma nick: Tester to w topce wyświetla się x. tester: x), a chciałbym poprawnie wyświetlany nick, po prostu nie łapie dużych liter w nicku gracza :/ 

Może brakuje mi pluginu jakiegoś bo widzę, że osoba wyżej ma tutaj poprawnie

Wiem, że stare pytanie, ale możesz ustawić 'case-sensivity' w pliku konfiguracyjnym Skripta.

Odnośnik do komentarza
https://skript.pl/temat/36238-pyratop-reborn-funkcja-generuj%C4%85ca-topki-v430/#findComment-282092
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ę...