-- LUA Script - precede every function and global member with lowercase name of script + '_main' local U = require "scriptbank\\utillib" local hitSprite = hitSprite or CreateSprite( LoadImage( "gamecore\\crosshairs\\crosshair14.png" )) SetSpritePosition( hitSprite, 250, 250 ) SetSpriteSize( hitSprite, -1, 10 ) SetSpriteOffset( hitSprite, -1, 5 ) function hit_marker_init( e ) end local enemies = {} local function getEnemies() -- first get a list of active entities within default activation range of player local elist = U.ClosestEntities( 3000, 20 ) -- 3000 units, closest 20 entities for _, v in pairs( elist ) do -- is the entity not already a known enemy? if enemies[ v ] == nil and ai_bot_state[ v ] ~= nil then enemies[ v ] = { health = g_Entity[ v ].health } end end end local function enemyHurt() for k, v in pairs( enemies ) do local Ent = g_Entity[ k ] if Ent ~= nil and Ent.health < v.health then v.health = Ent.health return true end end return false end local timer1 = 0 local timer2 = 0 local showImage = false local showTime = 200 function hit_marker_main( e ) local timeNow = g_Time if timeNow > timer1 then getEnemies() timer1 = timer1 + 1000 end if g_PlayerGunFired == 1 then if enemyHurt() then showImage = true SetSpritePosition( hitSprite, 50, 50 ) timer2 = timeNow + showTime end end if showImage and timeNow > timer2 then SetSpritePosition( hitSprite, 250, 250 ) showImage = false end end