home *** CD-ROM | disk | FTP | other *** search
- //////////////////
- main local.alias local.listener local.distance local.movecloser local.animated:
- if (self == NULL)
- {
- println "Z: null speaker: " self " " local.alias
- end
- }
- /*
- if (local.listener == NULL)
- {
- println "Z: null listener: " local.listener " " local.alias
- end
- }
- */
-
- if ( local.listener!=NULL )
- {
- if (local.distance == NIL || local.distance < 64)
- local.distance = 160
- if (local.movecloser != 1)
- {
- self.friendtype = -1
-
- while (((vector_length(local.listener.origin - self.origin)) > local.distance) || !(local.listener cansee self))
- {
-
- if ((vector_length(local.listener.origin - self.origin)) > local.distance)
- println "Z: speaker too far from listener: " local.listener
- if !(local.listener cansee self)
- println "Z: speaker cant see listener: " local.listener
-
- self exec global/runto.scr local.listener.origin
- wait .2
- }
- // self exec global/stand.scr
-
- self.friendtype = 1
- }
-
- self turnto local.listener
- self lookat local.listener
- }
-
- wait .3
- if (local.animated == 1)
- {
- self anim local.alias
- self waittill animdone
- }
- else
- {
- self say local.alias
- self waittill saydone
- }
- self turnto NULL
- self lookat NULL
- end