Privatny p100 DT Airlag Break LC Teleport Exploit
-
Автор темы
- #1
Красивый переливающийся градиент где цвета "перетекают" из одного в другой.
Всмыслепопробуй через local сделать
он хуевейшим образом троллитВсмысле
да всм троллю, у меня градиент через local сделан...он хуевейшим образом троллит
Тогда он додикон хуевейшим образом троллит
local gradient = {
{ 255, 0, 0 }, -- Красный
{ 255, 165, 0 }, -- Оранжевый
{ 255, 255, 0 }, -- Желтый
{ 0, 255, 0 }, -- Зеленый
{ 0, 0, 255 }, -- Синий
{ 75, 0, 130 }, -- Индиго
{ 238, 130, 238 } -- Фиолетовый
}
local gradient_width = 200 -- Ширина градиента в пикселях
local gradient_height = 50 -- Высота градиента в пикселях
for i = 1, gradient_width do
local x = i / gradient_width
local r, g, b = 0, 0, 0
for j = 1, #gradient do
local stop = (j - 1) / (#gradient - 1)
local distance = math.abs(x - stop)
local weight = 1 - distance
weight = weight * weight * weight
r = r + gradient[j][1] * weight
g = g + gradient[j][2] * weight
b = b + gradient[j][3] * weight
end
draw.Color(r, g, b, 255)
draw.FilledRect(i - 1, 0, i, gradient_height)
end
Код использует массив цветов, чтобы определить цветовую схему градиента. Затем он создает градиент, используя эти цвета и мат. формулу для определения, как смешивать цвета. Каждый пиксель градиента вычисляется отдельно, и для каждого пикселя вычисляется новый цвет, который затем используется для заполнения прямоугольника этого пикселя.Код:local gradient = { { 255, 0, 0 }, -- Красный { 255, 165, 0 }, -- Оранжевый { 255, 255, 0 }, -- Желтый { 0, 255, 0 }, -- Зеленый { 0, 0, 255 }, -- Синий { 75, 0, 130 }, -- Индиго { 238, 130, 238 } -- Фиолетовый } local gradient_width = 200 -- Ширина градиента в пикселях local gradient_height = 50 -- Высота градиента в пикселях for i = 1, gradient_width do local x = i / gradient_width local r, g, b = 0, 0, 0 for j = 1, #gradient do local stop = (j - 1) / (#gradient - 1) local distance = math.abs(x - stop) local weight = 1 - distance weight = weight * weight * weight r = r + gradient[j][1] * weight g = g + gradient[j][2] * weight b = b + gradient[j][3] * weight end draw.Color(r, g, b, 255) draw.FilledRect(i - 1, 0, i, gradient_height) end
p.s чита нема, так что в игре не проверял на работоспособность. (Но по идеи должен работать).
p.s2 не паста, прямо сейчас написал =)
А что именно надо? Для какой луа? Или вообще куда и зачем тебе гардиент нужен.Посмотреть вложение 241353
Немного не то
Типа что бы один цвет в градиенте плавно переходил в другой.А что именно надо? Для какой луа? Или вообще куда и зачем тебе гардиент нужен.
А где именно хочешь? Что бы что переливалось?Типа что бы один цвет в градиенте плавно переходил в другой.
ахуенно объяснил, понятно прям стало, через local сделайТипа что бы один цвет в градиенте плавно переходил в другой.
local gradient_width = 200 -- Ширина градиента в пикселях
local gradient_height = 50 -- Высота градиента в пикселях
local gradient_duration = 2 -- Длительность переливания в секундах
local gradient_colors = {
{ 255, 0, 0 }, -- Красный
{ 255, 165, 0 }, -- Оранжевый
{ 255, 255, 0 }, -- Желтый
{ 0, 255, 0 }, -- Зеленый
{ 0, 0, 255 }, -- Синий
{ 75, 0, 130 }, -- Индиго
{ 238, 130, 238 } -- Фиолетовый
}
local function lerp(a, b, t)
return a * (1 - t) + b * t
end
local function color_lerp(c1, c2, t)
local r = lerp(c1[1], c2[1], t)
local g = lerp(c1[2], c2[2], t)
local b = lerp(c1[3], c2[3], t)
return { r, g, b }
end
local function get_gradient_color(t)
local num_stops = #gradient_colors
local stop_size = 1 / (num_stops - 1)
local stop_index = math.floor(t / stop_size) + 1
local stop_t = (t - (stop_index - 1) * stop_size) / stop_size
if stop_index == num_stops then
return gradient_colors[num_stops]
end
return color_lerp(gradient_colors[stop_index], gradient_colors[stop_index + 1], stop_t)
end
callbacks.Register("Draw", function()
local t = globals.RealTime() % gradient_duration / gradient_duration
for i = 1, gradient_width do
local x = i / gradient_width
local color = get_gradient_color(x + t)
draw.Color(color[1], color[2], color[3], 255)
draw.FilledRect(i - 1, 0, i, gradient_height)
end
end)
В правом верхнем углу, анимированный, переливающийся гардиент? Верно?что бы цвет переливался
1.Посмотреть вложение 241355
2.Посмотреть вложение 241356
3.Посмотреть вложение 241357
И потом в правый верхний но не могу > чем 3 файла прикреплять
И это всё анимировано
local gradient_width = 200 -- Ширина градиента в пикселях
local gradient_height = 50 -- Высота градиента в пикселях
local gradient_duration = 2 -- Длительность переливания в секундах
local gradient_colors = {
{ 255, 0, 0 }, -- Красный
{ 255, 165, 0 }, -- Оранжевый
{ 255, 255, 0 }, -- Желтый
{ 0, 255, 0 }, -- Зеленый
{ 0, 0, 255 }, -- Синий
{ 75, 0, 130 }, -- Индиго
{ 238, 130, 238 } -- Фиолетовый
}
local function lerp(a, b, t)
return a * (1 - t) + b * t
end
local function color_lerp(c1, c2, t)
local r = lerp(c1[1], c2[1], t)
local g = lerp(c1[2], c2[2], t)
local b = lerp(c1[3], c2[3], t)
return { r, g, b }
end
local function get_gradient_color(t)
local num_stops = #gradient_colors
local stop_size = 1 / (num_stops - 1)
local stop_index = math.floor(t / stop_size) + 1
local stop_t = (t - (stop_index - 1) * stop_size) / stop_size
if stop_index == num_stops then
return gradient_colors[num_stops]
end
return color_lerp(gradient_colors[stop_index], gradient_colors[stop_index + 1], stop_t)
end
local function draw_gradient()
local x = draw.GetScreenSize()
x = x.x - gradient_width - 10 -- 10 пикселей от края экрана
local y = 10 -- 10 пикселей от края экрана
local t = globals.RealTime() % gradient_duration / gradient_duration
for i = 1, gradient_width do
local x_offset = i / gradient_width
local color = get_gradient_color(x_offset + t)
draw.Color(color[1], color[2], color[3], 255)
draw.FilledRect(x + i - 1, y, x + i, y + gradient_height)
end
end
callbacks.Register("Draw", function()
draw_gradient()
end)
Красивый переливающийся градиент где цвета "перетекают" из одного в другой.
Скажу попроще. Мне надо что бы один цвет плавно лерпался в другой и обратно.В правом верхнем углу, анимированный, переливающийся гардиент? Верно?
Короче.. Вот код. Дальше наверное уже сам. Т.к знаешь что именно тебе нужно, только ты. Если нужно объяснение кода - дам.
Анимированный, переливающийся гардиент в правом углу экрана.:local gradient_width = 200 -- Ширина градиента в пикселях local gradient_height = 50 -- Высота градиента в пикселях local gradient_duration = 2 -- Длительность переливания в секундах local gradient_colors = { { 255, 0, 0 }, -- Красный { 255, 165, 0 }, -- Оранжевый { 255, 255, 0 }, -- Желтый { 0, 255, 0 }, -- Зеленый { 0, 0, 255 }, -- Синий { 75, 0, 130 }, -- Индиго { 238, 130, 238 } -- Фиолетовый } local function lerp(a, b, t) return a * (1 - t) + b * t end local function color_lerp(c1, c2, t) local r = lerp(c1[1], c2[1], t) local g = lerp(c1[2], c2[2], t) local b = lerp(c1[3], c2[3], t) return { r, g, b } end local function get_gradient_color(t) local num_stops = #gradient_colors local stop_size = 1 / (num_stops - 1) local stop_index = math.floor(t / stop_size) + 1 local stop_t = (t - (stop_index - 1) * stop_size) / stop_size if stop_index == num_stops then return gradient_colors[num_stops] end return color_lerp(gradient_colors[stop_index], gradient_colors[stop_index + 1], stop_t) end local function draw_gradient() local x = draw.GetScreenSize() x = x.x - gradient_width - 10 -- 10 пикселей от края экрана local y = 10 -- 10 пикселей от края экрана local t = globals.RealTime() % gradient_duration / gradient_duration for i = 1, gradient_width do local x_offset = i / gradient_width local color = get_gradient_color(x_offset + t) draw.Color(color[1], color[2], color[3], 255) draw.FilledRect(x + i - 1, y, x + i, y + gradient_height) end end callbacks.Register("Draw", function() draw_gradient() end)
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz