Myślałem, że skrypt lua (uruchomiony przez Conky ) będzie dobrym narzędziem do tego zadania. W Internecie jest mnóstwo zwariowanych przykładów (np. Tu i tutaj ), których można użyć, aby na przykład padał śnieg na pulpicie tylko wtedy, gdy na zewnątrz pada śnieg.
Widziałem na forum, że jakiś facet opublikował kilka samouczków wideo na temat pisania skryptu lua dla fajerwerków, a także śniegu, ale niestety zabrał je z YouTube ...
Pozostał jednak trochę kodu, który mógłby zostać użyty jako szablon, ale niestety nie działa w oderwaniu.
Gdybym miał czas i ochotę nauczyć się lua i samemu to naprawić, oto co bym zrobił:
- Zainstaluj conky. Mint prawdopodobnie ma to w menedżerze pakietów.
- Zapisz gdzieś fragment śniegu (np. ~ / .Conky / lua / snowfall.lua)
Dodaj następujące wiersze do ~ / .conkyrc
lua_load /path/to/home/.conky/lua/snowfall.lua
lua_draw_hook_pre snowday
Uruchom conky
. Poszukaj błędów, a w razie potrzeby debuguj / komentuj / dodaj funkcje / dodaj funkcje ...
Jest to podstawa snowday
funkcji, którą może wykorzystać conky
. Naprawdę chciałbym zobaczyć tę pracę!
Czego brakuje? Te timer
i Vector
klasy, co najmniej ..
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