Skocz do zawartości
  • 0

Loopowanie nicku gracza...


RaZer
 Udostępnij

Pytanie

Witam szukam możliwości na loopowanie nicku gracza, a raczej każdej jego literki. Chodzi mi o to, że chcę stworzyć skript na zmianę koloru literki w nicku i chcę żeby gracz mógł sobie ją zmienić sam za pomocą specjalnego gui.

NP. Mamy gracza o nicku XyZ i chcę aby każda literka z jego nicku była w innym slocie w gui i wtedy taki gracz klika sobie literkę którą chce pokolorować i wybiera sobie kolor i w ten sposób zmienia sobie kolor tej literki.

Czy jest to w ogóle wykonalne?

Odnośnik do komentarza
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 1
8 minut temu, RaZer napisał:

Witam szukam możliwości na loopowanie nicku gracza, a raczej każdej jego literki. Chodzi mi o to, że chcę stworzyć skript na zmianę koloru literki w nicku i chcę żeby gracz mógł sobie ją zmienić sam za pomocą specjalnego gui.

NP. Mamy gracza o nicku XyZ i chcę aby każda literka z jego nicku była w innym slocie w gui i wtedy taki gracz klika sobie literkę którą chce pokolorować i wybiera sobie kolor i w ten sposób zmienia sobie kolor tej literki.

Czy jest to w ogóle wykonalne?

Masz w internecie funkcje zamieniające tekst na tęczowy.

Wyszukaj sobie "skript rainbow text".

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

użyj wyrażenia Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! - dzięki niemu można podzielić dany tekst na pomiędzy na kilka części zawierające się pomiędzy danym znakiem\ciągiem znaków
jeżeli chcesz mieć tekst podzielony na pojedyncze znaki wtedy używasz split at ""

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@RaZer  nie spam mi na pw bo od tego masz temat, więc proponuję wszystko co mi wysłałeś przesłać tutaj.

(nie tylko ja tu odpowiadam w tematach, ktoś inny też może ci wyjaśnić co nie działa, więc sobie nie wybieraj tego kto ma ci pomagać)

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

  • 0
Teraz, RaZer napisał:

@PanMaruda mordo nie chce tego udostępniać bo się pewnie ośmieszę... dlatego pisałem na pw i oczekuję tam odpowiedzi :)

zatem powodzenia w oczekiwaniu bo ja tego nawet nie czytałem i - uwaga spojler - na pewno nie mam zamiaru odpisywać.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
2 godziny temu, RaZer napisał:

@PanMaruda mordo nie chce tego udostępniać bo się pewnie ośmieszę... dlatego pisałem na pw i oczekuję tam odpowiedzi :)

Nie ośmieszysz się. Po to jest ten dział, aby zadawać pytania, nawet jeżeli wydają się głupie.

Nikt nie oczekuje od ciebie, że będziesz miał Skripta w małym palcu. Są tutaj pomagający użytkownicy od tego i ci pomogą.

Tak więc jeżeli możesz, podziel się tutaj swoim problemem, a wyjaśnimy ci to.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@Kormic dobrze a więc mam coś takiego i czy to jest poprawnie zrobione?

command /gui:
    trigger:
        set {_p} to player's name
        set {_l::*} to {_p} split at ""
        set {_n} to number of {_l::*} -1
        open chest with 2 row named "gui" to player
        set {_slot} to 0
        loop {_n} times:
            set player's current inventory's slot {_slot} to paper with name "&o&l%{_l::%loop-value%}%" with lore "siema"
            add 1 to {_slot}
        send "%{_l::*}% %{_n}%"

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
2 minuty temu, RaZer napisał:

@Kormic dobrze a więc mam coś takiego i czy to jest poprawnie zrobione?

Z tego co widzę to tak, jest poprawnie zrobione.

Zamieniłbym jedynie 'open chest' na 'open chest inventory', aby nie było wymagane SkQuery do działania skryptu.

Jeszcze co do kodu, zmienna '{_slot}' jest niepotrzebna. Możesz zamiast niej użyć '(loop-number - 1)' (czyli wtedy pętla zajmie dwie linijki).

Ostatnia rzecz to to, że nie trzeba ustawiać zmiennej '{_p}', gdyż 'player's name' możesz od razu użyć przy split'cie. Oczywiście jak lubisz porządek w kodzie i przeszkadza ci to, zostaw tak jak masz.

Podsumowując, na twoim miejscu poprawiłbym parę drobnostek, ale poza tym to wszystko jest dobrze.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@Kormic

