-- 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" )) local killSprite = killSprite or CreateSprite( LoadImage( "gamecore\\crosshairs\\crosshair15.png" )) SetSpritePosition( hitSprite, 250, 250 ) SetSpriteSize( hitSprite, -1, 10 ) SetSpriteOffset( hitSprite, -1, 5 ) SetSpritePosition( killSprite, 250, 250 ) SetSpriteSize( killSprite, -1, 10 ) SetSpriteOffset( killSprite, -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 if v.health > 0 then return 1 else return 2 end end end return 0 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 local tempEnemyHurt = enemyHurt() if tempEnemyHurt > 0 then if tempEnemyHurt == 1 then SetSpritePosition( hitSprite, 50, 50 ) else SetSpritePosition( killSprite, 50, 50 ) end showImage = true timer2 = timeNow + showTime end end if showImage and timeNow > timer2 then SetSpritePosition( hitSprite, 250, 250 ) SetSpritePosition( killSprite, 250, 250 ) showImage = false end end