Function entityLight(entity,light,inten#=0.5,hull=False) ox#=EntityX(light) oy#=EntityY(light) oz#=EntityZ(light) inten =0.5 ;If Not hull inten=1.-inten tp=CreatePivot() PositionEntity tp,EntityX(light),EntityY(light),EntityZ(light) TFormPoint ox,oy,oz,tp,entity ;FreeEntity tp light=tp PositionEntity light,TFormedX(),TFormedY(),TFormedZ() ;Transpose light into dx# =(EntityX(light)-EntityX( entity));*inten dy# =(EntityY(light)-EntityY( entity));*inten dz# =(EntityZ(light)-EntityZ( entity));*inten nl#=Sqr(dx*dx+dy*dy+dz*dz) nx#=dx/nl ny#=dy/nl nz#=dz/nl nl#=(nl*10.-255.)/255. nl=1.-nl If nl>1. nl=1 If nl<0. nl=0 nl=in nx=nx;*inten ny=ny;*inten nz=nz;*inten ;nz=(Sgn(nz))+nz ;nx=(Sgn(nx))+nx ;ny=(Sgn(ny))+ny ;If nx<0 nx FreeEntity tp EntityColor entity,128.+(128.*nx),128.+(128.*nz),128.+(128.*ny) ;EntityColor entity,256+(256*nx),256.0+(256*ny),256.0+(256*nt) ;PositionEntity light,ox,oy,oz ;return light. End Function
ripped it from some old code of mine..could do with cleaning up a little, but it worked fine for me. Light = light pivot, entity =entity to light, inten =light strength, hull=internal or exteneral.