-- LUA Script - precede every function and global member with lowercase name of script + '_main' local sprites = {} local spriteImage = spriteImage or LoadImage( "scriptbank\\radar\\radar-white.png" ) local maxSprites = 2000 local minSize = 4 local maxSize = 15 local alpha = 30 local speed = 0.33 function spritefun_init( e ) end local rand = math.random local modf = math.modf local function randCol() return modf( rand( 0, 255 ) ) end local function randomSprite() local spr = CreateSprite( spriteImage ) local size = rand( minSize, maxSize ) SetSpriteSize ( spr, -1, size ) SetSpriteOffset ( spr, -1, size / 2 ) local x = rand( -size / 2, 100 + size / 2 ) local y = rand( -size / 2, 100 + size / 2 ) SetSpritePosition ( spr, x, y ) SetSpriteDepth ( spr, rand( 0, 100 ) ) SetSpriteColor ( spr, randCol(), randCol(), randCol(), alpha ) return { spr = spr, x = x, y = y, size = size } end local function updateSprites() for _, v in pairs( sprites ) do v.y = v.y + speed if v.y > 100 + v.size / 2 then v.y = -v.size / 2 v.x = rand( -v.size / 2, 100 + v.size / 2 ) SetSpriteColor ( v.spr, randCol(), randCol(), randCol(), alpha ) end SetSpritePosition ( v.spr, v.x, v.y ) end end function spritefun_main( e ) if sprites[ 1 ] == nil then for i = 1, maxSprites do sprites[ i ] = randomSprite() end return end updateSprites() end