Cinu2421 22 Opublikowano 15 września 2020 Udostępnij Opublikowano 15 września 2020 (edytowane) on load: set {hex::*} to split "&0|&1|&2|&3|&4|&5|&6|&7|&8|&9|&a|&b|&c|&d|&e|&f" at "|" function rgbToHex(values: numbers) :: string: loop {_values::*}: set {_r} to "%{_r} ? ""&x""%%{hex::%((loop-value - mod(loop-value, 16)) / 16 + 1)%} ? """"%%{hex::%mod(loop-value, 16) + 1%} ? """"%" return {_r} function hslToRgb(h: number, s: number, l: number) :: integers: # set {_h} to {_h}/360 if {_s} = 0: set {_r}, {_g} and {_b} to {_l} else: set {_q} to (({_l} * ({_s} + 1)) if {_l} < 0.5, else ({_l} + {_s} - {_l} * {_s})) set {_p} to (2 * {_l}) - {_q} set {_r} to hueToRgb({_p}, {_q}, {_h} + 1 / 3) set {_g} to hueToRgb({_p}, {_q}, {_h}) set {_b} to hueToRgb({_p}, {_q}, {_h} - 1 / 3) return round(min(255, (255 * {_r}))), round(min(255, (255 * {_g}))) and round(min(255, (255 * {_b}))) function hueToRgb(p: number, q: number, t: number) :: number: add 1 to {_t} if {_t} < 0 remove 1 from {_t} if {_t} > 1 return {_p} + ({_q} - {_p}) * 6 * {_t} if {_t} < 1 / 6 return {_q} if {_t} < 1/2 return {_p} + ({_q} - {_p}) * (2 / 3 - {_t}) * 6 if {_t} < 2 / 3 return {_p} function gradient(input: string, color-from: integers, color-to: integers) :: string: loop {_color-from::*}: set {_i::%loop-index%} to round(({_color-to::%loop-index%} - loop-value) / length of {_input}) loop length of {_input} times: set {_r} to "%{_r} ? """"%%rgbToHex({_color-from::*})%%subtext of {_input} from indices loop-number to loop-number%" set {_color-from::*} to ({_color-from::1} + {_i::1}), ({_color-from::2} + {_i::2}) and ({_color-from::3} + {_i::3}) return colored {_r} command /test [<text>]: trigger: #set {_string} to rgbToHex(255,255,255) #send "%{_string}% %arg-1%" broadcast gradient("%arg-1%",(255,0,0),(255,255,255)) Da rade ktos dodac do tego powiekszanie liter? &l Edytowane 15 września 2020 przez Cinu2421 Cytuj Odnośnik do komentarza https://skript.pl/temat/41652-gradients/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 15 września 2020 Udostępnij Opublikowano 15 września 2020 4 godziny temu, Cinu2421 napisał: on load: set {hex::*} to split "&0|&1|&2|&3|&4|&5|&6|&7|&8|&9|&a|&b|&c|&d|&e|&f" at "|" function rgbToHex(values: numbers) :: string: loop {_values::*}: set {_r} to "%{_r} ? ""&x""%%{hex::%((loop-value - mod(loop-value, 16)) / 16 + 1)%} ? """"%%{hex::%mod(loop-value, 16) + 1%} ? """"%" return {_r} function hslToRgb(h: number, s: number, l: number) :: integers: # set {_h} to {_h}/360 if {_s} = 0: set {_r}, {_g} and {_b} to {_l} else: set {_q} to (({_l} * ({_s} + 1)) if {_l} < 0.5, else ({_l} + {_s} - {_l} * {_s})) set {_p} to (2 * {_l}) - {_q} set {_r} to hueToRgb({_p}, {_q}, {_h} + 1 / 3) set {_g} to hueToRgb({_p}, {_q}, {_h}) set {_b} to hueToRgb({_p}, {_q}, {_h} - 1 / 3) return round(min(255, (255 * {_r}))), round(min(255, (255 * {_g}))) and round(min(255, (255 * {_b}))) function hueToRgb(p: number, q: number, t: number) :: number: add 1 to {_t} if {_t} < 0 remove 1 from {_t} if {_t} > 1 return {_p} + ({_q} - {_p}) * 6 * {_t} if {_t} < 1 / 6 return {_q} if {_t} < 1/2 return {_p} + ({_q} - {_p}) * (2 / 3 - {_t}) * 6 if {_t} < 2 / 3 return {_p} function gradient(input: string, color-from: integers, color-to: integers) :: string: loop {_color-from::*}: set {_i::%loop-index%} to round(({_color-to::%loop-index%} - loop-value) / length of {_input}) loop length of {_input} times: set {_r} to "%{_r} ? """"%%rgbToHex({_color-from::*})%%subtext of {_input} from indices loop-number to loop-number%" set {_color-from::*} to ({_color-from::1} + {_i::1}), ({_color-from::2} + {_i::2}) and ({_color-from::3} + {_i::3}) return colored {_r} command /test [<text>]: trigger: #set {_string} to rgbToHex(255,255,255) #send "%{_string}% %arg-1%" broadcast gradient("%arg-1%",(255,0,0),(255,255,255)) Da rade ktos dodac do tego powiekszanie liter? &l Kod jest dość skomplikowany, ale możesz spróbować w ten sposób: set {_r} to "%{_r} ? """"%%rgbToHex({_color-from::*})%&l%subtext of {_input} from indices loop-number to loop-number%" To jest linijka nr 32. Cinu2421 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/41652-gradients/#findComment-260942 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Cinu2421 22 Opublikowano 15 września 2020 Autor Udostępnij Opublikowano 15 września 2020 Dziala. Cytuj Odnośnik do komentarza https://skript.pl/temat/41652-gradients/#findComment-260943 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Cinu2421 22
Da rade ktos dodac do tego powiekszanie liter? &l
Edytowane przez Cinu2421Odnośnik do komentarza
https://skript.pl/temat/41652-gradients/Udostępnij na innych stronach
2 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
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ą.