Я думав, що сценарій lua (розпочатий Конкі ) буде хорошим інструментом для цієї роботи. В Інтернеті є безліч химерних прикладів (наприклад, тут і тут ), які можна використати, щоб сніг на робочому столі був лише тоді, коли сніг знаходиться на вулиці.
Я побачив на форумі, що якийсь хлопець опублікував кілька відеоуроків про те, як написати сценарій луа для феєрверків, а також снігу, але, на жаль, він зняв їх з YouTube ...
Однак є якийсь код, що залишився, який можна використовувати як шаблон, але, на жаль, не працює ізольовано.
Якби у мене був час і схильність навчитися луа і самостійно виправити це, ось що я зробив би:
- Встановіть conky. Монетний двір, мабуть, має його в своєму менеджері пакетів.
- Збережіть фрагмент снігопаду десь (наприклад, ~ / .conky / lua / snowfall.lua)
Додайте наступні рядки до ~ / .conkyrc
lua_load /path/to/home/.conky/lua/snowfall.lua
lua_draw_hook_pre snowday
Біжи conky
. Шукайте помилки, а налагоджуйте / коментуйте рядки / додайте функції, де це необхідно ...
Це основи snowday
функції, якими користується conky
. Я хотів би побачити цю роботу насправді!
Чого не вистачає? В timer
і Vector
класи, по крайней мере ..
function conky_snowday()
timer.Stop("fuller")
local emt2 = ParticleEmitter(Vector(0,0,400))
timer.Create("fuller", 0.1, 0, function()
for i=1, 1000 do
local snowparty = emt2:Add("particle/snow",LocalPlayer():GetPos() + Vector(0,0,1000))
snowparty:SetVelocity(Vector(math.random(-700,700),math.random(-700,700),math.random(-300,-100)))
snowparty:SetDieTime(4)
snowparty:SetStartAlpha(0)
snowparty:SetEndAlpha(255)
snowparty:SetStartSize(5)
snowparty:SetEndSize(math.random(0,3))
snowparty:SetColor(255,255,255)
snowparty:SetRoll(math.random(0,360))
end
end)
emt2:Finish()
end
make
make clean
make install