Skocz do zawartości
  • 0

[Problem] Lista graczy że zmienną.


Pytanie

SIema mam na serwerze poziomy które przyznaję graczom wyrażone w zmiennej {poziom.%player%}

Chciałbym zapisać osobę która wchodzi na serwer do listy w postaci nick gracza oraz w osobnej wartości listy jego poziom np: 
Marek - 5
Kasia -  6

Ważne aby nick oraz poziom był osobnym loop-value np. loop-value-1 to nick a loop-value-2 to poziom.

Poniżej to co mam 
 

on join:
    # Zapisanie nicku i poziomu gracza do listy
    set {listaPoziomow::%player%::nick} to player's name
    set {listaPoziomow::%player%::poziom} to {poziom.%player%}

command /pokazliste:
    trigger:
        # Wypisanie gracz - poziom
        loop {listaPoziomow::*}:
            set {_nick} to {listaPoziomow::%loop-index%::nick}
            set {_poziom} to {listaPoziomow::%loop-index%::poziom}
            send "&a%{_nick}% -  &b%{_poziom}%" to player
            send "&4%loop-value-1%" to player

To co wypisuje
sSQsv0A.png
To co chce zeby wypisało
rBm8ZBb.png
Dodatkowo przy wejściu na serwer powinno sprawdzać czy gracz jest już w liście, jeżeli tak to powinno nadpisać jego obecny poziom.

Pewnie to podstawowy skrypt ale dawno nic nie robiłem i pozapominałem. 
Dziękuje za każdą pomoc <3

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 godzinę temu, shaqupl1 napisał:

SIema mam na serwerze poziomy które przyznaję graczom wyrażone w zmiennej {poziom.%player%}

Chciałbym zapisać osobę która wchodzi na serwer do listy w postaci nick gracza oraz w osobnej wartości listy jego poziom np: 
Marek - 5
Kasia -  6

Ważne aby nick oraz poziom był osobnym loop-value np. loop-value-1 to nick a loop-value-2 to poziom.

Poniżej to co mam 
 

on join:
    # Zapisanie nicku i poziomu gracza do listy
    set {listaPoziomow::%player%::nick} to player's name
    set {listaPoziomow::%player%::poziom} to {poziom.%player%}

command /pokazliste:
    trigger:
        # Wypisanie gracz - poziom
        loop {listaPoziomow::*}:
            set {_nick} to {listaPoziomow::%loop-index%::nick}
            set {_poziom} to {listaPoziomow::%loop-index%::poziom}
            send "&a%{_nick}% -  &b%{_poziom}%" to player
            send "&4%loop-value-1%" to player

To co wypisuje
sSQsv0A.png
To co chce zeby wypisało
rBm8ZBb.png
Dodatkowo przy wejściu na serwer powinno sprawdzać czy gracz jest już w liście, jeżeli tak to powinno nadpisać jego obecny poziom.

Pewnie to podstawowy skrypt ale dawno nic nie robiłem i pozapominałem. 
Dziękuje za każdą pomoc <3

on join:
    if {level::%player's uuid%} is not set:
        set {level::%player's uuid%} to 1

command /pokazliste:
    trigger:
        loop {level::*}:
            send "&c%loop-index parsed as offline player% - %{level::%loop-index%}%"

Nie testowalem.

Nie uzywaj zmiennych z .

 

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345706
Udostępnij na innych stronach

  • 0
18 godzin temu, Fendi napisał:
on join:
    if {level::%player's uuid%} is not set:
        set {level::%player's uuid%} to 1

command /pokazliste:
    trigger:
        loop {level::*}:
            send "&c%loop-index parsed as offline player% - %{level::%loop-index%}%"

Nie testowalem.

Nie uzywaj zmiennych z .

 

Tak jak pisałem wyżej. Zmienna {poziom.%player%} musi zostać użyta ponieważ jest to część innego skripta. Gracze mają już przypisane poziomy. Więc nie może być:

On join set level to 1

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345711
Udostępnij na innych stronach

  • 0
35 minut temu, shaqupl1 napisał:

Tak jak pisałem wyżej. Zmienna {poziom.%player%} musi zostać użyta ponieważ jest to część innego skripta. Gracze mają już przypisane poziomy. Więc nie może być:

On join set level to 1

to przeanalizuj jeszcze raz co ci zrobilem

Ja nie ustawiam od razu tej zmiennej na 1. Ustawiam ją tylko kiedy nie ma przypisanej wartosci

Skoro w innych skryptach używasz zmiennych z . to także je zamień.

A jak masz już zapisane dane na zmiennych z kropką to prostym skryptem można je przenieść

Edytowane przez Fendi
Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345712
Udostępnij na innych stronach

  • 0
47 minut temu, Fendi napisał:

to przeanalizuj jeszcze raz co ci zrobilem

Ja nie ustawiam od razu tej zmiennej na 1. Ustawiam ją tylko kiedy nie ma przypisanej wartosci

Skoro w innych skryptach używasz zmiennych z . to także je zamień.

A jak masz już zapisane dane na zmiennych z kropką to prostym skryptem można je przenieść

Okej. Dzięki. Mógłbyś krótko wytłumaczyć dlaczego nie używać zmiennych z kropka i jak je przenieść. Możesz podać jakiegoś linka z wytłumaczeniem, jak nie chce ci się pisać 😛

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345713
Udostępnij na innych stronach

  • 0
1 godzinę temu, shaqupl1 napisał:

Okej. Dzięki. Mógłbyś krótko wytłumaczyć dlaczego nie używać zmiennych z kropka i jak je przenieść. Możesz podać jakiegoś linka z wytłumaczeniem, jak nie chce ci się pisać 😛

https://forums.minehut.com/topic/48825-skript-common-mistakes-how-to-optimize-your-code/

:: oznacza grupe, skoro zapisujesz większą ilość danych do jednej zmiennej to powinienes użyć grupowej(::). zmienne z . sa dla pojedynczych wartosci

Dodatkowo zmiennych z . nie zapętlisz.

I zgubilem gdzies kod który to automatycznie zamienia. Musisz wejsc w plik ze zmiennymi i poprzez edytor kodu zmienić wszystkie wystąpienia kropek na ::.

Dodatkowo zamiast player, używaj player's uuid. Jest to aktualny standard

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345716
Udostępnij na innych stronach

  • 0
17 godzin temu, Fendi napisał:

https://forums.minehut.com/topic/48825-skript-common-mistakes-how-to-optimize-your-code/

:: oznacza grupe, skoro zapisujesz większą ilość danych do jednej zmiennej to powinienes użyć grupowej(::). zmienne z . sa dla pojedynczych wartosci

Dodatkowo zmiennych z . nie zapętlisz.

I zgubilem gdzies kod który to automatycznie zamienia. Musisz wejsc w plik ze zmiennymi i poprzez edytor kodu zmienić wszystkie wystąpienia kropek na ::.

Dodatkowo zamiast player, używaj player's uuid. Jest to aktualny standard

Przerobiłem skript tak jak mówiłeś. Mam nowe zmienne z wykorzystaniem :: jednak kod który podałeś wyżej nie działa.

send "&c%loop-index parsed as offline player% - %{poziom::%loop-index%}%"

Nie zmienia loop index na nick gracza, otrzymuje <none>. Poziom wyswietla się poprawnie
 

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345723
Udostępnij na innych stronach

  • 0
20 godzin temu, Fendi napisał:

https://forums.minehut.com/topic/48825-skript-common-mistakes-how-to-optimize-your-code/

:: oznacza grupe, skoro zapisujesz większą ilość danych do jednej zmiennej to powinienes użyć grupowej(::). zmienne z . sa dla pojedynczych wartosci

Dodatkowo zmiennych z . nie zapętlisz.

I zgubilem gdzies kod który to automatycznie zamienia. Musisz wejsc w plik ze zmiennymi i poprzez edytor kodu zmienić wszystkie wystąpienia kropek na ::.

Dodatkowo zamiast player, używaj player's uuid. Jest to aktualny standard

Ogarnąłem. Jednak dobrze zrobiłeś. Dziękuje <3

Odnośnik do komentarza
https://skript.pl/temat/58359-problem-lista-graczy-%C5%BCe-zmienn%C4%85/#findComment-345724
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ę...