Poprawiłem jak mówiłeś lecz teraz kolejne pytanie ...

command /gui:
    trigger:
        set {_l::*} to player's name split at ""
        set {_n} to number of {_l::*} -1
        open chest inventory with 2 row named "gui" to player
        loop {_n} times:
            set player's current inventory's slot (loop-number - 1) to paper with name "%{_l::%loop-value%}%" with lore "siema"
        send "%{_l::*}% %{_n}%"

on inventory click:
    if name of event-inventory is "gui":
        if event-slot is not air:
            cancel event
            set {_l::*} to player's name split at ""
            set {_n} to number of {_l::*} -1
            loop {_n} times:
                send "%{_l::%loop-value%}%"
                if name of event-slot is "%{_l::%loop-value%}%":
                    send "ok jest!"

mam sobie taki inventory click niby działa wszystko oki ale tego if'a gdzie jest name of event-slot bym się przyczepił bo nie bardzo wiem czy to jest prawidłowo, niby żadnych błędów nie sypie. A i kolejne pytanie w moim nicku są dwie litery duże R i małe r i ł właśnie ten if sprawdza jakby te dwie literki na raz, a koniecznie muszę zrobić, żeby sprawdzało 1 jak mogę to ogarnąć?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
1 minutę temu, RaZer napisał:

mam sobie taki inventory click niby działa wszystko oki ale tego if'a gdzie jest name of event-slot bym się przyczepił bo nie bardzo wiem czy to jest prawidłowo, niby żadnych błędów nie sypie.

Sprawdzasz czy kliknięty slot nie jest powietrzem. Powinno bezproblemowo zadziałać.

1 minutę temu, RaZer napisał:

A i kolejne pytanie w moim nicku są dwie litery duże R i małe r i ł właśnie ten if sprawdza jakby te dwie literki na raz, a koniecznie muszę zrobić, żeby sprawdzało 1 jak mogę to ogarnąć?

Niby rozumiem, ale nie rozumiem. Chociaż...

Chodzi ci o to, że wysyła ci podwójnie wiadomość, tak?

W takim wypadku musiałbyś sobie zapisywać jakoś indeks (kolejność w nicku) tej literki.

Mimo wszystko możliwe, że się nie zrozumieliśmy. Jeżeli rzeczywiście tak jest, prosiłbym o wyjaśnienie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@Kormic załóżmy, że mój nic to XYZxyz i w tym nicku są już powtórki liter 2x,  2y oraz 2z i teraz pytanie otwiera mi się gui w którym wszystko jest prawidłowo rozmieszczone ale jeśli kliknę np na duże X to jednocześnie złapie mi małe x i będzie konflikt. Muszę każda literka będzie kolorowana osobno o to mi chodzi dlatego tak ważne jest, żeby każda z nich była pojedyncza nie ważne czy jest duża czy mała ma być pojedynczo ustawiany kolor.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
1 minutę temu, RaZer napisał:

@Kormic załóżmy, że mój nic to XYZxyz i w tym nicku są już powtórki liter 2x,  2y oraz 2z i teraz pytanie otwiera mi się gui w którym wszystko jest prawidłowo rozmieszczone ale jeśli kliknę np na duże X to jednocześnie złapie mi małe x i będzie konflikt. Muszę każda literka będzie kolorowana osobno o to mi chodzi dlatego tak ważne jest, żeby każda z nich była pojedyncza nie ważne czy jest duża czy mała ma być pojedynczo ustawiany kolor.

W takim razie może sobie to sprawdzaj po numerze slotu (np. 5) i ustawiaj kolor dla literki o tym indeksie (w tym przykładzie 5).

Może to rozwiąże twój problem?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
4 minuty temu, RaZer napisał:

@Kormic w jaki sposób mogę to zrobić?

Jeżeli miałbym to zrobić, po prostu sprawdzałbym sobie 'index of clicked slot' i ustawiał kolor dla literki '{_l::%index of clicked slot%}'.

Z tego co zrozumiałem, chcesz aby gracze mogli sobie pojedynczo ustawiać kolory literek.

Będziesz gdzieś musiał zapisywać sobie kolory każdej z literek, np. w jakiejś liście zmiennych gracza.

set {letterColour::%player%::1} to "&c"
# Czyli jak mamy literę nazwy nr 1:
"&cR" # Dla nazwy RaZer

Coś takiego.

Odnośnik do komentarza
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.

 Udostępnij

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

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