-- LUA Script - precede every function and global member with lowercase name of script + '_main' local U = require "scriptbank\\utillib" g_eyeIcon = g_eyeIcon or nil g_eyeOn = g_eyeOn or {} local names = {} local eyeSize = 15 local eyeOn = g_eyeOn local destroyTimer = {} local function playerCanSee( e ) local Ent = g_Entity[ e ] local pxp, pyp, pyz = g_PlayerPosX, g_PlayerPosY, g_PlayerPosZ if GetGamePlayerStatePlayerDucking() == 0 then pyp = pyp + 31 else pyp = pyp + 10 end return IntersectAll( Ent.x, Ent.y + 1, Ent.z, pxp, pyp, pzp, Ent.obj ) == 0 end function item_info_init_name( e, name ) Include( "utillib.lua" ) names[ e ] = name end function item_info_main( e ) if g_eyeIcon == nil then g_eyeIcon = CreateSprite( LoadImage( "scriptbank\\images\\eye1.png" ) ) SetSpriteOffset ( g_eyeIcon, -1 , eyeSize / 2 ) SetSpriteSize ( g_eyeIcon, -1 , eyeSize ) SetSpriteDepth ( g_eyeIcon, 0 ) SetSpritePosition( g_eyeIcon, 250, 250 ) eyeOn[ e ] = false end if U.PlayerLookingNear( e, 100, 20 ) and playerCanSee( e ) then if not eyeOn[ e ] then SetSpritePosition( g_eyeIcon, 50, 50 ) eyeOn[ e ] = true return end elseif eyeOn[ e ] then eyeOn[ e ] = false for _, v in pairs( eyeOn ) do if v then return end end SetSpritePosition( g_eyeIcon, 250, 250 ) end if eyeOn[ e ] then Prompt( "You've found a " .. names[ e ] ) end end