Skocz do zawartości

Skript - sortowanie listy zmiennych - tworzymy top 5


Rekomendowane odpowiedzi

Czy mógł mi ktoś podesłać gotowego tego Topa bo niewiem czemu ale mi wywala błędy

Jakie błędy?

 

Gotowiec:

https://raw.githubusercontent.com/adampoloczek/Skrypty/master/rank!.sk'>>https://raw.githubusercontent.com/adampoloczek/Skrypty/master/rank!.sk
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-5902
Udostępnij na innych stronach

  • 1 miesiąc temu...

Czemu mi to nie działa?

on join:    if {second.%player%} is not set:        set {second.%player%} to 0    if {minute.%player%} is not set:        set {minute.%player%} to 0    if {hour.%player%} is not set:        set {hour.%player%} to 0    if {day.%player%} is not set:        set {day.%player%} to 0    if {uptime::%player%} is not set:        set {uptime::%player%} to 0command /uptime [<integer=1&gt]:    trigger:	    set {_strony} to rounded up (size of {uptime::*} / 5)	    arg is between 1 and {_strony}:		    send "Topka uptime"		    loop {uptime::*}:			    set {_lista::%loop-index%} to loop-value		    set {_num} to size of {_lista::*}		    set {_max} to arg * 5		    set {_min} to {_max} - 4		    loop {_max} times:			    loop {_lista::*}:				    {_wartosc.%loop-number%} is not set:					    set {_wartosc.%loop-number%} to loop-value					    set {_nazwa.%loop-number%} to loop-index				    loop-value is more than {_wartosc.%loop-number%}:					    set {_wartosc.%loop-number%} to loop-value					    set {_nazwa.%loop-number%} to loop-index			    remove {_wartosc.%loop-number%} from {_lista::*}		    loop {_max} times:			    loop-number is between {_min} and {_max}			    loop-number <= {_num}:				    send "%loop-number%. %{uptime::%{_nazwa.%loop-number%}%}% (%{_wartosc.%loop-number%}%)"		    {_max} is more than {_num}:			    set {_r} to {_num}			    loop {_max} - {_num} times:				    add 1 to {_r}				    send "%{_r}%. brak"		    send "Strona: %arg% z %{_strony}%"		    stop	    {_strony} is 1:		    send "Wyniki mieszcza sie na 1 stronie."		    stop	    send "Wyniki mieszcza sie na %{_strony}% stronach."

 

Brak błędów. A pokazuje się tak: http://scr.hu/10xk/tjujx
 

Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-11592
Udostępnij na innych stronach

@up
Bo w 33 linijce wyświetlasz zamiast nazwy gracza wartość dla tego gracza przechowywaną w liście {uptime:: *}.
Zmień tą linijkę na:

send "%loop-number%. %{_nazwa.%loop-number%}% (%{_wartosc.%loop-number%}%)"
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-11605
Udostępnij na innych stronach

 

@up

Bo w 33 linijce wyświetlasz zamiast nazwy gracza wartość dla tego gracza przechowywaną w liście {uptime:: *}.

Zmień tą linijkę na:

send "%loop-number%. %{_nazwa.%loop-number%}% (%{_wartosc.%loop-number%}%)"

Dzięki

Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-12583
Udostępnij na innych stronach

  • 5 tygodni później...

Mam taki kod i jakos srednio dziala (do topki dodaje jakies 6 osob z 30)

command /update-top:	permission: *	trigger:		"scoreboard".Objective.unregister{}		wait 1 ticks		"scoreboard".Objective.SetDisplaySlot{"sidebar"};		"scoreboard".Objective.SetDisplayName{"&6&lTop 5 graczy"};		clear {pvp.top::*}		wait 1 ticks		loop {pvp.level::*}:			set {_lista::%loop-index%} to loop-value		set {_num} to size of {pvp.level::*}		loop 15 times:			loop {_lista::*}:				{_wartosc.%loop-number%} is not set:					set {_wartosc.%loop-number%} to loop-value					set {_nazwa.%loop-number%} to loop-index				loop-value is more than {_wartosc.%loop-number%}:					set {_wartosc.%loop-number%} to loop-value					set {_nazwa.%loop-number%} to loop-index				remove {_wartosc.%loop-number%} from {_lista::*}			if loop-number is between 1 and 15:				loop-number <= {_num}:					set {pvp.top::%loop-number%} to {_nazwa.%loop-number%}		send "%{_num}%" to player		set {_x} to 0		loop 5 times:			add -1 to {_x}			if {pvp.top::%loop-number%} is not "brak":				"scoreboard".Score.setScore{{pvp.top::%loop-number%}, {_x}}

