HSVToColor
Örnek
Bir yardımcı function for gökkuşağı metnini çiziyor.
local function DrawRainbowText( frequency, str, font, x, y )
surface.SetFont( font )
surface.SetTextPos( x, y )
for i = 1, #str do
local col = HSVToColor( i * frequency % 360, 1, 1 ) -- surface. SetTextColor yerine 3 sayı sağlamak
surface.SetTextColor( col.r, col.g, col.b ) -- tek bir renk daha hızlı.
surface.DrawText( string.sub( str, i, i ) )
end
end
- Sert renkli gökkuşağı, yukarıdaki örneğe göre daha hızlı
local function DrawSimpleRainbowText( speed, str, font, x, y )
surface.SetFont( font )
surface.SetTextColor( HSVToColor( ( CurTime() * speed ) % 360, 1, 1 ) )
surface.SetTextPos( x, y )
surface.DrawText( str )
end
hook.Add( "HUDPaint", "RainbowPuke", function()
DrawRainbowText( 10, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 5 )
DrawSimpleRainbowText( 100, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 55 )
end )
Çıkış: 

Örnek
Bir yardımcı function for sohbette gökkuşağı metnini yazdırıyor.
local function PrintRainbowText( frequency, str )
local text = {}
local len = #text
for i = 1, #str do
text[len + 1] = HSVToColor( i * frequency % 360, 1, 1 )
text[len + 2] = string.sub( str, i, i )
len = len + 2
end
-- Chat için yazdırmak, konsol için de baskı yapmak
chat.AddText( unpack( text ) )
-- Sadece konsolda yazdırmak için yorum bırak, sunucu tarafında da çalışıyor.
-- MsgC( paket aç (( metin)) )
end
- Sayı ne kadar yüksekse, renk her karakter arasında o kadar hızlı değişir.
PrintRainbowText( 10, "Hello world!" )
Çıkış:


Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord