Skocz do zawartości
  • 0

kolorki


TeZetYT

Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
W dniu 17.06.2024 o 16:50, TeZetYT napisał:

witam napisze ktoś dla mnie skrypt na to, że gdy na czacie napisze <nb> to każda litera PO <nb> będzie niebieska?

Chciałbym dopytać, bo albo Pan źle sformułował zlecenie, albo też Pan, który podjął się go, źle zrozumiał jego treść.

Czy tylko jedna litera ma być pokolorowana po każdorazowym wystąpieniu <nb>, czy też reszta wiadomości po tym słowie ma być w całości pokolorowana? Jeśli to drugie, zlecenie zostało dobrze wykonane i kod powinien działać bez zarzutu. Jeśli jednak chodziło o to pierwsze, kod trzeba będzie nieco zmodyfikować.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57668-kolorki/#findComment-343050
Udostępnij na innych stronach

  • 0
2 godziny temu, Kormic napisał:

Chciałbym dopytać, bo albo Pan źle sformułował zlecenie, albo też Pan, który podjął się go, źle zrozumiał jego treść.

Czy tylko jedna litera ma być pokolorowana po każdorazowym wystąpieniu <nb>, czy też reszta wiadomości po tym słowie ma być w całości pokolorowana? Jeśli to drugie, zlecenie zostało dobrze wykonane i kod powinien działać bez zarzutu. Jeśli jednak chodziło o to pierwsze, kod trzeba będzie nieco zmodyfikować.

Pozdrawiam.

znaczy troche skomplikowane to, bo ja chciałem zobaczyć jak to się robi, bo tak na prawde moim celem nie jest kolorowanie wiadomości tylko kolorowe wiadomości po takim własnie np. <rainbow> i po prostu zadałem pytanie jak zrobić coś takiego bo liczyłem że jak ktoś mi to wyśle to pod kolorową wiadomość już sam sobie to zmodyfikuje... Mam nadzieje że rozumie Pan o co chodzi.

Odnośnik do komentarza
https://skript.pl/temat/57668-kolorki/#findComment-343056
Udostępnij na innych stronach

  • 0
2 godziny temu, TeZetYT napisał:

znaczy troche skomplikowane to, bo ja chciałem zobaczyć jak to się robi, bo tak na prawde moim celem nie jest kolorowanie wiadomości tylko kolorowe wiadomości po takim własnie np. <rainbow> i po prostu zadałem pytanie jak zrobić coś takiego bo liczyłem że jak ktoś mi to wyśle to pod kolorową wiadomość już sam sobie to zmodyfikuje... Mam nadzieje że rozumie Pan o co chodzi.

No dobrze. W takim razie prosiłbym Pana, aby zmienił Pan tytuł wątku na taki związany z kolorowaniem tekstu na tęczowo od miejsca wystąpienia frazy "<rainbow>".
Wracając do meritum, udostępniam Panu poniżej napisaną przeze mnie funkcję kolorującą dowolny tekst na tęczowo.

function rainbowText(t: text) :: text:
	set {_k::*} to "4,c,6,e,a,2,9,d" split at ","
	set {_t::*} to {_t} split at ""
	set {_kIndex} to random integer between 1 and (size of {_k::*})
	set {_colorText} to ""
	loop {_t::*}:
		if loop-value matches "\s":
			set {_colorText} to "%{_colorText}%%loop-value%"
			continue
		set {_s} to "&%{_k::%{_kIndex}%}%"
		set {_colorText} to "%{_colorText}%%{_s}%%loop-value%"
		if {_kIndex} = (size of {_k::*}):
			set {_kIndex} to 1
			continue
		add 1 to {_kIndex}
	return coloured {_colorText}

Oczywiście to nie całość, gdyż Pan chce, aby od miejsca wystąpienia wyżej wspomnianej frazy, tekst był kolorowany na tęczowo. Dlatego też przyda się jeszcze jedna funkcja wykrywająca ją (frazę) i interpretującą w odpowiedni sposób.

function parseRainbowKeyword(t: text) :: text:
	{_t} doesn't contain "<rainbow>":
		return {_t}
	set {_rainbowIndex} to first index of "<rainbow>" in {_t}
	set {_textToColor} to {_t}
	replace all "<rainbow>" in {_t} with ""
	set {_subBasic} to first ({_rainbowIndex} - 1) characters of {_t}
	set {_subRainbow} to last ((length of {_t}) - {_rainbowIndex} + 1) characters of {_t}
	set {_colouredText} to "%{_subBasic}%%rainbowText({_subRainbow})%"
	return {_colouredText}

Mając obie powyższe funkcje, wywołujemy drugą z nich ('parseRainbowKeyword') tam gdzie tego potrzebujemy. Przykłady poniżej.

command /testrainbow [<text="Hello <rainbow>world!">]:
	trigger:
		send parseRainbowKeyword(arg) to sender
		
on chat:
	set message to parseRainbowKeyword(message)

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57668-kolorki/#findComment-343058
Udostępnij na innych stronach

  • 0
39 minut temu, Kormic napisał:

No dobrze. W takim razie prosiłbym Pana, aby zmienił Pan tytuł wątku na taki związany z kolorowaniem tekstu na tęczowo od miejsca wystąpienia frazy "<rainbow>".
Wracając do meritum, udostępniam Panu poniżej napisaną przeze mnie funkcję kolorującą dowolny tekst na tęczowo.

function rainbowText(t: text) :: text:
	set {_k::*} to "4,c,6,e,a,2,9,d" split at ","
	set {_t::*} to {_t} split at ""
	set {_kIndex} to random integer between 1 and (size of {_k::*})
	set {_colorText} to ""
	loop {_t::*}:
		if loop-value matches "\s":
			set {_colorText} to "%{_colorText}%%loop-value%"
			continue
		set {_s} to "&%{_k::%{_kIndex}%}%"
		set {_colorText} to "%{_colorText}%%{_s}%%loop-value%"
		if {_kIndex} = (size of {_k::*}):
			set {_kIndex} to 1
			continue
		add 1 to {_kIndex}
	return coloured {_colorText}

Oczywiście to nie całość, gdyż Pan chce, aby od miejsca wystąpienia wyżej wspomnianej frazy, tekst był kolorowany na tęczowo. Dlatego też przyda się jeszcze jedna funkcja wykrywająca ją (frazę) i interpretującą w odpowiedni sposób.

function parseRainbowKeyword(t: text) :: text:
	{_t} doesn't contain "<rainbow>":
		return {_t}
	set {_rainbowIndex} to first index of "<rainbow>" in {_t}
	set {_textToColor} to {_t}
	replace all "<rainbow>" in {_t} with ""
	set {_subBasic} to first ({_rainbowIndex} - 1) characters of {_t}
	set {_subRainbow} to last ((length of {_t}) - {_rainbowIndex} + 1) characters of {_t}
	set {_colouredText} to "%{_subBasic}%%rainbowText({_subRainbow})%"
	return {_colouredText}

Mając obie powyższe funkcje, wywołujemy drugą z nich ('parseRainbowKeyword') tam gdzie tego potrzebujemy. Przykłady poniżej.

command /testrainbow [<text="Hello <rainbow>world!">]:
	trigger:
		send parseRainbowKeyword(arg) to sender
		
on chat:
	set message to parseRainbowKeyword(message)

Pozdrawiam.

dziękuje działa bez żadnych błędów 😮 mogłby Pan jeszcze dodać, że jak dodam tam np. <blue> to wiadomość przestaje być kolorowa?

Odnośnik do komentarza
https://skript.pl/temat/57668-kolorki/#findComment-343059
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ę...