Difference between revisions of "Reference Variables for Nearby Actors"

Byline removed
imported>DragoonWraith
(byline)
imported>QQuix
(Byline removed)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Byline}}
Originally posted on [http://www.elderscrolls.com/forums/ Elder Scrolls Forums] by Tegid


----
This is much easier to do with OBSE's [[GetFirstRef|Reference walking functions]].
----




Line 14: Line 14:
  scriptname EntityFinderEffect
  scriptname EntityFinderEffect
   
   
short runOnce
  short NotReported
  short NotReported
  ref self
  ref self
Line 35: Line 36:
     return
     return
   else
   else
     set timer to 0.5
     if (runOnce == 0)
      set timer to 0.5
      set runOnce to 1
    else
   endif
   endif
   if (NotReported == 1)
   if (NotReported == 1)
     if (EnemyFinderRef1.RefsRequested == 0)
     if (EnemyFinderRef1.RefsRequested == 0)
       set NotReported to 0
       set NotReported to 0
     else
     elseif (EnemyFinderRef1.RefsRequested == 1)
      if (EnemyFinderRef1.RefsRequested == 1)
        if (EnemyFinderRef1.ref1full == 0)
        if (EnemyFinderRef1.ref1full == 0)
          set EnemyFinderRef1.ref1full to 1
          set EnemyFinderRef1.ref1full to 1
          set EnemyFinderRef1.reference1 to self
          set EnemyFinderRef1.reference1 to self
  ;       Message "Reported to Reference1",1
  ;         Message "Reported to Reference1",1
          set NotReported to 0
          set NotReported to 0
        elseif (EnemyFinderRef1.ref2full == 0)
        elseif (EnemyFinderRef1.ref2full == 0)
          set EnemyFinderRef1.ref2full to 1
          set EnemyFinderRef1.ref2full to 1
          set EnemyFinderRef1.reference2 to self
          set EnemyFinderRef1.reference2 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference2",1
  ;         Message "Reported to Reference2",1
        elseif (EnemyFinderRef1.ref3full == 0)
        elseif (EnemyFinderRef1.ref3full == 0)
          set EnemyFinderRef1.ref3full to 1
          set EnemyFinderRef1.ref3full to 1
          set EnemyFinderRef1.reference3 to self
          set EnemyFinderRef1.reference3 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference3",1
  ;         Message "Reported to Reference3",1
        elseif (EnemyFinderRef1.ref4full == 0)
        elseif (EnemyFinderRef1.ref4full == 0)
          set EnemyFinderRef1.ref4full to 1
          set EnemyFinderRef1.ref4full to 1
          set EnemyFinderRef1.reference4 to self
          set EnemyFinderRef1.reference4 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference4",1
  ;         Message "Reported to Reference4",1
        elseif (EnemyFinderRef1.ref5full == 0)
        elseif (EnemyFinderRef1.ref5full == 0)
          set EnemyFinderRef1.ref5full to 1
          set EnemyFinderRef1.ref5full to 1
          set EnemyFinderRef1.reference5 to self
          set EnemyFinderRef1.reference5 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference5",1
  ;         Message "Reported to Reference5",1
        elseif (EnemyFinderRef1.ref6full == 0)
        elseif (EnemyFinderRef1.ref6full == 0)
          set EnemyFinderRef1.ref6full to 1
          set EnemyFinderRef1.ref6full to 1
          set EnemyFinderRef1.reference6 to self
          set EnemyFinderRef1.reference6 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference6",1
  ;         Message "Reported to Reference6",1
        elseif (EnemyFinderRef1.ref7full == 0)
        elseif (EnemyFinderRef1.ref7full == 0)
          set EnemyFinderRef1.ref7full to 1
          set EnemyFinderRef1.ref7full to 1
          set EnemyFinderRef1.reference7 to self
          set EnemyFinderRef1.reference7 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference7",1
  ;         Message "Reported to Reference7",1
        elseif (EnemyFinderRef1.ref8full == 0)
        elseif (EnemyFinderRef1.ref8full == 0)
          set EnemyFinderRef1.ref8full to 1
          set EnemyFinderRef1.ref8full to 1
          set EnemyFinderRef1.reference8 to self
          set EnemyFinderRef1.reference8 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference8",1
  ;         Message "Reported to Reference8",1
        elseif (EnemyFinderRef1.ref9full == 0)
        elseif (EnemyFinderRef1.ref9full == 0)
          set EnemyFinderRef1.ref9full to 1
          set EnemyFinderRef1.ref9full to 1
          set EnemyFinderRef1.reference9 to self
          set EnemyFinderRef1.reference9 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference9",1
  ;         Message "Reported to Reference9",1
        elseif (EnemyFinderRef1.ref10full == 0)
        elseif (EnemyFinderRef1.ref10full == 0)
          set EnemyFinderRef1.ref10full to 1
          set EnemyFinderRef1.ref10full to 1
          set EnemyFinderRef1.reference10 to self
          set EnemyFinderRef1.reference10 to self
          set NotReported to 0
          set NotReported to 0
  ;       Message "Reported to Reference10",1
  ;         Message "Reported to Reference10",1
        endif
        endif
      endif
      endif
    endif
    endif
  endif
  End
  End
   
   
  Begin ScriptEffectFinish
  Begin ScriptEffectFinish
; if (NotReported == 1)
  if (NotReported == 1)
return
    return
; else
  else
;I have never seen the following code execute.
;It isn't necessary anyhow, but
;it was an attempt to directly return the reference
     MessageBox "Activating the EnemyFinder"
     MessageBox "Activating the EnemyFinder"
     EnemyFinderRef1.Activate self 1
     EnemyFinderRef1.Activate self 1
; endif
  endif
  End
  End


Anonymous user