Komenda ta jest automatycznie wywylywana przez skrypt co 15 sekund.

 

A tutaj komenda ranking

command /ranking:	trigger:		send "&6Top 15 graczy (wg. poziomu)"		loop 15 times:			send " &7%loop-number%. &3%{pvp.top::%loop-number%}% &7(&e%{pvp.level::%{pvp.top::%loop-number%}%}%&7)" to sender

Wynik jest taki http://scr.hu/13oa/srab4

Jak cos, nie chce zadnego podzialu na strony itd. jak dla mnie to niepotrzebny syf -,-

Edytowane przez artur9010
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-19373
Udostępnij na innych stronach

  • 2 miesiące temu...

Hmm..

Za pomocą dodatku RandomSK można stworzyć topkę w 3 linijkach (jak znajdę czas to dokładniej to opiszę):

variables:	rank::parrot = 12	rank::user = 5	rank::login = 0	rank::norbi = 9	rank::sopher = 17	rank::pirat = 132	rank::tropek = 1command /top:	trigger:		set {_top::*} to {rank::*} sorted from highest to lowest with output "@index (@value)"		loop {_top::*}:			send "%loop-index%. %loop-value%"
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-32872
Udostępnij na innych stronach

Hmm..

Za pomocą dodatku RandomSK można stworzyć topkę w 3 linijkach (jak znajdę czas to dokładniej to opiszę):

variables:	rank::parrot = 12	rank::user = 5	rank::login = 0	rank::norbi = 9	rank::sopher = 17	rank::pirat = 132	rank::tropek = 1command /top:	trigger:		set {_top::*} to {rank::*} sorted from highest to lowest with output "@index (@value)"		loop {_top::*}:			send "%loop-index%. %loop-value%"

Ciekawe.. ciekawe. Dodaj to do swojego dodatku.
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-32873
Udostępnij na innych stronach

jak zrobić aby było można dodać do topki na tabie?

Musisz wyświetlić wartości z posortowanej listy za pomocą obiektu z ws na tabie.

Czyli podczas tworzenia obiektu w odpowiednie sloty musisz wpisać kolejne wartości z posortowanej listy.

Tutaj masz poradnik jak korzystać z tego obiektu: klik

Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-32879
Udostępnij na innych stronach

PiratJaskiniowy

Jak to zrobić? Coś takiego:

every 30 second:    set {_strony} to rounded up (size of {rank.r::*} / 5)    arg is between 1 and {_strony}:        loop {rank.r::*}:            set {_lista::%loop-index%} to loop-value        set {_num} to size of {_lista::*}        set {_max} to arg * 5        set {_min} to {_max} - 4        loop {_max} times:            loop {_lista::*}:                {_wartosc.%loop-number%} is not set:                    set {_wartosc.%loop-number%} to loop-value                    set {_nazwa.%loop-number%} to loop-index                loop-value is more than {_wartosc.%loop-number%}:                    set {_wartosc.%loop-number%} to loop-value                    set {_nazwa.%loop-number%} to loop-index            remove {_wartosc.%loop-number%} from {_lista::*}        loop {_max} times:            loop-number is between {_min} and {_max}            loop-number <= {_num}:            	set {tab.%{_r}%} to "%{nick.n::%{_nazwa.%loop-number%}%}% (%{_wartosc.%loop-number%}%"                set {tab.%loop-number%} to "%{nick.n::%{_nazwa.%loop-number%}%}% (%{_wartosc.%loop-number%}%)"        {_max} is more than {_num}:            set {_r} to {_num}            loop {_max} - {_num} times:                add 1 to {_r}    {_num} is less than 15:        set {_r} to {_num}        loop 15 - {_num} times:            add 1 to {_r}            set {tab.%{_r}%} to "???"            stop
Edytowane przez volumeTV
Odnośnik do komentarza
https://skript.pl/temat/6-skript-sortowanie-listy-zmiennych-tworzymy-top-5/#findComment-32933
Udostępnij na innych stronach

  • Szifter zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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